MAME Cab: The controls


You remember arcade game cabinets? Depending on the particular game there would be maybe a joystick and several fire buttons. What we have on a computer is a mouse and keyboard, so what we need to be able to do is to have a joystick and several fire buttons but make the computer understand the signals coming from them.

Once more into the fray then.

The emulator MAME has a standard set of inputs, for example, pressing 5 will insert a coin (credit), pressing 1 will begin a 1 player game and pressing 2 will begin a 2 player game. Movement is controlled using the keyboard’s cursor keys, up for up, down for down etc.
Fire button 1 is mapped to the CTRL key, Fire button 2 to the Alt key, Fire button 3 to the Space Bar and Fire button 4 to Left SHIFT.

This means if you run MAME on your own PC those are the keys you would use for each game, some games using as many as 8 Fire buttons or even 2 joysticks for a 1 player game such as Robotron or Battlezone.

What we need then is some kind of interface between our arcade controls and our PC inputs, the PS/2 or USB sockets.

The way this used to happen is that you would plug your keyboard into the computer but you would hack into it and solder a connection between your Player 1 Fire button 1 and the CTRL key. Then you would solder a connection between your coin slot and the keyboard’s 5 key, and so on and so on.

The problem with this is that it can get very messy very quickly and is ever so slightly annoying if your keyboard breaks.

Enter the I-Pac.

The I-Pac is a small PCB (Printed Circuit Board) which takes the place of the hacked keyboard and sits between your controls and your PC. Each press of a fire button or directional movement on the joystick triggers one of these, a microswitch which is obviously connected to the I-Pac.

If you look at the top right of the I-Pac you will see a connector labelled GND (ground) this must be connected to the bottom contact of each microswitch in the cabinet. It can be daisy chained around each one and does not need returning to the I-Pac. Once that is done, you will see that the next connector is labelled 2RGHT. This must be connected to the right direction microswitch on the Player 2 joystick. The next one is 2LEFT which goes to the left direction microswitch and so on and so on.

I made a temporary control panel to use until I got my arcade cabinet and as well as being functional it was also a valuable learning experience, though it wasn’t going to win any glamour prizes. Here is a picture of the underside showing all the controls connected to the I-Pac which you can see near the top right, and here is what it looks like from the top.

You can see that when finished it looks a bit daunting with the number of wires but it really is quite simple to do if you take it a step at a time.

Now it is just a matter of plugging in a cable from the I-Pac to the computer. There is also a keyboard pass through port so you can plug a keyboard in to allow you to configure the PC when necessary.

That’s it. The basics of arcade controls in a nutshell. Now I really must get onto keeping up with the diary of the build.

Leave a Reply

You must be logged in to post a comment.