Back

Taito F3 Connector Pinouts

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.

Port F: Fan Power

VCC nc GND
123

Port G: JAMMA

12345678910111213141516171819202122232425262728
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
ABCDEFHJKLMNPRSTUVWXYZabcdef

The F3 does not use −5V. (it is completely unconnected)

*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, 3p connector, and 4p connector) and two test switches (jamma connector, and the button on the board). These can all be read separately, but are usually redundant.

(todo: maybe make a whole section about inputs in general, eventually)

Port M2: Monitor 2 (alternate video output)

12345
video red video green video blue video sync GND

Port S: Stereo Audio Output

1234
left
spk +
right
spk −
left
spk −
right
spk +

Pins 1 (left +) and 2 (right −) also go to the jamma connector for mono audio output.

Port SI: Serial Interface (MC68681 DUART)

123456
VCC Tx B Rx B Tx A Rx A GND

This connects directly to the DUART, which is accessible to the audio CPU. The F3's audio system is based on the Ensoniq SQ-1 synthesizer, and this port is a holdover from that. Channel A (31,250 baud 8N1) was a MIDI port, and Channel B (62,500 baud 8N1) was for interfacing with a screen and buttons. Some of this functionality remains in the F3, but i'm not sure how much (it still outputs some data, and reads from these ports).

Port Z: Serial Output

1234
VCC GND data latch

This is a serial output port for the main CPU. It is controlled through the FIO, with bits 0 and 1 at address $4A0013. All games use the same protocol for outputting data over this port (similar to UART, but with a clock signal). Each time pin 4 goes low, a bit can be read from pin 3 (high = 1). 10 bits are transmtted per byte: a start bit (0), then the data bits (lsb first), then a stop bit (1). All values (including string characters!) are sent as BCD (2 decimal digits per byte) unless otherwise noted. e.g. "A" (ASCII 65 in decimal) is sent as the byte $65, not $41. Games log events such as inserting credits, getting a game over, etc. The functions for writing to the Z port are at the very beginning of the ROM (starting at address $402) and are identical across games.

type01234567891011
game startedA0 | player_idstage numFF
second player joins active gameA8 | player_idstage numFF
continueB0 | player_idstage numFF
game over, high score?B8 | player_idscorestage numFF
game overC0 | player_idFF
unknownC8 | player_ididkidkidk0000numberFF
menu selectionD0 | player_idstring, padded with 0x32FF
startupE0regionFF
tiltE1FF
coin errorE2byteFF
credit insertedE4FF
jamma service pressedE5FF

Port AA: Kick Harness

12345678910
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.). - TODO list the rest of these?

Port 3P/4P: Player 3/4 Connectors

123456789101112131415
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
(and likewise, for 4p)

Jumper JP3: joystick input mode

joy­stick2sen­sor
VCC (to resist­ors) GND

This configures the joystick inputs to use either pull-up resistors (for buttons or joysticks) or pull-down resistors (for rotary encoder dials).