The Pro Yakyuu Gekitotsu Pennant Race

Konami's MSX2 baseball from the inside: six teams with their player cards, the rules as the code has them, the batter, the pitcher and the fielders animated the way the game moves them, the field in three zones and 26 PSG and SCC tunes taken from its own engine.

Konami - (c) Konami 1988 - An RC-757 cartridge, 128 KB with the SCC (Konami SCC mapper) - MSX2 - Dump e22a6317...

Not one capture here. Every picture is drawn from the bytes of the ROM and checked against the openMSX VRAM. The tunes come from the cartridge's own engine and match openMSX frame by frame. The listing reassembles byte for byte with make.

The cartridge in numbers

100%of the binary explained
2,933commented routines, none thin
43.7%of the listing commented
50,191bytes of code
80,881bytes of data
0bytes unidentified

What turned up when we took it apart

It saves to the Game Master 2's SRAM

Besides disk, TEAM EDIT and PENNANT save to Konami's Game Master 2: it finds it by the YZ mark at 0x4010, puts its bank 4 at 0x8000 and calls its SRAM routine with the command in C (p13:709A, p13:721D). In the Game Master 2 disassembly that routine is p04:8000, the door to its file system.

Read in the code.

The speed, in real km/h

The three SPD digits on the pitcher's card give the speed of the ball: 80 to 199 km/h (p03:AAE1). Pressing down on release makes it a quarter faster and up a quarter slower; with no stamina left it loses 4 to 7 km/h (p03:ABAA).

Read in the code.

The ten-run rule

After any bottom half, a ten-run lead ends the game (p02:9424). From the ninth on the usual rule applies: it ends if the home team is ahead or if the score is not tied when the inning closes (p02:9428).

Read in the code.

PENNANT draws lots for the games you do not play

With a single player the other two games of the round are not played: each team gets 0 to 15 runs at random and, on a tie, one of the two gets one more (p15:AC31).

Read in the code.

The home run is two tunes at once

The game asks for 0x2C, on the PSG and one SCC channel, and right after for 0x3F, which plays the other three SCC channels (p02:9357).

Checked against openMSX.

The music follows the runners

While a team bats, the background tune depends on the furthest occupied base and on who is batting: four tunes for the visitors and four for the home team (p00:5E74).

Checked against openMSX.

What the cartridge draws

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

The swing, timed as in p02:8663: each stance copies its sprite patterns from a store in the VRAM (p00:5761).
The swing, timed as in p02:8663: each stance copies its sprite patterns from a store in the VRAM (p00:5761).
The pitcher, steps 5 to 0 (p03:A597, waits from p03:A83F).
The pitcher, steps 5 to 0 (p03:A597, waits from p03:A83F).
The intro: the ball comes closer and crosses the screen uncovering the title (p15:BB97).
The intro: the ball comes closer and crosses the screen uncovering the title (p15:BB97).
The mode menu (p01:651C).
The mode menu (p01:651C).
STARTING LINE-UP (p03:A2ED).
STARTING LINE-UP (p03:A2ED).
The PENNANT results and standings (p15:ADFA).
The PENNANT results and standings (p15:ADFA).
Fielders and runners on the field, switching legs every 8 frames (p01:7280, p02:8FC8).
Fielders and runners on the field, switching legs every 8 frames (p01:7280, p02:8FC8).
The pitching signs (p00:5163-p00:51A1).
The pitching signs (p00:5163-p00:51A1).
The stadium of the intro (p15:BB97).
The stadium of the intro (p15:BB97).
The pitching screen, from behind home plate (p01:6352).
The pitching screen, from behind home plate (p01:6352).
The field, centre zone: 256 × 512 pixels (p08:9432).
The field, centre zone: 256 × 512 pixels (p08:9432).
The left field zone.
The left field zone.
The right field zone.
The right field zone.
The sprite patterns of a game (p00:537C, p00:539D, p00:53CC).
The sprite patterns of a game (p00:537C, p00:539D, p00:53CC).