Subject: Re: [stella] Pitfall! disassembly From: "Roger Williams" <mer02@xxxxxxxxxxxxx> Date: Thu, 11 Oct 2001 19:39:11 -0700 |
> Thomas, how do you do it? I mean, can you explain shortly the process of > disassembling such a complex game? I've never done much disassembly work, > but I feel that it could be more difficult than writing my own code. Well, Thomas didn't answer this, so I'll give you a little insight. This is a great job, incidentally, Thomas. Disassembly is much more difficult than writing your own code. The first steps are also the hardest. You must wade through a sea of unfamiliar and uncommented hex codes and potential instructions (since you don't know what's code and what's data at first) looking for a "Rosetta Stone." Fortunately the 2600 is chockablock full of potential Rosetta Stone material. You could look for references to the joystick ports, or the very universal snippets used for vertical sync which bracket a kernel. You can quickly figure out where bitmaps are, where sprites are being positioned, and so on. The way I approached this when I was young and had a lot of spare time was to make a large memory map of the application, as well as a listing of the raw disassembly. As I figured out what a code snippet or subroutine did I'd color it out on the memory map and comment it (in pen and ink) on the disassembly. Nowadays I'd probably still use the paper printout, but also flesh it out in a text editor as I'm going. Back when I did this kind of stuff, I didn't have disk drives... Reverse assembling the output of a Real Programmer (tm) Mel type 2600 programmer is undoubtably the hardest type of reverse assembly of all. Your source programmer may be relying on obscure properties of little-used instructions, behavior of flags, or other things you would take for granted in your own code. You may also not know whether cycle counts are critical until you count them. 4K or 16K doesn't sound like much but it's a great deal of information presented to human eyes 1 byte at a time. My hat is off to the people who have bothered to do this, and who have shared the results of their archaeology with us. --Roger Williams - Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] Pitfall! disassembly, Piero Cavina | Thread | [stella] Pitfall! disassembly, Joel Park |
Re: [stella] Newbie Question Images, Erik Mooney | Date | Re: [stella] Pitfall! disassembly, Thomas Jentzsch |
Month |