Building a JAMMA Test Rig

In the near future, I intend to have the innards for my new arcade machine spread-out all over my desk: raspberry Pi, amp, video converters, i-Pac, and so on. I want to be able to test and develop on it without having to cannibalise my cabinet, or have trailing bits of electronics hanging out of it.

I have a big box of arcade buttons, a joystick or two, a new JAMMA wiring loom, and a Happ Trackball that’s too big to fit in my cabinet. Whilst cleaning out the garage I’ve also found a large lump of chipboard (covered in a wood-effect veneer) that I bought some months ago to turn into a shelf.

All in all: I have enough bits to create myself a JAMMA test-rig!

Well, I am missing one vital element: I have zero woodworking skills! So, on Saturday, when we did our regular visit to my parents for dinner, I took my bag of junk with me and a very vague idea of how I wanted my panel laid out, and my father made me a sturdy control panel:

First tip I can give to anyone doing this: people with some actual carpentry ability tend to hate that woodchip-with-veneer stuff. Dad pulled a face when he saw it. If I were to do this again, I’d buy a proper piece of timber instead.

As I just want this to sit on my desk when I’m testing (and maybe for a game or two) the measurements don’t need to be particularly exact. I decided on a panel width of 440mm (19 inches) just because that’s the width of my cabinet … but it probably wouldn’t have hurt if I’d made it slightly wider.

The wood is 15mm thick. The panel is 250mm deep. The side pieces measure 60mm at the front and 120mm at the back, giving a nice tilt to the panel of about 15 degrees from the horizontal. Dad also added another piece of wood at the front of the panel in order to give it extra structural strength.


The joystick is installed on the left. It’s mounted from underneath (screwed into the wood) so that just the joystick bar itself protrudes through the woodwork. Obviously the hole was drilled to be wide enough so that the joystick had the required freedom of movement.

Three fire buttons are positioned somewhere around the middle – we tried to position them at a bit of an angle to make the layout comfier. If I were doing it again I might have positioned them slightly closer together – but I haven’t played a proper game on it yet, so I’ll let you know.

Above them are another three buttons – one is the Player 1 Start button, one is going to fake the “coin” signal (at least until I’ve configured all the games to freeplay) and the third is currently unassigned. I think I’m going to use it an as “escape” button, so I can exit from a game back into the frontend game selector.

To the right is my Happ 3-inch Trackball. I originally purchased this to go in my cabinet, but when I received it discovered it was FAR too big. Even if I’d modified the panel in the cabinet enough, it still would have looked to out of proportion for the rest of the cab. So I’ll shop around for a 2.25-inch trackball for my cabinet, and use this one for my test rig instead.


I found wiring to be straightforward, but let me give you this advice if you’re going to do this yourself:

  • have the pinouts in front of you
  • use a multimeter to prove you’re holding the right wire
  • take your time

In fact, I found the job a nice way to waste a few hours on a bank-holiday Monday.

My test-rig panel is only intended as a one-player affair, so I’ve tucked the unrequired cables out of the way, held to the panel underside with sticky pads and more cable ties.

Next tip: buy lots of cable ties and those sticky pads for holding them. And I mean LOTS. Buy so many that the woman at the till in B&Q thinks you have a kinky fetish. Buy so many that if you get partway through a job and realise you could do it better another way, you won’t worry too much about cutting them off. Oh, and buy a dinky pair of cutters for pruning them. Making a neat job of wiring up your control panel is a curiously satisfying experience.

The “insert coin” cable didn’t have a spade connector on it (because in a real cabinet, it would have gone to the coin-counter mechanism) so I removed that wire from the loom, then repurposed an unused wire that did have a spade connector. Quick soldering job, no big deal.

For those of you with an electronic bent: the inputs on a JAMMA board float high, and therefore should be pulled low when a button is pressed. So the common wire that needs to go between all the microswitches is the 0v line. In the picture above, that’s the black wire you can see going between each button. The unused spade connectors are bundled up and stuck out of the way. Cable-ties, see? They hold the universe together!

For a display in my test rig, I have a Microvitec Cub monitor (from early-eighties
primary school fame, that those of us of a certain age will remember all too clearly) which accepts the same spec of video signals as a JAMMA cab. To make this work, I collected the RGB and sync wires together with cable ties, then soldered a 6-pin DIN socket on the end using the same pinouts as from a BBC Micro. That way I can use one of my BBC RGB leads to connect the rig to the monitor.

I haven’t bothered adding a speaker for this rig – perhaps I should have added a few more inches to the control panel and mounted one there? But for the time being it isn’t too important. I’ve rolled-up the wires for it in case I change my mind, anyway.

Now all that’s left is for my new JAMMA PSU to arrive.

My wife would like you all to know that the ghastly carpet is the choice of our house’s previous owners. We haven’t decorated this room yet.

Next time: I start putting together the components for my Raspberry-Pi-Programmable-JAMMA-board.