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.