Ganbare Goemon!

Seven stages of seven areas, 124 screens, 21 interiors with their prices and 42 first-person secret passages, all drawn from the ROM.

Konami - (c) Konami 1987 - An RC-748 cartridge, a 128 KB MegaROM (Konami4) - MSX2 - Dump a436addc...

Not one capture here. Every picture is drawn from the bytes of the ROM: the title, the 49 areas, Goemon and Ebisumaru, the enemies, the 21 interiors and the 42 secret passages, with the cartridge's own tables, and checked against openMSX on a Japanese MSX2 machine, without a single difference. The listing and the numbers are reproducible with make, and reassembling gives back the ROM byte for byte.

The cartridge in numbers

100%of the binary explained
1,678named routines
42.5%of the listing commented
28,724bytes of code
102,348bytes of data
0bytes unidentified

What turned up when we took it apart

The secret passages

In every area except area 5 of each stage, interior 16 charges 900 ryo to take you to the secret passage at the back: 42 passages made from 16 drawings (0xA86D), walked in first person (p03:B8C3).

Inside there are 200 ryo, a life, the map and the exit, which gives 10,000 points. All 42 checked down to zero against openMSX.

With Q*bert or the Game Master next to it, a menu to pick the stage

p01:7EAB looks at the other slot; if it finds Q*bert or the Game Master, the title screen shows an extra menu (p01:7F1A) to choose the stage and the lives.

Seen in openMSX with both cartridges.

Four keywords on the password screen

くるくるてんてん (player 2), きみちやんげんき (maximum life 0x20), あけみさんのさいふ (2000 ryo) and つづきがしたい (continue), at 0xBE8A.

All four checked in openMSX.

Two words in the pause

During the pause five letters can be typed (p03:BDF6): おやぶん inside a secret passage gives its map; すきやねん outside makes touching types 8 and 0x21 give 10 ryo.

Both bits seen in openMSX by typing them.

F2 shows the password, F5 continues

F2 in the pause shows the password for the current place (p01:6B5F); out of lives, F5 carries on if “continue” has been earned (p00:5F8E).

Both seen in openMSX.

Dying halves the money

p01:701E divides the money by two in BCD, digit by digit.

In openMSX, 4800 ryo became 2400.

The shops open by the clock

Interiors 8 to 15 are closed when the tens digit of the timer is odd (p03:AD57).

Seen in openMSX, open and closed.

Four endings

p01:6546 picks the ending from whether all 7 stages have been played and whether the neighbour was there. With the 7, the game announces Hinotori and Majō Densetsu 2.

Four bugs in the code

A write that goes to BIOS ROM (p03:AAFE), a life that fills completely because DE is passed instead of A (p03:B4F1), an ld hl,(nn) instead of ld hl,nn (p03:A5BB) and a table run as code (p03:ADB4).

Konami's mark, in hiragana

At the end of bank 3, in the game's own font: がんばれごえもん and the RC-748. The format of the mark was uncovered by Manuel Pazos.

What the cartridge draws

Under each picture is where it comes from and what is on it.

The title screen, built from the ROM. It matches openMSX with not a single pixel different (titulo.py coteja).
The title screen, built from the ROM. It matches openMSX with not a single pixel different (titulo.py coteja).
Area 0 of stage 1, street by street (p00:4188); the arrows say where the up and down exits lead (0xB7D0). All 49 area entrances checked against openMSX.
Area 0 of stage 1, street by street (p00:4188); the arrows say where the up and down exits lead (0xB7D0). All 49 area entrances checked against openMSX.
Goemon's 20 poses: patterns, sprites and colours checked against the pose in each dump.
Goemon's 20 poses: patterns, sprites and colours checked against the pose in each dump.
Ebisumaru, player 2, with his 20 poses.
Ebisumaru, player 2, with his 20 poses.
The 30 types that appear in the cells (lists at 0x9BF0 and 0x5BB2), each with the palette of the first area where it appears. 107 figures from the dumps, checked down to zero.
The 30 types that appear in the cells (lists at 0x9BF0 and 0x5BB2), each with the palette of the first area where it appears. 107 figures from the dumps, checked down to zero.
An interior: each has its figures and what it sells (0x9567), with the prices at 0x9371. All 21 checked down to zero.
An interior: each has its figures and what it sells (0x9567), with the prices at 0x9371. All 21 checked down to zero.
The map of the secret passage in area 1-0, as the game shows it (p03:BB1B). There are 42, checked against openMSX.
The map of the secret passage in area 1-0, as the game shows it (p03:BB1B). There are 42, checked against openMSX.
The menu that shows up with Q*bert or the Game Master in the other slot (p01:7F1A), drawn from the ROM and down to zero against openMSX.
The menu that shows up with Q*bert or the Game Master in the other slot (p01:7F1A), drawn from the ROM and down to zero against openMSX.
The Konami logo, down to zero against openMSX.
The Konami logo, down to zero against openMSX.