Home | About | Contact

Hardware Addressing

Complete port and memory addressing will follow.
Below is a brief summary:

Port reads:

$21: matrix switches
$22: keypad inputs

Port writes:

$00 .. $02: display data
$03: lamp data
$04 .. $07: solenoids
$10 .. $17: sounds
$23: switch / lamp / display column

Memory:

$0000 .. $17ff: ROM
$1800 .. code extension
$c000 .. $c1ff: RAM
$e000 .. $e01f: NVRAM

Display data:

$00: Digit data A and B (bcd-coded, high and low nybbles)
$01: Digit data C and D  -"-
$02: Digit data E and F  -"-

$23:
remember the strobe column value (0 .. 6) used, then:
data A is written to position (strobe) of the 1up panel, data B is written to position (strobe) of the 2up panel, data C is written to position (strobe) of the 3up panel, data D is written to position (strobe) of the 4up panel, data F is written to position (strobe) of the lower panel.

You might wonder about data E? In fact it's not output, and contains some data the game needs for calculations (like the match digits).

Thanks to Gerrit Volkenborn for the addressing information.