NightStalker Posted May 3, 2022 Share Posted May 3, 2022 On 6/22/2021 at 4:50 AM, Tempest said: Necro bump on this. Did anyone ever figure out what if anything was cut out of the 16K version? Was it just code optimization and bug fixes? The original 24k version of Donkey Kong was implemented primarily in Pascal (it's the only Coleco game that makes use of the Pascal entry points in Coleco BIOS ROM). The 16k version was reimplemented in pure Z80 assembly to reduce the code size and save on manufacturing costs. It's likely that any differences in the gameplay between the two versions weren't intentional but were just a byproduct of porting the game from Pascal to assembly. 1 Quote Link to comment Share on other sites More sharing options...
Tempest Posted May 3, 2022 Share Posted May 3, 2022 12 minutes ago, NightStalker said: The original 24k version of Donkey Kong was implemented primarily in Pascal (it's the only Coleco game that makes use of the Pascal entry points in Coleco BIOS ROM). The 16k version was reimplemented in pure Z80 assembly to reduce the code size and save on manufacturing costs. It's likely that any differences in the gameplay between the two versions weren't intentional but were just a byproduct of porting the game from Pascal to assembly. The Colecovision BIOS had Pascal entry points? So Pascal was used in some Colecovision development after all? I remember hearing those rumors that the startup delay was due to the Pascal emulator having to boot up but of course that's was proven false decades ago. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted May 3, 2022 Share Posted May 3, 2022 I've verified that Donkey Kong does indeed use the Pascal vectors using a forensic tool I wrote called find-pascal: https://github.com/tschak909/find-pascal This was then run on my ColecoVision ROM collection, and interestingly enough, Smurfs, Rescue from Gargamel's Castle also turns up with a bunch of hits. I can do further code analysis to verify this, but: thomc@TMA-2:~/Workspace/tnfs-backup/adam-apps.irata.online/tnfs/Games/ColecoVision$ find . -type f -exec find-pascal {} \; ./D/Donkey Kong (1982) (Coleco) [24K].rom: WRITE_REGISTERP REQUEST_SIGNALP TEST_SIGNALP WRITE_REGISTERP PLAY_ITP PLAY_ITP REQUEST_SIGNALP TEST_SIGNALP PLAY_ITP PLAY_ITP PLAY_ITP PLAY_ITP REQUEST_SIGNALP TEST_SIGNALP SOUND_INITP REQUEST_SIGNALP TEST_SIGNALP SOUND_INITP SOUND_INITP PUT_VRAMP INIT_WRITERP INIT_SPR_ORDERP WRITE_REGISTERP WRITE_REGISTERP INIT_TABLEP INIT_TABLEP INIT_TABLEP INIT_TABLEP INIT_TABLEP WRITE_REGISTERP WRITE_REGISTERP INIT_TIMERP WRITE_REGISTERP TEST_SIGNALP TEST_SIGNALP PUTOBJP TEST_SIGNALP REQUEST_SIGNALP PUTOBJP TEST_SIGNALP ACTIVATEP SOUND_INITP PLAY_ITP REQUEST_SIGNALP REQUEST_SIGNALP REQUEST_SIGNALP TEST_SIGNALP TEST_SIGNALP TEST_SIGNALP PUTOBJP PUTOBJP FREE_SIGNALP FREE_SIGNALP SOUND_INITP PLAY_ITP TEST_SIGNALP PLAY_ITP TEST_SIGNALP PUTOBJP ACTIVATEP REQUEST_SIGNALP REQUEST_SIGNALP REQUEST_SIGNALP REQUEST_SIGNALP REQUEST_SIGNALP PUTOBJP PLAY_ITP PUTOBJP PUTOBJP PLAY_ITP PUTOBJP REQUEST_SIGNALP REQUEST_SIGNALP PLAY_ITP PLAY_ITP PUTOBJP PUTOBJP PLAY_ITP PLAY_ITP PLAY_ITP ./Z/Zaxxon (1982) (Coleco).rom: WRITE_VRAMP ./S/Smurf Rescue in Gargamel's Castle (1982) (Coleco).rom: SOUND_INITP INIT_TIMERP REQUEST_SIGNALP REQUEST_SIGNALP SOUND_INITP PLAY_ITP PLAY_ITP REQUEST_SIGNALP TEST_SIGNALP TEST_SIGNALP SOUND_INITP WRITE_REGISTERP WRITE_REGISTERP INIT_TABLEP INIT_TABLEP INIT_TABLEP INIT_TABLEP INIT_TABLEP WRITE_REGISTERP INIT_TIMERP REQUEST_SIGNALP Zaxxon also has a hit on WRITE_VRAMP which may suggest that it was written in Pascal at one point and at least partially rewritten in asm. Studies of the OS7 ROM indicate that the Pascal entrypoints are literally compiler output from Pascal code for each of the given functions (They aren't just re-marshalling the parameters) https://archive.org/details/coleco-adam-technical-manual-eos6-os7/mode/2up There was indeed a Pascal compiler for the Z80 target on the HP 64000, http://hpmuseum.net/display_item.php?sw=515 so... Food for thought, -Thom 2 Quote Link to comment Share on other sites More sharing options...
Supergun Posted April 16, 2023 Share Posted April 16, 2023 On 2/14/2009 at 5:26 PM, Murph74 said: Well, I think I confirm a SuperDK Disk version does exist, as I had all three (DKJ, DK, and Zaxxon) on floppy converted from DDP by NIAD back in the day. Bumping this thread again as I was curious about the wording in the above post. The Super DK and Super DK Junior “cartridge versions” have been around for decades now, and I love playing them on my system. But this is the first time I’ve heard of a “Super Zaxxon cartridge version”. Does this really exist or am I misreading this guys wording? And if it does exist, where is the rom for it? I’d love to build my own cart of it. 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.