Sock Master's Donkey Kong Emulator for CoCo 3


Donkey Kong on the CoCo? Everyone knows the CoCo is too slow to emulate arcade games, right? We can't expect our little 1.79Mhz 8-bit computer from the 1980s to be able to emulate another 3Mhz 8-bit machine from the 1980s, could we? No, probably not.

But, could it be possible? Maybe... but not in the usual sense. Normally it requires one machine to be at least 5 times more powerful than the other to be able to emulate it. That means the CoCo might be capable of emulating something from the mid 1970s or earlier, but not a machine from the same era as the CoCo.

Fortunately, I have very high (sometimes unrealistic) expectations of the CoCo. Although traditional emulation may not be possible, we could bend the rules a bit in the CoCo's favor. If the Coco may not be fast enough to emulate Donkey Kong's 3Mhz Z80 CPU, it is fast enough to run the original game logic if it was translated into native 6809 operations. It may not have the same graphical or sound capabilities, but it has a lot more RAM and a very flexible CPU. We could stack things to take advantage of the CoCo's strengths.

Donkey Kongvs.CoCo 3
CPU3Mhz Z80 (.43 MIPS)1.79Mhz 6809 (.79 MIPS)
Resolution224 x 256 (vertical)256 x 225 (horizontal)
Display typeCharacter (tiled) screenBitmapped screen
Colors4 colors per tile or sprite, 64 palettes16 color palette
Color depth8 bits (256 colors)6 bits (64 colors)
Sprites96 16x16 spritesnone
Sound CPU.4Mhz I8035none
Sound hardwareDiscrete sound circuits + DACDAC
RAM5K512K

Things don't match up too well in that chart... But, I had figured that if I set out to emulate the hardware that the CoCo is capable of emulating and adapt the parts that the CoCo was not capable of emulating into native "work-alike" operations instead, it would probably be possible to get the classic arcade game running on the CoCo.

When I started on it, even I wasn't too sure if it would work in the end, but I wanted to give it a good try. My initial estimations were right on the line between possible and impossible - If nothing too unexpected popped up, it would probably turn out ok.

Luckily, things did work out. Check out the CoCo screenshots on the right! It's my hope that this effort may inspire other programmers to bring other arcade classics over to the CoCo too.


The Donkey Kong Emulator requires a 512K CoCo 3 with disk drive and joystick. Although it's not written to specifically take advantage of it, the program will kick a 6309 into native mode for improved performance on 6309 machines.
Nickolas Marentes wrote a nice loader that lets you set the game's dip switches and options. Once the game itself starts, use the right joystick to play. Press the joystick button once to insert a coin, press it again to start.

Donkey Kong girders level Donkey Kong rivets level Donkey Kong elevator level Donkey Kong conveyor belt level


Files to Download

DK.ZIPDownload .dsk image of Donkey Kong Emulator.
Requires 512K and joystick.


Links to other interesting stuff

Check out Donkey Kong at arcade history for some fun facts about the game.
Donkey Kong Megasite has more Donkey Kong information and screenshots too.
If you want to see how the CoCo 3 version compares with the other 8-bits, Press Play Then Any Key has tons of screenshots.


This page has been visited times since March 31st, 2007.
Click here to return to Sock Master's page.
I can be contacted by e-mail at the following address: sock@axess.com.