My 6502 Disassembly Project

Just so I’m no longer hijacking @zmetzing’s 6502 BASIC thread… :stuck_out_tongue: (I’m sure I’ll need that too someday!*)

To @Bill, @urbite, and @denzuko who have expressed interest, and anyone else who says they want in, I’ll probably start up a private BitBucket account if you all have the inclination to take a stab at decoding a few bytes’ worth of the machine code that lived on this device (there’s 10K total to go through!). Perhaps we could coordinate on exactly what lines we’ll try just to avoid duplicating work. The end goal is to get it into a state where someone who’s familiar with say C++ or Java could easily tell what’s going on at a high level, making sense of all the Boolean logic & jumps going on.

To your comment on Zach’s thread, Dwight: sorry today’s viruses are not as entertaining to disassemble as in the days of old. :wink: I think they’re all written by opportunistic teen & pre-teen punks who don’t care to put much creativity in them anymore, except for the ones that are sitting on the firmware of your hard drive that you’ll never notice (i.e. the super-scary ones).

I’ll post more here when new news develops.

P.S.* Actually this page details what would have been used originally, instead of 6502 BASIC: http://www.flipprojets.fr/Tgol_EN.php

3 Likes

Wow, I didn’t know that 6502s could render such photo-realistic swimsuit models!

1 Like

Yeah, I was gonna make a comment akin to “you might have to squint your eyes a tad to actually see the technology they talk about on that page” :stuck_out_tongue: They seem to adore their 3D-rendered swimsuit models throughout that whole site…

I’m in…

1 Like

nope those guys just download or buy copies with stolen credit cards from the original authors. whom of which spend their days google dorking howtos on botnets and “crackz” while only caring about stealing credit cards or hosting accounts to add into their botnet. So the whole lot of them have no creativity.

1 Like

Disassembling a project like this, it helps to have a schematic or even better an i/o map that shows which devices are mapped to which locations.

Knowing my luck, this would end up being me but the more the merrier :slight_smile:

In any case once you get the BitBucket setup and have a few images ready I’ll start the dissection and post up notes on a documentation branch then send a pull request.

Found a few resources that may help everyone on the project:

Or you can use a Fluke 9010A with the appropriate CPU pod to search the memory map from $0000 to $FFFF and let it discover the RAM and ROM ranges. It will list out the ranges when finished.

I have one in my shop. Once you have the memory map for RAM/ROM done you can spend your time on decoding the memory mapped I/O space.

1 Like

oh you mean like this http://www.visual6502.org/JSSim/expert.html or the Datasheet

1 Like

No, I was refering to a schematic and/or IO map for the specific circuit @mrcity firmware was run on.

Ok, the repo has been created:

https://bitbucket.org/6502monsters/gwasm/

Go ahead and sign up there for access, I suppose, and I’ll add you. A DIS6502 workspace has been saved, along with the disassembly work I’ve already done (which is being converted into Wiki form). There’s also a schematic of the MPU.

Looking forward to seeing you there!

3 Likes

My ID is BillGee


My user ID is urbite. @mrcity - do you have to grant access? Bitbucket says “You do not have access to this repository.”

Yes, I have to grant access. So far I have granted it to you & Bill.

So, you had to go and grant me access. Must…not…look…at…the bright reverse engineering light and get drawn in… :grinning:

1 Like

Here’s my bitbucket: https://bitbucket.org/dwightaspencer/

I have spent several days going down the rabbit hole of converting my SWTPC 6800 emulator into a 6502 simulator/debugger.

Soon, I will install the Atari disassembler you suggested, clone the repo and dive in…

2 Likes

I finally spent some time looking at it.

The next big step is learn how the RIOT chip works.

http://www.atarihq.com/danb/a2600.shtml might help

The 6532 RIOT chip data sheet and many other potentially useful documents can be found here

http://6502.org/documents/datasheets/mos/

1 Like