Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Donkey Kong ProDOS version - Done? Probably!

41 views
Skip to first unread message

Steve Nickolas

unread,
Nov 19, 2012, 3:35:51 AM11/19/12
to
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.

Steve Nickolas

unread,
Nov 19, 2012, 4:05:18 AM11/19/12
to
Update:

The current image should contain the file "DONKEY.KONG", of type "BIN".

This file is only needed when running from a launcher with which large SYS
files are not directly loadable.

I used an older ProDOS kernel to make up the space taken by the wedge.

-uso.

Steve Nickolas

unread,
Nov 19, 2012, 8:40:01 AM11/19/12
to
Another update:

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

This version has some further adjustments. By modifying the decruncher
from SCRUNCH (found on Alpha Plot) I made it use the same memory area that
the game uses for its level data (which is reloaded every level), plus 18
bytes used by the menu which step on B700-B711 (fortunately, this page
isn't used for anything important anymore and just gets walked on
periodically).

The old version, using the 30-block ProDOS 1.1 kernel, has 40 blocks free.
The new version, using the 32-block ProDOS 1.8 kernel, has 93 blocks free.
That means the new code takes 55 fewer blocks than the old code (after
compensating for the larger kernel file)...27.5K smaller disk footprint.

All the following files were originally 8192 bytes:

Splash - 3826 (9 blocks/8 saved)
Menu - 4114 (10 blocks/7 saved)
Level 1 - 2526 (6 blocks/11 saved)
Level 2 - 2838 (7 blocks/10 saved)
Level 3 - 3202 (8 blocks/9 saved)
Level 4 - 2864 (7 blocks/10 saved)

-uso.
0 new messages