the cutting room mirror

Donkey Kong (Arcade)

This article has a talk page!This article has a talk page!
view on tcrf.net

Donkey Kong is the story of a guy named Mario Jumpman, the titular giant gorilla, a girl named Pauline Lady, and an endlessly looping set of buildings which may or may not contain a "pie factory".

Sub-Page#

Every time a barrel object is destroyed, the game checks the "INTEND" portion of "NINTENDO" in the copyright string. If said portion has been altered in any way, the game freezes.

This is guaranteed to stop the game about four seconds in, as Donkey Kong's first barrel is always thrown directly downwards to ignite the oil can at the bottom.

Unused Graphics#

This frame of the cement object is never used, and there's not really a place to use it since it never falls. The presence of this seems to imply that 50m went through a few design revisions throughout development.

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, and would later sue Nintendo over the next entry in the Donkey Kong series.

(Source: GDRI)

Unused Music#

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 song 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.

(ID 12) What sounds like an alternate theme for rescuing Lady, featuring the same intro as the one used for rescuing her on even-numbered loops.

(ID 0F) This sounds like it was meant for some kind of intro or intermission cutscene. Nintendo would eventually use a similar theme for the "game set" jingle in both Tennis for the Famicom/NES and its arcade counterpart VS. Tennis.

(ID 0C) A shorter, more mischievous-sounding cutscene theme.

Unused Sounds#

There are two unused voice samples. According to Miyamoto, they were removed and replaced with sound effects due to their unclear pronunciation.

(ID FA) Lady saying "Nice!", which would have been used when Mario jumped over a barrel.

(ID FC) Lady screaming "Help!", which 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 a Super Game Boy.

Hidden Text#

Present 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.

According to an article by Hirohisa Komanome, one of the game's programmers, this message was added as a joke because Ikegami knew that arcade bootleggers would disassemble the game's code to understand its hardware. One overseas company saw the message and actually contacted Ikegami requesting help with making a bootleg version of Donkey Kong.

This message is immediately followed by this signature in 1BPP format. It reads out IKEGAMI, referring to Ikegami Tsushinki:

Unused Code#

After beating loop 99, the game is programmed to restart the loop rather than advancing to the next one, due to the loop counter only supporting two digits. However, due to the game's bonus timer underflowing on loop 22, its version of 25m and 100m don't give you anywhere near enough time to beat them (though the former can be beaten using glitches, see below), acting as the game's "killscreen". This, by extension, means that getting anywhere close to loop 99 is completely impossible.

Version Differences#

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

Intermission Screen Message

25m Jump Bug?

Safe Ladders?

High Score
Character Limit

High Score
Time Limit

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

JP Set 3 was used as the basis for [https://www.mariowiki.com/Crazy_Kong Crazy Kong and Crazy Kong Part II], retaining its various quirks such as the intermission screen message and 25m bug. 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. It's also the version used for most of the game's high score competitions.

Title Screen#

Pre-US Set 1

US Set 1

US Set 1 adds a trademark symbol to the title screen and updates the copyright info. This code overwrites the first part of Ikegami's secret message.

Level Order#

All of the JP sets use a fixed level order. The US sets have a more complicated setup:

Loop

JP Sets

US Sets

Loop 1

25m, 50m, 75m, 100m

25m, 100m

Loop 2

25m, 50m, 75m, 100m

25m, 75m, 100m

Loop 3

25m, 50m, 75m, 100m

25m, 50m, 75m, 100m

Loop 4

25m, 50m, 75m, 100m

25m, 50m, 25m, 75m, 100m

Loops 5+

25m, 50m, 75m, 100m

25m, 50m, 25m, 75m, 25m, 100m

As shown above, the Japan sets do have a level order table, but it's just the 25-50-75-100 cycle copied five times. This, plus the pre-round intermission screens being set up to be able to display up to 6 stages even in the JP sets, seems to imply that the US sets' level setup was something planned from the start.

Intermission Screen Message#

JP Set 3

JP Set 1 onward

The intermission screen's message is different and much more awkward sounding in JP Set 3.

25m Jump Bug#

Stop it, Mario, you can't do that yet!

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 (the game only checks if Mario's Y position is above the goal platform, not if he's actually on it).

This bug notably allows the player to beat the aforementioned "killscreen" on loop 22's 25m. Beating it in the other versions is technically possible through the use of a different glitch, though said glitch is essentially impossible to pull off by a human. Either way, you're still roadblocked on loop 22's 100m no matter what.

In JP Set 1, this bug was fixed by changing Mario's maximum X position from 234 to 229. While this does fix the problem, it also makes the game more difficult by giving Mario slightly less space to move around.

In JP Set 2 and onward, 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.

Safe Ladders#

This is a special check for the barrels' ladder behavior: If Mario's climbing a ladder and is within 16 pixels of a barrel above the ladder, the barrel will not roll down that same ladder.

In US Set 1, this was dropped 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. This was likely done to prevent players from idling on top of ladders until the timer runs out, which would undoubtedly be really annoying for people waiting in line to play.

High Score Entry#

JP Sets

US Sets

The high score table has a 60-second timer and allows for 12-character names in the JP sets. This was shortened to 30 seconds and three characters in the US sets.

In JP Set 3, the timer reads "30" at the start. This is just a harmless display bug, and it goes to "59" soon after.

JP Sets

US Sets

Seriously, what's your NAME!

In order to accommodate the shorter names, the "NAME" header was changed from being center-aligned to being left-aligned in the US sets.

References#


  1. Ikegami Tsushinki - GDRI :: Game Developer Research Institute↩︎
  2. Producer was Gunpei Yokoi.↩︎
  3. Game Machine Magazine (1981-07-15), p. 10↩︎
  4. Year of the Monkey: Going Ape Over Donkey Kong's 25th Anniversary from 1UP.com↩︎
  5. Donkey Kong Flyers and Marketing Material↩︎