vdub_bobby Posted February 10, 2005 Share Posted February 10, 2005 As far as I can tell, Distella won't disassemble 8k (or larger) 2600 games. Is that correct? If so, is there something else that will disassemble them? Quote Link to comment Share on other sites More sharing options...
Tom Posted February 10, 2005 Share Posted February 10, 2005 you can split up > 4k rom images into 4k images and disassemble these using distella. if you're running a unix system, you should have dd installed, which is perfect for splitting up files. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 10, 2005 Share Posted February 10, 2005 Yeah...Distella The problem is in bankswitching. It confuses the disassembler. So the binary rom must be split into 4k pieces (using a file splitter like HJsplit), and each part disassembled seperately. But then the automatic code detection won't work, so each newly-disassembled half must be opened up and studied in order to create .cfg files (sample below) that will help the disassembly process (so you can feed Distella the proper base address of that portion and list where code starts/ends). This is instructed by using -c in the command line...as in: distella -pafscmspac1.cfg mspacman.001 > mspac1.asm distella -pafscmspac2.cfg mspacman.002 > mspac2.asm Once disassembled, the 2 halves can be pasted together into 1 assmembly by using the ORG/RORG combo... ORG $1000 RORG $D000 ...for the start of the first section, and... ORG $2000 RORG $F000 ...for the start of the second. mspaccfg.zip Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 10, 2005 Author Share Posted February 10, 2005 Thanks, folks, for the help. Once disassembled, the 2 halves can be pasted together into 1 assmembly by using the ORG/RORG combo... ORG $1000 RORG $D000 ...for the start of the first section, and... ORG $2000 RORG $F000 ...for the start of the second. Speaking of bank-switching...has anyone ever written a little tutorial on bank switching? I have tried searching the Stella archives a couple of times, but couldn't find much. I think someone somewhere (T Jentzsch?) referred someone who was asking about bank-switching to A Davie's released source of Fu Kung (http://www.biglist.com/lists/stella/archives/200301/msg00466.html). So I had a look, and it looks something like this: SEG ORG $2000 RORG $f000 include "bank03.asm" SEG ORG $2800 RORG $f000 include "bank04.asm" SEG ORG $3000 RORG $f000 include "bank05.asm" Everything is RORGed to $F000...but in your example, you RORGed to $D000...? If I can't find a tutorial or a FAQ or a howto I'll eventually just jump in and figure it out through trial and error, but it would be nice to have a guide Does one exist? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 10, 2005 Share Posted February 10, 2005 The 2600 only uses 13 bits for it's address line...so to the bus, $D000 "looks" the same as $F000 (so do $B000, $9000, etc.). That 13th bit is always set. The only reason that they are different is because that is the addresses that were originally used when it was assembled (take a look at the vectors and JMP/JSR instructions in the code). Use the wrong base address when disassembling, and the tagging will fail. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 10, 2005 Share Posted February 10, 2005 BTW my post applies to "standard" F8 and F6 bankswitching only (a full 4k swap in 8k and 16k roms)...I never dabbled in other types Quote Link to comment Share on other sites More sharing options...
Aaron Posted February 11, 2005 Share Posted February 11, 2005 Speaking of bank-switching...has anyone ever written a little tutorial on bank switching? I have tried searching the Stella archives a couple of times, but couldn't find much. ... Does one exist? I wouldn't really call it a tutorial, but if you haven't already read it, http://www.qotile.net/minidig/docs/sizes.txt explains things pretty nicely. It doesn't tell how to set up the org/rorg stuff in DASM, but Nukey has outlined that well enough... Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 11, 2005 Share Posted February 11, 2005 The ORGs and RORGs must differ, otherwise Dasm would assume that an additional 4k of space (or more, depending on what the base addresses are) exists between the banks. So the ORGs just specify that the banks are only 4k apart (opposed to 8k in that example). I gather that Arcadia bankswitching, for example would be divided into 3 portions...2k running from $x000 to $x7FF and two 2k sections running from $x800 to $xFFF. The first 2k is always present, with 2 additional 2k sections that are swapped. So that when merging the two assemblies, ORG $1000 RORG $x000 ORG $1800 RORG $x800 ORG $2000 RORG $x800 ...would be used (where x=the hex digit used in the vectors)? Quote Link to comment Share on other sites More sharing options...
Paul Slocum Posted February 11, 2005 Share Posted February 11, 2005 http://www.qotile.net/minidig/docs/2600_ad..._prog_guide.txt Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 11, 2005 Share Posted February 11, 2005 http://www.qotile.net/minidig/docs/2600_advanced_prog_guide.txt BTW: Thomas Jentzsch Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 11, 2005 Share Posted February 11, 2005 Lilloman! Nobody gets it right! "Little old man...little old man..." Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 11, 2005 Author Share Posted February 11, 2005 http://www.qotile.net/minidig/docs/2600_advanced_prog_guide.txt Just glanced at that...and that looks yummy! Thanks. Don't know how I missed that, though; I've been looking through the minidig a whole bunch lately. Quote Link to comment Share on other sites More sharing options...
Zach Posted February 11, 2005 Share Posted February 11, 2005 Here's how I remember how to spell Thomas' last name: "Never Take Zinc Sulfate 'Cause (it) Hurts." Quote Link to comment Share on other sites More sharing options...
Cybergoth Posted February 11, 2005 Share Posted February 11, 2005 Hi there! Which game are we actually talking about? You know, chances are good that you're probably just wasting your time on a job that has already been done Greetings, Manuel Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 11, 2005 Author Share Posted February 11, 2005 Hi there! Which game are we actually talking about? You know, chances are good that you're probably just wasting your time on a job that has already been done Greetings, Manuel Well, I was thinking of having a look at the Elevator Action prototype. Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 23, 2005 Author Share Posted February 23, 2005 Hi there! Which game are we actually talking about? You know, chances are good that you're probably just wasting your time on a job that has already been done Greetings, Manuel Well, I was thinking of having a look at the Elevator Action prototype. So, before I dive in too deep, has someone done this already? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 23, 2005 Share Posted February 23, 2005 Looks like Glen Saunders and Ben Larson were looking at (at least part of) the code. Perhaps one of them has a rough copy? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 23, 2005 Share Posted February 23, 2005 If neither of them do...here's something to get you started (all vectors still must be located and labelled): ea.zip Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 23, 2005 Author Share Posted February 23, 2005 If neither of them do...here's something to get you started (all vectors still must be located and labelled): Thank you! Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 23, 2005 Share Posted February 23, 2005 Here is mine (from my NTSC hack), probably not much difference to Nukey's, except for the colors located. ewok.zip Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 24, 2005 Share Posted February 24, 2005 OK...I'm confused Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 24, 2005 Author Share Posted February 24, 2005 OK...I'm confused Yeah, me too...? Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 24, 2005 Share Posted February 24, 2005 Why? Quote Link to comment Share on other sites More sharing options...
vdub_bobby Posted February 24, 2005 Author Share Posted February 24, 2005 Why? Sorry; should have been more clear. First, is that source you posted the source for Elevator Action? Comparing yours to Nukey's, they don't look the same (not the same at locations $F000 or $D000 for starters...). Also, can the source you posted be compiled and run? It compiled right, but won't run in z26 or stella...does it need special parameters? A Ewoks Adventure game sounds like fun! Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted February 24, 2005 Share Posted February 24, 2005 Maybe it's Ewok Action? In that case, I don't think I want to see Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.