The MAME Arcade Controller

MAME is the short form for “Multiple Arcade Machine Emulator”. MAME is a software that emulates the hardware of (old) Arcade machines on a personal computer, so if you’ve got the software of that machines (known as ROMS), you can play those games on your PC.

Many years ago I came across the MAME arcade emulator for the first time. Back then, MAME still ran in a dos box (no full screen mode), and the common CPUs were not fast enough for emulating most of the games.

MAME has become much more powerful, and today playing those old arcade classics on your PC can really be fun. But with a keyboard as an input controller, there is nothing of the real Arcade feeling. So I decided to build a ‘real’ Arcade controller (especially for 2-player games), with joysticks and buttons that also find their usage in real Arcade machines.

Controller #1

Dimensions are approx. 60x20x7 cm, and it’s a rugged construction (therefore its weight). It doesn’t move around, even when two players treat it ungently.

In the first revision of controller #1, the joysticks and buttons (taken from a real arcade machine) were connected to a “hacked” keyboard controller (see picture 1 and 2); this meant I took the controller chip from an unused keyboard and connected the sticks and buttons to the corresponding keys. I had to decode the keyboard matrix to find the right connections, a quite tricky task.

The problem with keyboard controllers is that they can only read a limited number of simultaneous keypresses; especially when playing 2-player games, this sometimes results in strange gameplay. So in in the second revision, I installed an I-pac, a controller chip that was exclusively designed to be used in such machines. The I-pac is also used in controller #2.

The case is made from plywood, then etched and laquered. The top plate is 3mm steel. With an additional power supply, the buttons can be illuminated.

Controller #2

After having a lot of fun with the MAME emulator software and controller #1, I discovered another emulator named ZiNc, currently available in version 1.1 (it seems that development is on standby though). ZiNc is an emulator for arcade video games based on Sony PlayStation hardware. ZiNc is still available at

Anyway, some games in ZiNc need more than 4 buttons per player, so I build the controller board #2 with 6 buttons per player. Furthermore, this board uses the ipac keyboard controller, a controller specially designed for arcade boards. With this controller there is no key ghosting, and it is much easier to install and connect. You can get the i-Pac controller and lots of other arcade stuff at or at

The case is again made from plywood, etched and laquered. The top plate is 3mm transparent acrylic, with arcade artwork printed out and mounted between board and top plate. Dimensions are the same as controller #1 (approx. 60x20x7 cm).