Table of Contents

Gamepad Ports

The front gamepad ports can be read at $2008 and $2009. Writing to these addresses will not do anything. A byte read from one of these locations will return 6 binary button states from the respective controller. Consecutive reads to the same port will toggle the “select” line on the controller port, causing the controller to change which six button states are being returned.

First read:

Button Mask
A16
Start32
Up8
Down4

Second read:

Button Mask
B16
C32
Left2
Right1
Up8
Down4

Bit/Pin Assignments:

Bit Pin
14
23
42
81
166
329
64Extra Button
1287 (Select bit)

Special Bits

Select Bit

This bit toggles with every read, and is returned as the high bit. Normally the controller uses this to select between two sets of buttons, but custom controller hardware could use this to clock arbitrary data out.

Extra Button

Accessible only by modding a physical GameTank, not exposed to front 9-pin port. Could be used for GameTanks in custom installations such as a coin slot switch in an arcade cabinet.