It seems like far too long ago that I was skipping excitedly through my local shopping center, hurrying through to the arcade to slam a R20 note down onto the counter and hear the clatter of those big coins being dispensed for my enjoyment. The coins I would use to feed those hungry machines lining the walls, lit up with the memories of a dying era. I would spend hours playing, dropping in coin after coin with that satisfying clunk to continue my journey. But enough about my 20th birthday; let’s discuss how to build one of these arcade machines for yourself.
Leon van Niekerk approached the lab with the idea to build a MAME (Multiple Arcade Machine Emulator) cabinet. A lot of people seemed interested in having one in the lab, and I was eager to help, so we started planning.
The first thing needed was an upright cabinet. With the help of some contacts, we managed to acquire one for free. It would otherwise have cost roughly R700 to have it made, so we were lucky to get it. It was constructed from Supawood and stands at 1.6 meters. It houses all the necessary peripherals and hardware for the machine.
The next thing needed is a working desktop PC. The lab was kind enough to sponsor us a PC and screen, which would amount to around R2500, I suspect, since the PC is a bit more high-end than what is needed for the arcade machine.
The buttons were ordered from a supplier in the UK. For our 2-player cabinet, we ordered 2 joysticks and 22 buttons; a total of R900 including shipping and customs tax. These were mounted in the button panel using a hole saw to position the buttons, and the joysticks were mounted by carving holes for them with a chisel. Each interface component has a micro-switch behind it. These switches were wired directly to the circuit boards of 2 inexpensive USB game controllers (around R100 – R120 each). These were plugged into the computer, using the controllers’ existing drivers to serve as the interface between our input devices and the computer. Our initial idea involved using an Arduino Uno unit as our controller, but we decided against it, since it was easier to use the USB game controllers, and it would be less costly if something did go wrong.
The PC runs Windows 7 and the MAME program, which emulates all the old arcade games of yore by emulating their original host machine’s configuration. We wanted to avoid people interacting with the operating system as much as possible to maintain the idea of the end product being an arcade machine, as opposed to a normal computer. For this purpose we made use of a visual front end program that runs on startup that would act as the screen users could use to switch between games and emulators. Surprisingly, several of these frontend programs have been developed. We ended up making use of one called Mala, which was easily configurable and customisable as well as allowing us to run multiple emulators aside from MAME. The cabinet contains a drawer with a keyboard, mouse and USB input available, if any configuration needs to be done.
The artwork for the machine has yet to be done, and the cost of that is still to be taken into account, but for the bare-bones machine, it would cost around R4000 and a weekend of work to make a machine like this from the ground up. This was an incredibly fun and satisfying project for Leon and myself, and it’s a great feeling to accomplish a task that stands proudly and functions properly after all the work you put in. The MAME cabinet has a permanent place in the Media Lab from now on, so feel free to drop in and play some Pac-Man.