Claim set · data/claims/donkey-kong.yaml

Donkey Kong (dkdasm and Computer Archeology disassemblies)

Game: Donkey Kong.

Each board's bonus timer starts at 10 × level + 40, computed in 8 bits and capped at 80, and the readout shows 100 times the value: 5,000 on level 1, 6,000 on level 2, 7,000 on level 3, and 8,000 from level 4. The listings read MAME's dkong set (US set 1). donkey-kong/bonus-timer

About: Donkey Kong Difficulty ramp

Value
[
 50,
 60,
 70,
 80
]
Codedkdasm: Donkey Kong hacking kit · dkong.asm#L3746-L3768; set up initial timer ; timer is either 5000, 6000, 7000 or 8000 depending on level … ; load level number … ; rotate A left (double again = 8x) ; add B into A (add once = 9x) ; add B into A (add again = 10x) ; add #28 (40 decimal) to A ; < #51 ? ; yes, skip next step … …Computer Archeology: Donkey Kong · content/Arcade/DonkeyKong/Code.md#L7>>> binary 0000:roms/c_5et_g.bin + roms/c_5ct_g.bin + roms/c_5bt_g.bin + roms/c_5at_g.binComputer Archeology: Donkey Kong · content/Arcade/DonkeyKong/Code.md#L3171-L3184LD A,($6229) ; {hard.workRam+229} the bonus scales with the level … ADD A,$28 ; plus 40; the readout shows 100 times this CP $51 … LD A,$50 ; clamped at 80Checked by claude, 2026-10-21 — read 0F7A-0F95 in dkdasm and the same addresses in the Computer Archeology listing; the instructions match, and both start from the level byte at $6229

Cited by: Donkey Kong

On level 22 the bonus timer's start overflows: 10 × 22 + 40 = 260, which wraps in 8 bits to 4. Because 4 passes the "less than $51" test, the cap never applies, and the board's timer starts at 4 instead of 80. dkdasm's comment pairs the starts 50 to 80 with bonuses of 5,000 to 8,000, so 4 stands for a 400 bonus. donkey-kong/level-22

About: Donkey Kong Kill screen

Value: 4 bonus timer start (×100 points) on level 22

Codedkdasm: Donkey Kong hacking kit · dkong.asm#L3746-L3768; set up initial timer ; timer is either 5000, 6000, 7000 or 8000 depending on level … LD A,(#6229) ; load level number … RLA ; rotate A left (double =2x) … ADD A,b ; add B into A (add once = 9x) ADD A,b ; add B into A (add again = 10x) ADD A,#28 ; add #28 (40 decimal) to A CP #51 ; < #51 ? JR c,#0F8E ; yes, skip next step …dkdasm: Donkey Kong hacking kit · dkong.asm#L1321LD (#6229),A ; initialize level to 1Checked by claude, 2026-10-21 — computed the 8-bit result for level 22: 22 × 8 = 176 and 176 + 22 + 22 = 220 stay below 256, then 220 + 40 = 260 sets carry and leaves A = 4; `CP #51` gives carry, so the clamp at 0F8C is skipped. The ×100 reading comes from dkdasm's comment (50 to 80 for 5,000 to 8,000).

What follows on screen, the timer running out before the board can be cleared, is the well-known kill screen, but the atlas has no source for it yet, nor for the bonus timer's tick period at this value (0F97-0FA0 sets it from 220 − 2 × start).

Cited by: Donkey Kong, Kill screen

Donkey Kong's internal difficulty, which the comments say sets the speed of fires and the behavior of wild barrels, is the level number plus a timer that steps once every 2,048 calls of its routine (256 × 8), capped at 5. donkey-kong/difficulty

About: Donkey Kong Difficulty ramp

Value
{
 "max": 5,
 "callsPerStep": 2048
}
Codedkdasm: Donkey Kong hacking kit · dkong.asm#L439; #6380 - Internal difficulty. Dictates speed of fires, wild barrel behavior, barrel steerability and other things. Ranges from 1 to 5.dkdasm: Donkey Kong hacking kit · dkong.asm#L1633-L1669; checks timers and increments difficulty if needed … ; [timer_6384++ ; IF timer_6384 != 256 THEN RETURN ; timer_6384 := 0 ; ] … ; [timer_6381++ ; IF (timer_6381/8) != INT(timer_6381/8) THEN RETURN] … ; [ difficulty := (timer_6381 div 8) + level ; IF difficulty > 5 THEN difficulty := 5 ; RETURN] … LD (#6380),A ; store result into difficultyChecked by claude, 2026-10-21 — read 037F-03A1; the AND #07 tests the old value of $6381, so RRCA three times divides it by 8 exactly

When the timer at $6381 resets, and how often the routine runs, isn't read here.

Cited by: Difficulty ramp

Donkey Kong awards one extra life when the score reaches the DIP-switch setting: 7,000, 10,000, 15,000, or 20,000 points. A flag set on the award stops any further one for that player. donkey-kong/extra-life

About: Donkey Kong Extra life

Value
[
 7000,
 10000,
 15000,
 20000
]
Codedkdasm: Donkey Kong hacking kit · dkong.asm#L1348-L13630214 79 LD A,C ; load A with original value of dip switches 0215 0F RRCA ; 0216 0F RRCA ; rotate right twice 0217 E603 AND #03 ; mask bits, now between 0 and 3 0219 47 LD B,A ; copy to B. used in minisub below for loop counter 021A 3E07 LD A,#07 ; A := 7 = default score for extra life 021C CA2602 JP Z,#0226 ; on zero, jump ahead and use 7 … 021F 3E05 LD A,#05 ; A : = 5 … 0221 C605 ADD A,#05 ; add 5 0223 27 DAA ; decimal adjust …dkdasm: Donkey Kong hacking kit · dkong.asm#L54bit 2 : / 00 = 7000 01 = 10000 10 = 15000 11 = 20000dkdasm: Donkey Kong hacking kit · dkong.asm#L1600-L16290350 3A2D62 LD A,(#622D) ; load A with high score indicator 0353 A7 AND A ; has this player already been awarded extra life? 0354 C0 RET NZ ; yes, return … 0361 7E LD A,(HL) ; load A with a byte of the player's score 0362 E6F0 AND #F0 ; mask bits 0364 47 LD B,A ; copy to B 0365 23 INC HL ; next score byte 0366 7E LD A,(HL) ; load A with byte of player's score 0367 E60F AND #0F ; mask bits 0369 B0 OR B ; mix together the 2 score bytes … …Checked by claude, 2026-10-25 — read 0207-0226: DSW1 bits 2-3 give B; B = 0 keeps 7, else 5 plus 5 per B with DAA, so BCD $10, $15, or $20; read 0350-037B: the thousands and ten-thousands digits of the player's score, nibbles swapped into one BCD byte, are compared with that threshold; on reaching it the flag at $622D is set and lives incremented, and a set flag returns first

Two comments in the award routine misname what the code uses: L1600 calls $622D the "high score indicator" (the store at L1627 calls it the extra life indicator), and L1623 says the score is compared "to high score", where HL points at ExtraLifeThreshold.

Cited by: Extra life

Donkey Kong keeps a five-place high-score table in RAM at $6100, copied from a default table in ROM at power-on, each entry holding its place, its score, and room for a name. A player who places enters initials on a "NAME REGISTRATION" screen. donkey-kong/high-score-table

About: Donkey Kong High score

Value: 5 places

Codedkdasm: Donkey Kong hacking kit · dkong.asm#L132401DF CD0702 CALL #0207 ; set all dip switch settings and create default high score table from ROMdkdasm: Donkey Kong hacking kit · dkong.asm#L1404-L1407025A 216535 LD HL,#3565 ; source = #3565 = default high score table 025D 110061 LD DE,#6100 ; dest = #6100 = high score RAM 0260 01AA00 LD BC,#00AA ; byte counter = #AA 0263 EDB0 LDIR ; copy high score table into RAMdkdasm: Donkey Kong hacking kit · dkong.asm#L10422-L10426 — five entries of $22 bytes; each holds its place (1 to 5), the score's digits, a run of $10 blanks, and the score again in BCD3565: 94 77 01 23 24 10 10 00 00 07 06 05 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 3F 00 50 76 00 F4 76 3587: 96 77 02 1E 14 10 10 00 00 06 01 00 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 3F 00 00 61 00 F6 76 35A9: 98 77 03 22 14 10 10 00 00 05 09 05 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 3F 00 50 59 00 F8 76 35CB: 9A 77 04 24 18 10 10 00 00 05 00 05 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 3F 00 50 50 00 FA 76 35EE: 9C 77 05 24 18 10 10 00 00 04 03 00 00 10 10 10 10 10 10 10 10 10 10 10 10 10 10 3F 00 00 43 00 FC 76dkdasm: Donkey Kong hacking kit · dkong.asm#L4547-L4584142D 211C61 LD HL,#611C ; load HL with high score entry indicator 1430 112200 LD DE,#0022 ; offset to add is #22 1433 0605 LD B,#05 ; for B = 1 to 5 1435 3E01 LD A,#01 ; A := 1 = code for a new high score for player 1 … 1437 BE CP (HL) ; compare (HL) to 1 . equal ? 1438 CA5914 JP Z,#1459 ; yes, jump to high score entry for player 1 … 144C C37514 JP #1475 ; skip ahead, no high score was achieved … 1465 210A60 LD HL,GameMode2 ; load HL with game mode2 address 1468 34 INC (HL) ; increase game mode2 to #15 …dkdasm: Donkey Kong hacking kit · dkong.asm#L10482-L104833710: 24 24 1F 1E 3F 27 76 20 25 23 18 3F 06 77 1E 11 TTON...PUSH...NA 3720: 1D 15 10 22 15 17 19 23 24 22 11 24 19 1F 1E 3F ME.REGISTRATION.dkdasm: Donkey Kong hacking kit · dkong.asm#L2363072C 86 14 ; (15) #1486 ; player enters initials in high score tableChecked by claude, 2026-10-25 — read the power-on call at 01DF and the copy at 025A-0263 ($AA bytes from 3565 to 6100); the five $22-byte entries at 3565-35EE, whose third bytes are 1 to 5 and whose tile codes spell ST, ND, RD, TH; the scan at 142D-144C of the five entries' marker byte (+$1C) for a new score, which steps game mode 2 to $15, the initials-entry handler at 1486 in the mode table, and draws text $D, whose bytes at 371C spell NAME REGISTRATION

Cited by: High score