Guide to connecting game pad hack to JAMMA with JAMMA-Prog

This is an example of an Xbox 360 to JAMMA installation using game pad hacks for controller boards.

Click on an image to make it bigger.


Start by assembling the JAMMA-Prog kit.

The trigger inverter circuits will need to be fitted because the Xbox 360 game pad features analog triggers.

The start-up hold circuits, as well as the 20 pin fighting board headers will not be used and can be omitted.

This will be the source of the player 1 controller board - a Mad Catz controller.

Remove the screws, take the board out.

Determine that the PCB uses a common ground layout. That is, one side of each button is connected to ground. This can be verified by with a multimeter on continuity mode.

Matrix button layouts, which some genuine Microsoft Xbox 360 controllers have, are unsuitable for game pad hacks of this nature.

On the reverse side of the board left trigger/potentiometer assembly is visible. The right hand side trigger has already been removed.

One side of the trigger potentiometer is ground, the other is VCC, with the wiper in the middle. Plug the controller into a USB port and use a multimeter set on the DC volts range to determine which is which.

When the trigger is the idle there is 0V on the wiper.

When the trigger is fully pressed, the wiper is at or close to VCC.

Remove both left and right trigger potentiometers. Solder a wire to one of the potentiometer's VCC pads. Solder another wire to the potentiometer's ground pad. These will be connected to player 1 VCC and GND respectively on the JAMMA-Prog.

This VCC is 3.3V and it powers the trigger inverter circuits. Do not use the 5V USB bus power for VCC.

The wiper from the left trigger is connected to K4 INV JAMMA-Prog and the wiper from the right trigger is connected to K3 INV on the JAMMA-Prog.

Solder a wire to each digital input on the game pad. Wire it to its respective terminal on the JAMMA-Prog. Use the Xbox pin label stick for reference.

Note that I have soldered the wire to the wrong side of the X button (the ground side) by mistake in the photo.

For player 2, I will use the controller board PCB from an third party Xbox 360 arcade stick. The buttons are connected with two pin headers. I have one connected as an example.

Turn the board over. Look at the pads for the button headers. Notice that one side of each pair is connected to ground, except for the right trigger (RT) and left trigger (LT). In the case of the two trigger inputs, they are switched to VCC with the button. You can confirm this with a voltmeter in the same way as the game pad.

The reason for this is the chipset unused inside the arcade stick is the same one that's found inside a regular game pad. It's just using the analog input in a digital fashion. To connect this input to a standard JAMMA common ground switch, a trigger inverter circuit will be required, just like a the game pad hack.

Just to make it clear, the 3.3V from the switch header is used for VCC, not the 5V USB bus power.

Now the RT and LT from the player 2 controller board are connected to K3 INV and K4 INV on the JAMMA-Prog respectively. While the rest of the buttons and switches are wired to the terminal array, according to the labels.

Attach the USB cable to a bracket of some kind with a cable tie. This functions as a strain relief, which is necessary to prevent the USB cable from being ripped out from its controller board.

Now the jumper wires can be installed to map which buttons and joysticks go to which Xbox 360 controller functions. In this case I have left the XB button functional on the player 1 controller board. Player 2 XB button has been connected to SW1 button on the JAMMA-Prog board itself.

Change Log
15/6/2020 - Page created.