Cite as
furrykef/dkdasm
Original
https://github.com/furrykef/dkdasm
Pinned
furrykef/dkdasm @ 4d296c5737e768c35afdfa2bf64fcadea93a9677
Accessed
2026-10-21
Licence
none stated
Credit
A commented disassembly of the arcade Donkey Kong's Z80 code. Its README credits an anonymous contributor and Jeff Willms for the first phase, begun on the Donkey Kong Forum, and Kef Schecter for labels and cleanup on GitHub.
Notes
dkong.asm is the main CPU's code. Its tools read the program ROMs c_5et_g.bin to c_5at_g.bin of MAME's `dkong` set, and the Computer Archeology listing of that set has the same instructions at the same addresses for every routine cited here.

Cited on

Claims (5)

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).dkong.asm L3746–3768Code
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.dkong.asm L3746–3768dkong.asm L1321Code
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.dkong.asm L439dkong.asm L1633–1669Code
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.dkong.asm L1348–1363dkong.asm L54dkong.asm L1600–1629Code
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.dkong.asm L1324dkong.asm L1404–1407dkong.asm L10422–10426dkong.asm L4547–4584dkong.asm L10482–10483dkong.asm L2363Code