[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Donkey Kong (I might actually get somewhere with this one)



On Tuesday, November 6, 2012 1:56:36 PM UTC-6, Steve Nickolas wrote:
> Well, looks like I made some headway with this one, though not enough yet.
> 
> 
> 
> I found 3 calls to RWTS by analyzing the code.
> 
> 
> 
> 1. 7C83, which appears to load the menu screen.
> 
> 2. 6C53, which appears to load level code (I haven't checked this yet).
> 
> 3. 6C08, which appears to load the level screen.
> 
> 
> 
> Everything seems to be loaded, I take it, track at a time, reverse order, 
> 
> and with the sectors backward.  For example, the title screen starts with 
> 
> $10/F and ticks down to $0F/0.  The levels are stored in the order 
> 
> 1-4-3-2, which makes sense, since the game itself runs the levels in that 
> 
> order (it *is* a US port, so it makes sense to use US level order).  Level 
> 
> 1 has 4K of stuff in track $11, followed by the level data ticking down 
> 
> from $13/F to $12/0.  The other levels follow this same arrangement.  I 
> 
> haven't figured out how it knows what to load, it may use self-modifying 
> 
> code.
> 
> 
> 
> For continuity:  While I used a different crack, I have verified that this 
> 
> track information is also true of the LoGo crack, so it should be possible 
> 
> to use that crack to extract the same data and other data.
> 
> 
> 
> Anyway, I've already started to drop the files, so 
> 
> http://1.buric.co/dkstuff.dsk.gz has what I've worked out.
> 
> 
> 
> (Note that I refer to levels in their original order, not the order they 
> 
> are in the game; anyone looking at this data will need to account for 
> 
> that.)
> 
> 
> 
> My intention is, if I cannot do a single-file port, I'd like to at least 
> 
> do a ProDOS-8 conversion.
> 
> 
> 
> -uso.

If you want, I can add a few additions to the "metacheat" feature of Jace to log all accesses to specified memory addresses -- this would let you track down these RWTS routines a little faster.  I've been looking for a good solid case for improving the debugging workflow.  If interested, describe your pie in the sky idea of how it could make you more productive and I'll see what I can do.

-B