Note: most of these plugs are numbered "backwards" (right to left, when viewed from the jamma connector side)
Note: the pin connectors have an unusual pitch of 2.5mm, not the more common 2.54mm(100mil) spacing
| VCC | nc | GND |
| 1 | 2 | 3 |
|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GND | +5V (VCC) | nc (−5V) | +12V | coin 1 counter | coin 1 lockout | spk + | nc | video red | video blue | GND | test | coin 1 | 1p start | 1p up | 1p down | 1p left | 1p right | 1p btn1 | 1p btn2 | 1p btn3 | 1p btn4 | 1p btn5* | GND | ||||
| coin 2 counter | coin 2 lockout | spk − | nc | video green | video sync | service | tilt | coin 2 | 2p start | 2p up | 2p down | 2p left | 2p right | 2p btn1 | 2p btn2 | 2p btn3 | 2p btn4 | nc | |||||||||
| A | B | C | D | E | F | H | J | K | L | M | N | P | R | S | T | U | V | W | X | Y | Z | a | b | c | d | e | f |
The F3 does not use −5V
*On the single-board F3, button5 was connected (but only for 1p)
Note that button4 and button5 are not the same as kick1 and kick2, and are not used by any games (outside of test menus)
There are three service switches (on the jamma connector, 3
(todo: maybe make a whole section about inputs in general, eventually)
| 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|
| video red | video green | video blue | video sync | GND |
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| left spk + | right spk − | left spk − | right spk + |
Pins 1 (left +) and 2 (right −) also go to the jamma connector for mono audio output
| 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|
| VCC | Tx B | Rx B | Tx A | Rx A | GND |
This connects directly to the DUART, which is accessible to the audio CPU
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| VCC | GND | data |
This is a serial output port for the main CPU
| type | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| game started | A0 | player_id | stage num | FF | |||||||||
| second player joins active game | A8 | player_id | stage num | FF | |||||||||
| continue | B0 | player_id | stage num | FF | |||||||||
| game over, high score? | B8 | player_id | score | stage num | FF | ||||||||
| game over | C0 | player_id | FF | ||||||||||
| unknown | C8 | player_id | idk | idk | idk | 00 | 00 | number | FF | ||||
| menu selection | D0 | player_id | string, padded with 0x32 | FF | |||||||||
| startup | E0 | region | FF | |||||||||
| tilt | E1 | FF | ||||||||||
| coin error | E2 | byte | FF | |||||||||
| credit inserted | E4 | FF | ||||||||||
| jamma service pressed | E5 | FF | ||||||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|
| GND | 1p kick1 | 1p kick2 | 1p kick3 | nc | 2p kick1 | 2p kick2 | 2p kick3 | nc | |
Note: these reuse the 3p inputs (1p kick1 = 3p stick up, etc.)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| coin 3 | 3p start | 3p left | 3p right | 3p up | 3p down | 3p btn1 | 3p btn2 | 3p btn3 | nc | service (3p) | coin 3 counter | coin 3 lockout | GND | |
| joystick | 2 | sensor |
|---|---|---|
| VCC | (to resistors) | GND |
This configures the joystick inputs to use either pull-up resistors (for buttons or joysticks) or pull-down resistors (for rotary encoder dials)