David Haywood's Homepage
MAME work and other stuff
June 2, 2015 Haze Categories: General News. 39 Comments on What To Do In One Six Two (Part 2)

Important Introductory note

As well as the very simple to use Console based systems the new MAME also emulates a number of home computers.

Before you start there is one very, very important thing to keep in mind when running a computer in MAME, the default state of emulation is to give the entire keyboard on the system to the emulated machine, meaning that none of the usual MAME keypresses will activate MAME functions, this even means that in this state ESC no longer exits MAME, F3 doesn’t reset the system, P won’t pause/unpause etc.

By default there is one key assigned to toggle this mode on and off and that key is SCRLOCK (Scroll Lock) However some laptops and other modern keyboards (including my wireless Logitech) don’t have this key, so you’ll need to assign something else.

If you’re in that situation then (assuming you have MAME already setup, including ROM paths etc.) you should launch MAME with no parameters and use the internal menu to do the following:
Scroll down to “Configure General Inputs” select “User Interface” select “UI Toggle” (it’s about 70% down the list) and assign a new key to it, one that is out the way and unlikely to be used by the emulated systems, personally I picked ‘END’

I will refer to this key as ‘UI TOGGLE’ for the rest of this document, please be aware that if the UI is in ‘active’ state and you press ESC then you WILL exit the emulation so it’s important to remember to toggle it back off after each time you need to use the UI.

King of Kong – Arcades

In the previous part of the article I looked at how the integration of MESS made it easier to explore the different platforms to which a game was officially ported, this time I’m going to look a bit at how you can see the influence of a game, including both official and unofficial ports.

Even with just the Arcade side of things Donkey Kong is a game with an undeniably huge influence. In MAME, for a long time, there have been a number of takes on Donkey Kong, the arcade original looked like this:

Donkey Kong Donkey Kong

Even in the arcades there were a number of games that ripped off Donkey Kong. Crazy Kong is probably the best known variant of Donkey Kong and has a fair bit of history, and mystery behind it. While very similar in appearance it’s actually a very different piece of code to the original game. The Brazilian ‘Kong’ falls into the same category, it uses the Donkey Kong graphics, but the codebase is entirely different, resulting in a very stiff game with some redesigned levels; don’t be fooled by how similar it looks, there’s not a shred of the original Donkey Kong code in it!

Crazy Kong Crazy Kong
Kong Kong

The influence extended beyond games that were basically just creative bootlegs of Donkey Kong too, the CVS system game ‘Logger’ for example directly took the Donkey Kong concept but gave it a woodcutter theme.

Logger Logger

Even years later the game, and it’s sequels ended up being copied, one example is the ‘Tong Boy’ game within YunSung’s ‘New Multi Game’

New Multi Game - Tong Boy New Multi Game - Tong Boy

Let’s not also forget the unofficial sequel ‘Jump Man Returns’ which was made much more recently (2006) and plays out the idea of a sequel running on a modified version of the original game engine using the original hardware; quite a few PCBs actually ended up being converted to run it! Even more recently there were mods like the ‘Pauline edition’ where you play as the Heroine instead of Mario, although that one hasn’t yet made it to MAME (I’m hoping with the addition of the MESS stuff, and the more open / relaxed attitude towards after market developments it will)

Donkey Kong 2 : Jumpman Returns Donkey Kong 2 : Jumpman Returns

Beyond that there were numerous games that were clearly influenced by the game mechanics of Donkey Kong without actually being the exact same idea as Donkey Kong, there’s little point in me covering all of them, but needless to say it was a very influential game.

King of Kong – At Home

So that’s all things that were available in MAME already, so you’re probably asking ‘where does the newly added MESS component come in?’

Donkey Kong is a much earlier game than the previous covered Raiden, so the systems it was ported to were quite different, this was the 80s when home computers were commonplace.

The first port of Donkey Kong I’m going to look at is one of the most recent additions to the emulator, added in 0.161 it’s the Coleco Handheld which looked something like this

Coleco Donkey Kong Handheld Coleco Donkey Kong Handheld

A little background information is possible required here. This was 1982. While today you have machines in your pocket that are often more powerful than the PC sitting on your desk, in 1982 we didn’t, even the original GameBoy was not released until 1989, and the only real handhelds with a video display to speak of were things like the Microvision with a 16×16 pixel display.

In order to make something with reasonable art a different approach was taken, instead of trying to make up a screen of pixels VFD based displays were used, this allowed the manufacturers to use actual art to make up the game graphics by turning on / off various playfield elements. You can see one of the actual units here . Obviously this technique means animation is non-existent and what could be done with the games was strictly limited, but the Donkey Kong handheld made a brave attempt at simulating both the barrel and rivet levels and has been quite fondly remembered.

I’ve uploaded a YouTube video of this below to better demonstrate it. To run this in MAME you use ‘mame cdkong’ be sure to have the ARTWORK FILE in your artwork folder too because it’s not really playable otherwise.

Content not available.
Please allow cookies by clicking Accept on the banner

If you didn’t read the important note at the top of the article now is a good time to read it because we’re going to look at some of the home computer versions of Donkey Kong, there were many of them, I can’t possibly cover them all, but to help people understand the functionality it’s worth looking at a couple.

One of the most critically acclaimed ports of Donkey Kong was the one to the Amstrad CPC, and I’m not surprised, for a system that received, for the most part, shoddy reworkings of Spectrum ports that were unflappably slow this is an absolute gem.

Now, for some reason running the cassette version of the game in the base Amstrad CPC464 driver results in raster timing glitches, I’m not sure why, it just does, I guess it might be because the CPC has the disk rom hooked up by default when really it should only be available if you plug the expansion in, but then I’ve noticed it works fine on some of the other models with a disk drive.

Either way, there is an Amstrad clone, the KC Compact, and we’ll be using that for our first example.

Launch MAME with ‘mame kccomp -cass1 dkong” this will launch MAME with the KC Compact drive running, and the Donkey Kong cassette (from the Software List) inserted into the cassette deck. Without loading the game however it will just sit there.

To get us moving type
and press enter, this will prompt you press PLAY then any key. The order you do this doesn’t matter here, so hit a key.

In order to start the tape playing you must enable the MAME interface keys, this is where the text at the top is important. Hit ‘UI Toggle’ (SCRLOCK by default) to enable the MAME keys.
Press F2, this is the keyboard shortcut to start a tape. A timer (3 minutes 36 seconds) appears in the top corner and the game begins to load. Hit the ‘UI Toggle’ key once more to disable the MAME keys again and hand the keyboard back over to the emulated system.

Wait. Eventually the game will load.

Donkey Kong CPC Donkey Kong CPC
Donkey Kong CPC Donkey Kong CPC

The graphics are fairly low resolution, but the look and feel of the game is spot on. Remember, if you want to exit the emulator hit the ‘UI Toggle’ key (SCRLOCK) before pressing ESC.

So far everything that has been covered in this articles has been loaded from the Software Lists. For ROM based games that is absolutely the correct way to go about things as the Software Lists often contain information about what was inside the cartridges, so some features like backup RAM might not end up being emulated properly if the Software Lists aren’t used, however for software that was on Cassette, Disk, or even CD Rom it is useful to know that unlisted software can also be loaded.

For the next example I’m going to look at one of the other 8-bit systems, the Sinclair ZX Spectrum.

Donkey Kong isn’t in the ZX Spectrum Software List (yet) so head over to the World of Spectrum and grab a loose copy. DonkeyKong.tzx.zip should do the trick, unzip it into your MAME folder so you have DonkeyKong.tzx sitting in the same location as your MAME.exe.

Launch MAME with ‘mame spectrum -cass1 “Donkey Kong.tzx”

this causes MAME to launch with the loose cassette image of Donkey Kong mounted in the cassette deck.

Now unlike the Amstrad, the Spectrum can be a bit of a pain when trying to load something because the build in BASIC uses a Macro system, meaning instead of typing words you must press keys that correspond to keywords. Luckily for loading a game you only have to know how to enter the command LOAD “”, which is ‘J’ (for load) then ‘Shift+P’ twice, for the “” part. After typing that, hit enter. The later Spectrum models have other easier ways of loading games, but not all software is compatible.

The procedure to start the tape is exactly the same as the CPC, hit the ‘UI Toggle’ (SCRLOCK), hit F2, tape starts playing, hit ‘UI Toggle’ again.

Spectrum Donkey Kong Spectrum Donkey Kong
Spectrum Donkey Kong Spectrum Donkey Kong

Not the best version of Donkey Kong, you can tell it’s meant to be Donkey Kong from the basic level structure but the graphics are dull and flickery and the controls / movement doesn’t really feel correct either.

With some of the systems now supported you’ll need to configure slots before launching the driver (unfortunately MAME still doesn’t support changing many of these at runtime which causes a problem with some games) To play the Commodore 64 (c64) version of Donkey Kong for example you’ll have to tell MAME that you want a C64 joystick inserted into one of the control ports. The launch syntax to do this is

“mame64 c64 -cart1 dkong -joy1 joy”

The Donkey Kong game in question is loaded from a cartridge, so the actual loading part is easy (loading a C64 game from Tape / Disk requires more effort) but without the -joy1 joy part, telling MAME that you want a joystick inserted into the first Joystick port it is impossible to control. With that added the game boots, can be started, and plays a reasonably good game of Donkey Kong.

C64 Donkey Kong C64 Donkey Kong
C64 Donkey Kong C64 Donkey Kong

One issue that was touched upon with the mention of the Spectrum is how some systems can be rather difficult to operate simply because the original keyboard layouts were so different to PC layout we have today. While the Macro based inputs of the Spectrum couldn’t really be made any easier there are cases where MAME can assist a little, by attempting to remap keypresses transparently. The option to enable this is ‘-natural’

A good example of where this is useful is the MSX. By default the ” symbol is very difficult to find when running the MSX driver (in all honesty I don’t know where it maps) but if using the ‘-natural’ option it maps to the same place it does on a PC keyboard, Shift + 2.

Let’s launch the MSX driver with that option for an example. MAME doesn’t have a generic MSX driver as the MSX was just a rough specification for a machine rather than an actual machine. One machine based on that specification is the Canon V-20E (canonv20). The following commandline is used to launch “mame canonv20 -cass1 dkong -natural”

This starts up the MSX driver with the Donkey Kong cassette in the cassette desk.

To start the tape loading you must type
In the case of the MSX driver the tape then automatically plays.

For the game in this driver I’ve found that once the game has loaded you must select ‘4’ (Joystick) in order for the controls to work well, I’m not sure if this is a conflict with the ‘-natural’ option or something else.

MSX Donkey Kong MSX Donkey Kong
MSX Donkey Kong MSX Donkey Kong

It’s an Ocean Software port, so very similar to the Spectrum version but with more colours, less flicker and generally improvements all round.

If you’re feeling lazy and pick an MSX model with a floppy drive then there’s actually a version of Donkey Kong available on Floppy Disk too.
The Expert DDPlus (Brazil) is one such MSX model, so using the launch syntax “mame expertdp -flop1 dkong” will load the floppy version from the Software List, exact same game tho.

MSX Floppy Donkey Kong MSX Floppy Donkey Kong

One thing I mentioned is influence, and an influential game leads to people still giving it care and attention many years later. Back in 2007 ‘Sock Master’ decided to do a port of the Arcade version of Donkey Kong to the CoCo 3 computer, with the goal of creating something as close to the arcade experience as possible.

In the end he succeeded in creating this port, although admitted that it performed better on a modified machine, one with the CPU upgraded. MESS was generally open to supporting unofficial modified hardware configurations (as long as they actually existed) so has a machine with precisely the recommended upgrades available by default. MESS was also open to some ‘homebrew’ software being documented, so this port made it’s way into the Software Lists.

To launch we use the simple syntax
“mame coco3h dkong”

Before going anywhere else it’s wise to hit the ‘UI Toggle’ key (SCRLOCK) bring up the TAB menu, scroll down to Analog Controls, and adjust the AD stick X and Y Digital Speeds and Auto Center speeds up to 50, why? because the system used Analog Joysticks, and the default mapping of ’10’ for the speeds makes the game very sticky. With the settings adjusted close the TAB menu (press TAB again) and hit the ‘UI Toggle’ key once again to give the system full keyboard access.

The game is on a floppy disk, to see the content of the floppy disk type DIR and press return. You can see see several files listed, the one with the .BAS extension (BASIC) is the game loader and the one we’re interested in, it’s called DONKEY.BAS. To run it just type
and hit enter

once the game has loaded you’ll want to hit ‘P’ to change the Palette Type to CMP (Composite) or the colours will be ugly ingame. By default the controls map to the numpad, NUMPAD0 is credit/start, and the 8/4/6/2 directions move your character.

CoCo3 Donkey Kong CoCo3 Donkey Kong
CoCo3 Donkey Kong CoCo3 Donkey Kong

Sound is a bit crackly (possibly our emulation, or a filter on hardware makes it sound better) and the game skips a few frames (the original machine isn’t quite powerful enough) but it’s a very solid effort and looks+plays great due to being a direct translation of the original arcade code.

Some ports are really easy to get going, the Apple II port for example
“mame apple2p dkong”

With that, the game auto loads and can be played using the Numpad, not a great port, but still recognizable as Donkey Kong.

Apple 2 Donkey Kong Apple 2 Donkey Kong
Apple 2 Donkey Kong Apple 2 Donkey Kong

So far all the versions that need to be loaded via BASIC have been fairly straight forward, and have auto-ran after the initial load sequence. That isn’t always the case however, some need a little more attention, and a little more knowledge of exactly what’s on the tape you’re trying to run. Another thing that you get with certain systems is the ability to configure different RAM sizes as many of these computers came in different models with different amounts of RAM depending on how much you were willing to pay, or modify your machine.

One example that ends up incorporating both of these elements is the Colour Genie EG2000. There was an unofficial port of Donkey Kong to the machine known as “Colour Kong” It was available in 2 versions, a 16K version and a 32K version, we’re going to look at the 32K version.

The launch syntax we will be using is “mame cgenie -cass1 colkong32 -ramsize 32K” The -ramsize 32K option configures the machine as a 32K machine, it’s 16 by default, the valid options here are defined in the driver.

The built in BASIC for the machine is incredibly unintuitive. The first thing I’d recommend is hitting the ‘UI Toggle’ key (SCRLOCK) to enable the MAME controls, we’ll need them in a bit to start the tape.

Upon booting you get a MEM SIZE prompt from the machine, just hit enter, at that point it will say COLOUR BASIC and READY.

The first command you need to enter into the emulated machine is
entering this, and pressing return gives you a *? prompt
This prompt is expecting you to enter a filename, to operate this system it appears you actually have to know the name of the file on the cassette, which is inconvenient to say the least. In this instance the filename is KONG32, so type KONG32 and hit return.
The system won’t prompt you to press play on the tape, but that’s exactly what it wants you to do right now, so hit F2 to start playing the tape. It takes about a minute and a half to load the game, during that time you’ll see some * symbols in the corner. After loading it returns you to the *? prompt

Again at this point it isn’t obvious what you must do, the game doesn’t auto-start (some games on the system do, but this isn’t one of them) to boot the game you must type a / symbol and press enter.

‘S’ starts the game, arrow keys move, Z is jump. It’s an unofficial port to an obscure system, and the barrel level is really tricky, but it does look like all the levels are implemented!

Colour Genie - Colour Kong Colour Genie - Colour Kong
Colour Genie - Colour Kong Colour Genie - Colour Kong
Colour Genie - Colour Kong Colour Genie - Colour Kong

Another unofficial one I’ve since been made aware of in the comments below is the BBC Micro game ‘Killer Gorilla’ The BBC was another popular UK system, so it doesn’t surprise me to see somebody wrote a DK clone for it.

Launch the emulation with “mame bbcb -cass killergo”

I don’t recommending using the -natural option here because it does interfere with the keyboard controls of the game, so when typing the following commands into the emulation you’ll have to be careful because the keymapping isn’t entirely obvious.

To load the game you must type
pressing return after each line. The tape will auto play and the game will load.

As I mentioned the key mapping isn’t obvious but on my keyboard the * symbol maps to the @ key, just up and left from the right shift key, this is also one of the game controls (climb up ladder)

BBC Micro Killer Gorilla BBC Micro Killer Gorilla
BBC Micro Killer Gorilla BBC Micro Killer Gorilla
BBC Micro Killer Gorilla BBC Micro Killer Gorilla

Nintendo released versions of Donkey Kong on their own platforms too, one many people encountered is the NES version, it’s a decent port of the game. “mame nes dkong”

NES Donkey Kong NES Donkey Kong

That’s an easy one out of the way, now let’s look at something a bit more complex again.

For some systems you have to attach additional hardware before slots become available. One such system is the Famicom, aka the Japanese version of the NES. The Famicom had a ‘Disk System’ addon which allowed for games to be distributed on Floppy Disk. To use the Disk System add-on, and thus play games on Floppy you had to first plug it into your main system. In MAME you have to do the same.

There are two ways of doing things from here, option 1 is that we launch the Famicom with
“mame famicom -cart1 disksys”
this boots to the disk system bios.
from there you can press TAB to bring up the MAME tab menu, scroll down to ‘File Manager’, select it, scroll down to ‘floppydisk (flop)’, select it, scroll up to ‘[software list]’ select it, then ‘Nintendo Famicom Disk Images’, select that, then just type dkong to scroll the list to Donkey Kong and hit return. Assuming you have the ROMs available and where MAME can find them that will work. While for the purpose of this example I’m just loading Donkey Kong, which is identical to the NES version, there are a number of unique titles for the Disk System too.

The other way to do the same thing (without having to navigate all the menus) is to simply launch with
“mame famicom -cart1 disksys -flop1 dkong”
however navigating the menus is good practice for some more complex cases you might encounter later, where you have to change disks at runtime.

Famicom Disk System Donkey Kong Famicom Disk System Donkey Kong
Famicom Disk System Donkey Kong Famicom Disk System Donkey Kong

The majority of the rest of the Donkey Kong versions I managed to launch were easy cases, there are 3 of them for Atari Systems

The Atari 2600 had a very basic looking version of the game, with minimal presentation

“mame a2600 dkong”

Atari 2600 Donkey Kong Atari 2600 Donkey Kong

There was an Atari 800 version..

“mame a800 dkong”

Atari 800 Donkey Kong Atari 800 Donkey Kong
Atari 2600 Donkey Kong Atari 800 Donkey Kong

and an Atari 7800 version

“mame a7800 dkong”

Atari 7800 Donkey Kong Atari 7800 Donkey Kong

The interesting thing with the Atari 7800 version is that back in 2012 a new version was released to make use of the XM expansion card for the A7800, this expansion card added High Score Save support as well as additional sound chips. The original A7800 version of Donkey Kong has rather awful sound, so ‘TEP392’ decided to reprogram the game, improving it in significant ways. He released demo versions of this to the public to show off the improvements. The Demo version is softlisted, and our emulation does support the XM unit, unfortunately support seems to have broken at some point causing the Pokey to output static instead of the new music meaning I can’t really add that one to the ‘Things to try’ list for now.


It would appear that the Software Listed version of the XM Enhanced Donkey Kong does NOT work, however the one that is listed as MESS compatible (dkxm_demo_v12_ntsc.a78) does – for some reason none of the files on that page are recognized, I guess they’ve been updated since it was originally added to the list. The version that is listed as for the real hardware works the same as the one in MAME, ie the Pokey doesn’t work, according to etabeta it did work at one point(?) but I don’t know.

Either way, with that loose file you can launch the enhanced version.

“mame a7800 -cart1 xm -cart2 dkxm_demo_v12_ntsc.a78”

Donkey Kong Enhanced XM A7800 Donkey Kong Enhanced XM A7800
Donkey Kong Enhanced XM A7800 Donkey Kong Enhanced XM A7800

If you set the Level order to Japan and start level to 2/3 then you get to see the newly added Pie Factory level too, something which was absent from the original A7800 release.

The Gameboy got a port of Donkey Kong too, however it’s not really faithful to the original game logic, you can do some back-flip type jump instead of using the ladders at times!
“mame gbcolor dkong”

Donkey Kong Gameboy Donkey Kong Gameboy
Donkey Kong Gameboy Donkey Kong Gameboy

The Gameboy version was also special in another way, it was one of a handful of Gameboy games to have ‘Super Gameboy’ support. The Super Gameboy was an underutilized expansion device for the SNES which allowed Gameboy games to be played on the big screen with extra content (typically more colours, and a bezel) Most SNES add-ons are supported in MAME via the slot device system, however the Super Gameboy hasn’t been fully converted yet and is treated as a standalone system. For the purpose of running Donkey Kong this is good enough.
“mame supergb dkong”

Super Gameboy Donkey Kong Super Gameboy Donkey Kong
Super Gameboy Donkey Kong Super Gameboy Donkey Kong

The Intellivison got a basic, slow and ugly port of the game, remember to use the numpad to select difficulty etc. or it looks broken.
“mame intv dkong”

Intellivision Donkey Kong AIntellivision Donkey Kong

The Colecovision port plays well, but has minimal presentation

Intellivision Donkey Kong Intellivision Donkey Kong
Intellivision Donkey Kong Intellivision Donkey Kong

There was also a TI99-4a port
“mame ti99_4a donkeykg” (really this should be renamed to dkong to be consistent with the rest)
This one also plays a good game.

TI99-4A Donkey Kong TI99-4A Donkey Kong
TI99-4A Donkey Kong TI99-4A Donkey Kong

Venturing well into obscure territory is a port that was done for the BeLogic Uzebox. The Uzebox driver is marked as NOT Working in MAME, and lacks sound, but the actual gameplay of the Donkey Kong port runs fine, it’s not a great port, and the emulation does struggle to maintain 100% even on my 4Ghz i7, but it’s an interesting one because it shows how we’re interested in emulating these ‘Open Source’ games consoles and the homebrew software developed for them.
“mame uzebox dkong”

Uzebox Donkey Kong Uzebox Donkey Kong
Uzebox Donkey Kong Uzebox Donkey Kong

Not All Working

That concludes all the versions of Donkey Kong I could get working, there were a couple of others I couldn’t, the Vic20 version for example hangs on the title.

VIc20 Donkey Kong

The GBA version which is a ‘NES Classics’ release doesn’t work because those have some kind of anti-emulator protection on them that our ARM core fails, the IBM PC version is out of the scope of this article to run (if I do a Part 3 I might cover it) and a number of the other cases where there is a Donkey Kong port the drivers are just skeleton drivers or don’t seem to have the tape / floppy hooked up to a point where it can be loaded. There are one or two others that are just direct ports of existing versions too. There are a couple more fan remakes that aren’t in the Softlists yet that I haven’t covered, and countless commercial rip-offs that wanted a chunk of the action from back in the day, but I feel I’ve covered enough here to demonstrate the features of the emulator I wanted to demonstrate. One significant thing I haven’t covered here at all are the Donkey Kong licensed Fruit Machines, those were rather interesting too, but as our drivers in MAME don’t yet work there’s nothing to show yet.

Wrapping Up

It should be noted that for a lot of the systems covered here MAME isn’t the absolute best emulator available, however, it’s certainly good enough for many use cases, as hopefully all these different versions of Donkey Kong running demonstrate. Knowing which machine to use, or how to configure the machine you want to use can be a challenge, and in some cases you’ll need to do a bit of research (I had to myself here for loading an MSX game from cassette) but don’t let that put you off, plenty really are just as easy to use as any arcade game.

What’s interesting with Donkey Kong is that while it was ported extensively outside of Japan there don’t seem to be that many cases where it was released on home systems in Japan, this contrasts greatly with the output of Namco where their most popular games were ported to a wide range of Japanese systems. Covering some of the Japanese systems is definitely an area I should consider for a follow-up article too because the obscure Japanese systems have some good ports and in many cases are an area in which the MESS code we’ve imported really excels.

I hope some of the things covered in this little write-up have been useful and again help show exactly what new abilities having the MESS code integrated has opened up to people. I think it’s fair to say that MAME is now the King of Kong, you can trace the game right from it’s arcade origins down to the best and worst of ports

*If* I do a Part 3 it will likely cover some even more advanced use cases for the emulator, such as using the PC emulation where you need to install the operating system first. I was going to do that using Raiden as an example (like Part 1), but have since discovered it suffers from an emulation glitch meaning I need to rethink my plan there.


You can follow any responses to this entry through the RSS 2.0 feed.

Worth mentioning as well that the Game Boy version has extra features specific to the Super Game Boy, so if you run it with ‘mame supergb dkong’ you’ll get the border graphic and proper colours.

added, thanks

Two further notes:
1. concerning partial keyboard emulation / full keyboard emulation, user can also exploit the “ui_active” option at command line to start emulation with UI active so to be able to re-map the UI Toggle input
2. concerning Famicom with Disk System add-on, even if I prefer that users learn that Japanese kids had to insert separately the RAM expansion in the cart slot and the Disk add-on into it, they could launch the disk game with a simpler syntax if the use the famitwin driver (Sharp console containing Disk System as PCB add-on) or the fds driver (user friendly driver with hardcoded floppy drive)

What about the issue with the sounds on the Atari XM expansion? It definitely worked when I first put it in the softlist. That was prior to the XM stuff needing to be added before the cartridge, now the Pokey makes garbage sounds.

The shortcut famicom sets are handy, yes, just thought it made an appropriate place to explain basic use of the file manager on an already running system tho, one of the things I hoped to encourage with this article is users getting a bit of a hands on experience with some of the systems and way things work.

are you adding the xm expansion? the correct command line is “mame a7800 -cart xm -cart2 dkongxm” and it was working when last I worked on it

yeah, if I use that here I get horribly corrupt sound.

Excellent article, but probably the most interesting part was the lawsuit between Nintendo, Coleco and Atari back in the day for the rights to the ports, where one had the console rights and one had the home computer rights.

I can repo the horribly corrupt sound when using that exact command line.

Haze, Arbee has a post on bannister with instructions on how to get the NES classics running on the GBA driver. If you wish to include the example I can explain how to get it running thanks to his post over there.

mame64 gba n_dkong -debug

In the debugger type “go 600026c”

After it hits breakpoint type “r1 = ff”, then F12 to close the debugger and continue.

upon closing debugger you’ll see title screen of the game

Regarding the a7800 DKXM Demo ROM(s)…Looks like the hacked/Prosystem emulator friendly ones may be in the database. Here’s the link that includes NTSC and PAL latest demo (v 1.2) ROMS. http://www.megafileupload.com/1Clx/dkxm_demo_roms.zip

Both just tested and play perfectly under 0.162.

indeed, those ’emulator friendly’ ones work fine, they sound and play great, although I thought they existed for cases where the high score cart wasn’t being properly emulated.

if the ones we currently support did work at some point then I guess we’ll need to find out where / when they broke.

btw, if anybody here knows anything about the intellivision we could do with some help in getting the ‘Donkey Kong Arcade’ version to run, it’s an aftermarket (recent) advanced version of DK for the Intv, but it ends up really broken in MAME, possibly a CPU bug but could be some kind of timing issue, if anybody else has any knowledge about the system and can help debug / fix the emulation of it that would be really appreciated..

B2K24> yeah, was aware of the Debug trick, and while using the debugger isn’t actually much trickier than loading some of the cassette games I don’t really consider it valid to include because it’s having to use a debug hack to work around the fact that the GBA driver isn’t compatible with it yet, the focus of the article was more on teaching people a bit about using the emulated systems and the commandline / interface, not the debugger :-)

Forgot or obmitted the Commodore 64 alternate port of donkry Kong released by Ocean Software, more closed to arcade in terms (vertical view) than the Atarisoft release.

Was not aware there were 2 different C64 versions, will have to look into it further, see if both are softlisted and run.

Learn something new all the time :-)

*edit* it’s not in the softlist, a tape image of it I found seems to hang during loading, but a cracked floppy version does boot, however, controls seem to be non-functional even if I add a joystick. This doesn’t surprise me, of all our 8-bit emulations I’d have to say C64 was one of the worst.

Regarding this…”indeed, those ’emulator friendly’ ones work fine, they sound and play great, although I thought they existed for cases where the high score cart wasn’t being properly emulated.”

From the post you linked to under the AtariAge forums, respecting the files…

“These two files only work on Prosystem and include HSC emulation.
Attached File dkxm_final_demo_ntsc_hsc.a78 144.13KB
Attached File dkxm_final_demo_pal_hsc.a78 144.13KB ”

The above ones are the “hacked”/”emulator friendly ones that exist in the instance the high score cart was not properly emulated; they contain extra hard-coded HSC fake data. Additionally, they were also created prior to the header updates that occurred to the a78 format. Likely, mapping to POKEY improperly.

The next set of files listed and also the two provided in the link I posted earlier…

“These two files will work with the XM support in MESS
Attached File dkxm_demo_v12_ntsc.a78 144.13KB
Attached File dkxm_demo_v12_pal.a78 144.13KB”

Those are not hacked or emulator friendly (Outside of the header of course). Strip the header off of them, burn them to cart, and they should behave and function exactly the same under real hardware as they do in MAME.

The plain NTSC and PAL bins without headers I’ve uploaded here – they may be identical though as I believe the actual game code auto detects for region, whereas the header rules require a designation:

The last file in that post…

“And finally, the binary.
Attached File dkxm_final_demo.bin”

…I believe may be based off an older version of the game code.

ok, the site is VERY unclear then, it reads all over the place like they consider MESS to be the inferior emulator, and the ones modified for MESS are bad.

but you’re saying the prosystem ones
Attached File dkxm_final_demo_ntsc_hsc.a78 144.13KB
Attached File dkxm_final_demo_pal_hsc.a78 144.13KB ”
are actually the incorrect ones?

anyway, I’ve swapped them over, guess a dump from one of the cartridges that was sold and known to work on hardware would make things easier…

Correct. Those contain hard-coded HSC info to trick the ProSystem emulator to fake HSC support. They would not work properly under the real hardware.

The reason MESS is listed as the inferior emulator is due to the time frame. The project started in 2012. A7800 emulation under MESS did not really become polished until 2013 spilling into 2014. In 2012 there were a slew of game glitches and numerous issues.

Currently, (MESS) version 0.159 is the gold standard for 7800 emulation. Unfortunately, right now since the 6502 update, 0.160 and higher has issues with several ROMs: http://mametesters.org/view.php?id=5915

Nonetheless, all developers and end-users alike are highly encouraged to utilize MESS (0.159) for the closest to real hardware performance and experience.

Great article Haze. I will help me when adding consoles/computers into my frontend. I still have a MSX Expert 1.1 machine with a floppy drive and a cassette tape recorder. With a bunch of games in floppies and a few cassettes. I remember when I had to wait 30 minutes to load “Yie-Ar Kung Fu II” from a cassette. Funny thing, the game would fail to load depending on the volume of the cassette recorder. Me and my brother used to spend hours trying to find the right volume so the game would load, again and again and again… :D

This is what I am talking about. :) Good job.

Fantastic article. You got most of the ports that I was aware of, but would love to see the unofficial Atari 2600 builds included. I have maintained a list of ports at http://strategywiki.org/wiki/Donkey_Kong/Versions if you’re curious about them.

Fantastic article. You got most of the ports that I was aware of, but would love to see the unofficial Atari 2600 builds included. I have maintained a list of ports at http://strategywiki.org/wiki/Donkey_Kong/Versions if you’re curious about them. (I apologize if this is a double-post, first attempt appeared not to go through.)

BBC B has a Donkey Kong Clone – Killer Gorrila in the bbcb_cass softlist….

mame bbcb -cass killergo.zip


Have fun :-)

Yes, there are many more Donkey Kong clones besides the ones he posted. Posting *all* of them would take a lifetime or two ;P

The one from MSX that I know is not Donkey Kong, but a clone called Apeman Strikes Again, with annoying music: https://www.youtube.com/watch?v=-49XlFGBtSU

Added the BBC version to the article :-)

I know I can’t cover everything, but the BBC one is handy because it covers a procedure / system that I hadn’t already covered.

Nice post! Just one thing: If I remember correctly, the ZX Spectrum version of Donkey Kong only flickers in certain emulators but not on real hardware, so it might be MAME’s fault here.

For the record, loading it in a Spectrum model with 128K will also give you better music and sound than in 48K mode.

*Oh, unless you just meant the handbag the third level, in which case the flickering may be indeed correct. =|

Neat article! I’d call Donkey Kong for Game Boy a sequel rather than a port, though. It starts out with the classic levels, but has a huge number of additional levels in a puzzle platformer style. It’s one of my favorite games for the system, so definitely worth checking out for those who haven’t played through it.

Wow, that’s a lot of Donkey Kong!!! Great blog post! Part 1 (Raiden) was equally intriguing.

> If I remember correctly, the ZX Spectrum version of Donkey Kong only flickers in certain emulators but not on real hardware, so it might be MAME’s fault here.

could be, our timing is pure fantasy in the driver (and will be until we have a stallable sub-cycle exact z80), although having grown up with a speccy I was quite used to flickery games, so assumed it was the game.

Final Fight 3 arcade version? Mario bros? When

Coleco Adam Donkey Kong DDP Cassette runs perfectly under MAME and worthy of a mention too. Many improvements/additions over the ColecoVision port.

Skill One Playthrough: https://www.youtube.com/watch?v=lZtfaXJBB1Q

Skill Three Playthrough: https://www.youtube.com/watch?v=1x7xngxEzYY


wanted to put this on 2013 to be done list but f1 super battle pcb vid https://www.youtube.com/watch?v=hmP5-DA-eN0

that’s a rough looking game, some nasty little glitches going on assuming it isn’t a PCB fault, but yeah, it has some kind of maths dsp chip sitting there doing calcs for the track AFAIK, not an easy one to figure out. Nice to see a video tho :-)

I have done similar walkthoroughs like what you are saying but with pacman. Galaga, Digdug, and asteroids were also very popular to port around. Pretty much if it was a ‘top 10 arcade’ game it had hundreds of ports. Probably one of the more interesting ones was choplifter. Where it went from the Apple II to its fellow computers of the era then the arcade (2 versions) then back out to the consoles.

I think Tong Boy could’ve been a nice spiritual successor to the original DK if not for the stolen graphics and such.

It will be a Part 3?
Or it is time for the goodies comes up to be fixed.
Mess seems to slow very much after Mame give their permission :)

Please note that when the Scroll Lock key is missing, there is usually a keyboard shortcut for it (usually Fn + F5 or Fn + K).
I wonder whether this shortcut works in MAME? Checked, and yes it does :)

Hey Haze, I was wondering if you’d allow me to use an edited version of this article for a future “Donkey Kong” main section at versionhistory.com. Except for the references to MAME, it already follows what I was planning to add for each game with alternate versions, ports, patches, etc.

I don’t mean for “right now”, since I don’t really know when I’ll be able to finally launch the site officially… =|

Sure, I write the articles so that they can help people* so I don’t really mind if you lift the content, it’s not 100% complete as mentioned (although in 163 the C64 version I missed can now be played, although the fix is somewhat hacky and might end up breaking some Amiga stuff instead)

* same reason I work on MAME really

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.