Donkey Kong (Arcade)
Developers: Nintendo R&D1,
This game has a hidden developer message.
Donkey Kong is the story of a guy named Jumpman, a giant gorilla, a girl named Pauline, and an endlessly looping set of buildings which may or may not contain a "pie factory".
- 1 Copyright Protection
- 2 Unused Graphics
- 3 Unused Music
- 4 Unused Sounds
- 5 Hidden Text
- 6 Regional/Revisional Differences
The game will freeze after about four seconds of gameplay if the "INTEND" part of the "NINTENDO" string is altered in any way.
This freezing routine is actually connected to the rolling barrels: every time a barrel object is destroyed, the game does the above copyright string check. The reason this is guaranteed to stop the game at about four seconds in is that the first barrel Donkey Kong throws is always thrown directly downwards to ignite the oil can at the bottom.
This frame of the cement (or "pie") object is never used, and there's not really a place to use it since it never falls.
The logo for Ikegami Tsushinki Co., Ltd. can be found with the rest of the title graphics, but it's never used. ITC both developed the hardware and wrote the program code for Donkey Kong. Needless to say, they would later sue Nintendo for the next entry in the Donkey Kong series.
Both music and sounds can be played in the MAME debugger by launching MAME using mame -debug, then entering the following commands:
focus soundcpu next pc = 156; r0 = [ID]
Replace [ID] with the ID of the tune or sound, e.g., r0 = 12. After putting in these commands once, the first two can be skipped if you want to play another tune or sound. Once you've put in the commands, press F5 to resume execution and it should play the sound. This method is not perfect and the game will almost certainly play random music or garbage afterward. Use the command pc = 0 to reset the sound CPU and resume normal operation.
Pauline theme (ID: 12)
This music would be played when you rescue Pauline. The first few notes are used in a different Pauline tune that is used in the game.
Cutscene theme 1 (ID: 0F)
This sounds like it was meant for some kind of intro or intermission cutscene.
Cutscene theme 2 (ID: 0C)
A shorter, more mischievous-sounding cutscene theme.
There are two unused voice samples. According to Miyamoto, they were removed and replaced with sound effects due to their unclear pronunciation.
Voice 1 (ID: FA)
Pauline saying "Nice!". This would have been used when Mario jumped over a barrel.
Voice 2 (ID: FC)
Pauline screaming "Help!". This would have been used in place of Donkey Kong's growl. Pauline makes a similar scream for help in the Game Boy Donkey Kong when played on the Super Game Boy.
The following text is hidden at 0x3F00 in the main CPU. The complete text is in all board sets except US Set 1, which overwrites the first three lines with other code.
CONGRATULATION ! IF YOU ANALYSE DIFFICULT THIS PROGRAM,WE WOULD TEACH YOU.***** TEL.TOKYO-JAPAN 044(244)2151 EXTENTION 304 SYSTEM DESIGN IKEGAMI CO. LIM.
This message is immediately followed by this signature in 1BPP format. It reads out IKEGAMI, referring to Ikegami Tsushinki Co., Ltd., the developers of the game:
There are five official Donkey Kong boards in MAME:
- dkong (US Set 1)
- dkongo (US Set 2)
- dkongj (JP Set 1)
- dkongjo (JP Set 2)
- dkongjo1 (JP Set 3)
The following table lists all of these sets in chronological order:
|Title Screen||Level Order||Pre-Round Message||25m Jump Bug||Safe Ladders||High Score
|JP Set 3||No Trademark||Fixed||How High Can You Try ?||Yes||Yes||12 Characters||60 Seconds*|
|JP Set 1||No Trademark||Fixed||How High Can You Get ?||No*||Yes||12 Characters||60 Seconds|
|JP Set 2||No Trademark||Fixed||How High Can You Get ?||No||Yes||12 Characters||60 Seconds|
|US Set 2||No Trademark||Varies||How High Can You Get ?||No||Yes||3 Characters||30 Seconds|
|US Set 1||Trademark||Varies||How High Can You Get ?||No||No||3 Characters||30 Seconds|
US Set 1 was distributed as a speed-up kit with Nintendo Service Department Bulletin # TKG-02 12-11-81 and in all TKG4 board sets, designed to prevent extremely long play times.
US Set 1 adds a trademark symbol to the title screen and updates the copyright information. This code is what overwrites the first part of Ikegami's secret message.
All of the JP sets use a fixed level order. The US sets have a more complicated setup:
|Cycle 1||25m, 50m, 75m, 100m||25m, 100m|
|Cycle 2||25m, 50m, 75m, 100m||25m, 75m, 100m|
|Cycle 3||25m, 50m, 75m, 100m||25m, 50m, 75m, 100m|
|Cycle 4||25m, 50m, 75m, 100m||25m, 50m, 25m, 75m, 100m|
|25m, 50m, 75m, 100m||25m, 50m, 25m, 75m, 25m, 100m|
As the table shows, all of the Japan board sets do have a level order table, but it's just the 25-50-75-100 cycle copied five times.
The intermission message is different in JP Set 3.
25m Jump Bug
In JP Set 3, there's a level-breaking bug on 25m. If Mario is at X position 207 and jumps to the right, he'll bounce off the right side of the screen and fall through the floor. If he falls through the lowest set of construction beams, his Y position overflows to 0, which counts as beating the level.
In JP Set 1, this bug was fixed by changing Mario's maximum X position from 234 to 229. While this does fix this problem, it also makes the game more difficult by giving Mario slightly less space to move around.
In JP Set 2 and all other sets, the previous change was reverted. Instead, the routine at 1BEF was changed from jp $1C05 to jp $1DA6, fixing the problem without creating an increase in difficulty.
This is a special check for the barrels' ladder behavior. If Mario's climbing a ladder, and he's within 16 pixels of a barrel above the ladder, the barrel will not roll down that same ladder.
In US Set 1, this was changed from 16 pixels to 4 pixels, effectively making this check pointless – if the barrel is four pixels above Mario, he's going to get hit anyway.
High Score Entry
The player can enter up to 12 characters per name in the Japan board sets. This was shortened to just three characters in the US sets. Additionally, the "Regi Time" decreased from 60 seconds to 30 seconds.
In JP Set 3, the timer reads 30 at the start. This is just a harmless display bug; It goes to 59 seconds soon after.
The "NAME" header in the JP sets is center-aligned. Since high score names are shorter in the US sets, this header is now left-aligned.