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

Donkey Kong ProDOS version - Done? Probably!



Phew!

http://1.buric.co/dkong8.dsk.gz

I'm prolly going to have to create a wedge like I did for Qix, because you can't load Donkey Kong from BASIC. (The SYSTEM file runs all the way up to $9FFF, so BASIC.SYSTEM, which is using some of that, will say NO BUFFERS AVAILABLE.) The SYSTEM file is smaller than the Qix one by a little over 4K, though. When that's done, I'll probably upload a second version, since it will work more reliably on certain corner cases than this one.

In the end I used the internal level order for filenames. (Remember: this uses American level order, which goes 1-4-1-3-4-1-2-3-4 etc., not Japanese order which makes the "pies" and "rivets" levels available from the beginning!)

Each level contains two files, DKx.LVL and DKX.OVL. The OVL file is the 4K file that loads from A700-B6FF, and the LVL file is the 8K file that loads from 2000-3FFF. The splash screen and menu screen also load from 2000-3FFF. There is no compression, though Ciderpress seems to have smartly used "sparse mode" for DK1.OVL.

The Pick-A-Dilly "dynamic patch" technique is used. The DK.SYSTEM contains a nearly complete memory dump of the non-RWTS portions of the code (2800-3FFF, which are 0800-1FFF when run, and 4000-9FFF, contain this unmodified driver code). At runtime, two functions are patched to point to new driver code which is loaded at B800 (B700 is kept blank for debug reasons). The load data is dumped directly from the disk. (The AUXTYPE is ignored.)

I think the delay before the menu screen is loaded might be longer than on the original (I didn't test, I just roughly approximated it using some of my own code). I also think the ProDOS 8 version might rely on a faster interleave than the original, since even though I use AppleWin with disk speed accelerated it feels faster.

There's about 20K left on this disk.

-uso.