If you were born in the 70s or 80s, chances are good that a big part of your childhood was spent wasting quarters at the local arcade, or in front of the Pac-Man machine at your local pizza place. Sure, games have become a lot more complex since then, but the old titles had a lot of charm, and in some cases a level of skill and patience-rewarding challenge that hasn’t been matched since.
Sadly, the arcade is rapidly becoming a thing of the past. Now that PCs and game consoles have become so powerful, the only way for arcades to compete has been to offer games with enormous, complicated controls, which end up costing a dollar or more per play. And besides, that’s only if you happen to live next to one of the very few remaining full-sized arcades. For most people, the closest thing they’ve got to an arcade is the worn-out Initial D machine at their local multiplex.
But you can bring the classic arcade experience back to life, in your own house. With a MAME arcade machine, you and your friends can play your favorite old games, on the authentic controls they were made for. In this article, we’re going to show you, step-by-step and with a lot of pictures, exactly how to build the custom arcade machine you’ve always dreamed about using old PC parts. We’re going to describe how we built our MAME cabinet, but we’re also going to describe all the choices we made along the way, including cabinet style, monitor and controls, so you can put together a machine that’s just right for you.
When you think about an arcade machine, what comes to mind? For most people, it’s the cabinet. From the classic standup cabinets like Centipede, with its loud sideart, to the behemoth six-player, two-screen X-Men machines, to the sit-down cocktail Galaga cabinets, every games was its own distinct experience. They were more than just video games, they were furniture .
With that in mind, picking what style of cabinet you want to build for your MAME machine is one of the toughest and most important decisions you’ll have to make. Although exactly what your cabinet will look like is totally up to you, there are three basic styles of cabinet: the upright, the cocktail, and the bartop. We’ll provide a description of each of these types, as well as a breakdown of that cabinet’s pros and cons.
“Cocktail”-style arcade machines are essentially a screen set into a table, with controls on one, two or three sides. Traditional cocktail cabinet games with two sets of controls are generally meant to be played by two players on opposite sides of the table taking turns, with the screen rotating 180 degrees between turns so that each player sees the screen as upright.
Pros:• Less obtrusive looking, and doubles as a surface for drinks.
• Small size means greater portability, less intrusiveness, and cheaper materials.
• Small size also means a smaller screen, and usually less room for controls.
• With much less room to build in, significantly more planning is needed to make sure you’ll be able to fit everything inside.
As for us? We decided to go with a cocktail cabinet. We really liked the fact that you can play both vertical and horizontal games using the entire screen, as well as the camaraderie that comes from the whole office huddling around a table, watching Will humiliate Norm at Galaga .
So, you’ve figured out what style of cabinet you’d like to build? Great! Now you’ve just got to build it.
Again, there are three options. First, you can find an old arcade machine for sale somewhere and use its cabinet as a basis for your MAME machine. Second, you can build your own out of plywood or MDF. There are plans available online for this, but be warned: it’s real easy to make a shoddy looking cabinet if you don’t have a firm grasp on carpentry, or the right tools (a router is a must).
Finally, you can do what we did: order a kit online. Sure, it costs a bit more than you would pay for parts, but it dramatically simplifies the whole construction process, and it’s the only way for a wood-working newbie to ensure that they get a great-looking cabinet.
We bought our kit from Arcade Depot , and although we had initially been tempted to try to build our own cabinet from scratch, we quickly realized that we’d made the right choice in buying a kit. Not only did the cabinet turn out much nicer than anything we could have built, Scott over at Arcade Depot was a huge help, giving us a lot of useful advice throughout the whole project. The kit’s a little trickier to put together than, say, IKEA furniture, but still well within the capabilities of any fledgling MAMEsmith.
We thought you might be interested to know what goes into building a cabinet like this, so we asked Scott to describe what it is they do over at Arcade Depot. This is what he said:
“The Arcade Depot cocktail cabinet design is the result of carefully listening to customer feedback over the course of many years. The initial thrust of the cabinet was one of offering a high-quality replacement for factory original systems whose own cabinet faltered long before the electronics within it. It later became a natural choice for customers inspired to build their own home arcade systems with PC-based arcade emulation software. In order to directly address this growing desire for in-home systems we chose grade A-1 plywood complete with a hardwood finish to transform a classic cocktail cabinet into spouse-approved furniture!
“Cabinet construction begins with the shaping of each cabinet panel using high-precision, high-speed CNC (Computer Numerical Controlled) wood routers accurate to 0.001” for perfect parts and alignment features. All alignment features have been designed to make the cabinet assembly process simple and straightforward with virtually no possibility of error. Once machined, each cabinet is dry-assembled as part of our in-process quality inspection to ensure it meets our stringent standards. Our staff craftsmen complete the sanding, staining, surface sealing, and t-molding installation by hand so that active quality inspection continues throughout the entire process. Each step of the fabrication process has been optimized and refined over many years of operation to allow us to offer the highest quality, most cared for cabinet kits on the market at an unbeatable price!”
Next, we pick a monitor.
So, you’re willing to give up a little authenticity for the convenience of being able to find, install, and not get maybe-killed by a monitor? That’s ok, we don’t blame you, and in fact we think that LCD screens are a perfectly respectable alternative to CRT monitors.
• Lightweight and easy to install.
• Cheaper than a CRT, and much easier to find.
• You might have a spare one lying around.
• Too-sharp picture means the games don’t exactly look like they did in 1986.
For our second cabinet top, we used a lovely 21.5” Asus LCD, which we chose because it fit the table nicely, and had a wide horizontal viewing angle (important for a monitor that you’ll be looking down at, from the side much of the time).
Our experience installing the LCD was a much easier one than with the CRT. Scott over at Arcade Depot routed us out a custom cabinet top, with a hole and bezel cut that were the exact right size for the monitor. We just dropped the display in, then fastened it down with a couple strips of metal strapping and some wood screws. After that, all we had to do was attach the top panel, with screen, to the rest of the cabinet.
The custom-cut cabinet top for the LCD monitor
It’s also possible to use an old CRT television or monitor, which will give you a picture quality somewhere in between an arcade monitor and an LCD. They’re still heavy and bulky, but you should be able to find one for much cheaper than either of the other options. In other words, if you don’t mind a display that’s middle-of-the-road in pretty much every way, this might be the cost-effective solution for you.
No matter what you do, though, here’s one major tip: Use a bezel.
In arcade machines, the bezel specifically refers to the piece of plastic or cardstock used to hide the edges of the monitor. You can make your own by cutting black card to fit around your monitor, but more often than not this ends up looking pretty janky. Instead, we recommend picking up a molded plastic bezel. Most arcade suppliers sell them, sized for all common monitors, for less than $25. Considering how much better they make a project look, we definitely think this is a worthwhile expense.
Finally, we get to the fun part. Fun for some, anyway, although if you’re not the type who gets a perverse glee from designing the perfect arcade control setup, this project just might not be for you. Like the other decisions so far, designing your controls is all about what kind of experience you want your MAME cabinet to provide. Below, we’ll discuss the pieces of control equipment you’ll need to consider.
But first, a word about microswitches . A microswitch is pretty much what it sounds like: a tiny little switch, designed to be both responsive and durable enough for extended arcade use. When you press an arcade button, you’re actually just pushing down on a plastic plunger which itself presses a microswitch. When you move a standard arcade joystick, you’re actually just using a little metal stick to press one of four microswitches.
Probably the most recognizable symbol of arcade gaming, the joystick is the primary method of input for most games. And although picking a joystick might seem simple at first, there are actually a lot of factors you have to consider.
First, you need to decide whether you want to go with a 4-way or 8-way joystick. Either joystick will have 4 microswitches located at the base of the stick, which are pressed when the joystick’s shaft moves in a certain direction. In an 8-way joystick, moving the stick diagonally presses two buttons at once. In a 4-way stick, this is prevented from happening, usually with some sort of restrictor plate. For most games, you want an 8-way joystick so you can do things like move diagonally. However, several classic older games such as Pac-Man, Donkey Kong and Dig-Dug can’t handle diagonal inputs, and therefore need a 4-way joystick.
Some people choose to install a single, dedicated 4-way joystick somewhere on their control panel, since most 4-way only games are only played by one person at a time. You can also use a joystick that can switch between 4- and 8-way, which is what we chose for our machine. Some of these joysticks have a switch on the underside, which you can use to change them, but we ended up going with the Mag-Stik Plus, a 4-way/8-way switchable joystick that can be switched from the top of the panel. You just pull up on the stick and turn it to switch between the modes. The Mag-Stik Plus is sold by Ultimarc , who sell high-end parts for home-made arcade machines. Because they were kind enough to send over 4 Mag-Stick Plus joysticks, we went with them for all of our control panels.
In addition to 4-way or 8-way, you have to consider the “style” of the joystick. Japanese style joysticks tend to have a ball top, light action and more play. American style joysticks tend to have bat-shaped tops, and tighter action. You can also consider restrictor plates, which limit the area in which the joystick can move, for instance to an octagon or smooth circle shape.
There are also joysticks with more specific functions, like 2-way, 49-way, analog, and rotary joysticks, but generally these are used by a very limited subset of games, so unless you’re dying to play a particular game that requires one of these unique joysticks, you’re probably better off investing in a high-quality 8-way or 8-way/4-way joystick.
Fortunately, after the tricky world of joysticks, there’s really not that much to choose from with buttons. Your biggest decision will probably be whether you want the “classic” style of button, with a concave surface, or the “tournament” style button with a convex head. Most arcade games used the classic buttons, although modern Japanese fighting games frequently use the tournament buttons. To get the best of both worlds, we opted for classic buttons on the two facing control panels, and tournament buttons on the side-by-side panels.
If you’re up for, you can also get translucent buttons, which can have an LED mounted inside for a light-up control panel. Since we wanted a subtle, classic look for our cabinet, we opted for no lights, and a single primary color for each of the control panels.
After joysticks and buttons, which you’ll find on pretty much every MAME cabinet, the most popular controller inclusions are trackballs and spinners (also called dials). Although these controls are supported by far, far fewer games than joysticks, some of the games that do use them are such classics that many people choose to make room for one or both on their console. Games that use trackballs include Centipede , Marble Madness and Missile Command . A spinner is used with games such as Arkanoid , Pong and Tempest .
For our machine, to keep the control panels uncluttered and clean looking, we chose to go with a standard Street Fighter-style setup for all control panels, with 6 play buttons, a joystick and a start button (except for the two facing panels, which had both start buttons on the player one controller). In retrospect, however, there’s little need for more than 4 buttons on each of the facing panels. Generally speaking, the only games which require six or more buttons are fighters, which are played by only two players, and always side-by-side. Given that, it might be possible to fit a trackball or spinner on the narrow panels without overcrowding them.
How you build your control panel—what controls you include and where you put them—is entirely up to you. That said, here’s some tips for how to design the perfect controller for your cabinet.
• Consider the games you’ll be playing. If you absolutely love Centipede, but hate fighting games, then you’ll definitely want a trackball, and you can probably do with just 4 buttons.
• Don’t go overboard. It’s tempting to try and make a panel that can play every game under the sun , but before you try to shoehorn that second spinner onto your controller ask yourself “Am I really going to use both of these?”
• Similarly, you probably don’t need as many buttons as you think you do. If you try and fit 6 play buttons, a start and coin button for each player, as well as a pause, menu, and exit key, you’re controller is going to be way too crowded. MAME is highly configurable; which means that you don’t need to bind a specific button to add a coin for player 1, for instance. Instead, you can create a shift button, then tell MAME to add a coin when shift +button 1 is pressed.
• Consider how the controls are going to feel in your hand before you commit to them. After you design your panel, make a printout of it and see if the scale feels right. If possible, make a temporary panel out of cardboard and install the controls into that first, to make sure that everything feels comfortable.
• Need inspiration? Check out some of the awesome MAME cabinets people have built to see what works in controller design.
• Need to know what to avoid? Check out this site , which maintains a list of awful MAME cabinets. One look at some of these cabinets, and you’ll understand exactly why you should exercise restraint in designing your control panels.
At its heart, a MAME machine is really just a fancy enclosure for a computer that emulates old games. This means that everything will be for nothing if you don’t have a computer to put into your cabinet. Fortunately for you, the system requirements for MAME are pretty darn low. If you’ve got a spare computer or parts from the last 5 year, it’ll run MAME just fine. Here’s what we used in ours:
Right about now, you may be asking yourself “What the heck’s an ArcadeVGA card?” It’s one of two specialty bits of computer hardware you’ll need for a MAME cabinet—it’s a special video card which allows you to connect your computer directly to a 15Khz arcade monitor. This is necessary, because sending a stand 31Khz signal to an arcade monitor won’t work and can damage the monitor. Ultimarc makes the cards, which are available for around $100.
The other special piece of hardware you’ll need to order is a keyboard encoder . Remember that all your joysticks and buttons are actually just little microswitches, which complete electrical circuits when pressed. A keyboard encoder is wired to all of your microswitches, and to your computer through the USB or PS/2 interface, and it translates the microswitch signals into key presses for your computer to use with MAME.
There are several different keyboard encoders available. Among the most popular are Ultimarc’s I-PAC 2 and I-PAC 4 boards, which support up to 32 and 56 inputs, respectively. For our build we chose the I-PAC 4, so we could hook all of our controllers up to a single encoder. When calculating how many inputs you need, bear in mind that a joystick contains 4 individual microswitches.
You can mount the computer in the case however you like, as long as there's room. In our cocktail cabinet, the large CRT monitor meant that there wasn't enough vertical space to mount the motherboard into a case. We could have mounted the mobo directly onto the wood floor of the MAME cabinet, but instead chose to build it into a plastic tray, and glue that tray to the bottom of the cabinet.
To make way for the speakers, we drilled a grid of holes through the case and hot glued in a couple of simple Logitech PC speakers, facing toward the holes.
To power everything, we glued a power strip to one corner of the inside of the case. We connected the PC, monitor and speakers to this power supply, and then ran the power supply cable out through a hole in the bottom of the case.
Hot Glue: The solution to all of your problems
To turn the PC on and off, we cut the ATX power button out of a spare case and connected it to the motherboard. We ran the wire through a hole in the floor of the cabinet, and glued it under the bottom panel, facing sideways so that it isn't visible from the outside, but is still easy to access.
Once you’ve bought your parts and designed your control panel, it’s time to put it all together. There’s nothing overly difficult about building the control panels, but it can be very time consuming.
First, you’ll need an actual panel to install your controls into. If you’re building your own from scratch, we recommend 5/8” MDF or plywood, and you’ll definitely need a router to precisely cut the hole for each controller. To ensure accurate placement of holes, you can print out a diagram of your control panel, tape it to the panel, and cut through the paper.
Mounting buttons is easy—you just need a hole big enough for the button to fit through, and a plastic nut locks it into place.
However, joysticks are a bit more trouble. If you have enough clearance under the panel, you can cut a button-sized hole for the joystick, mount the joystick assembly under the board, and then feed a long joystick shaft [link to long joystick shaft] through the hole. Alternatively, if your router skills can pay the bills, so to speak, you can also cut out a relief in the top of the panel that’s the right shape to simply drop the joystick into. If you go with a wooden control panel, you’ll want some sort of overlay to make the panel look and feel nicer. MAMEMarquees.com is an excellent source for reproduction and custom artwork.
We had Scott from Arcade Depot make us a plywood panel for the two side-by-side controllers with a glossy black Lexan overlay. The joysticks drop in from the top, then the overlay conceals the sticks’ metal mounting plate. For the two short panels, we got custom-cut metal control panels, which are easier to mount into, and look and feel great even without an overlay, but are only suited for smaller panels, such as ours. For a full-sized control panel on a standup machine, wood is really your best option.
Once you’ve got your controls mounted, it’s time to start wiring. Every single microswtich needs to have two wires connected to it: one running from the middle prong of the microswitch to an input slot on the keyboard encoder and one running from the prong on the bottom of the switch to the keyboard encoder’s GND input.
Since every switch connects to the ground, you can save a lot of wire and minimize clutter by daisy chaining your grounds. This means that instead of running a wire from every switch to a single ground hub somewhere, you simply wire the hub to the first button, then the first button to the second button, then the second button to the third button, and so on and so on.
We daisy chained each of our control panels in this way, so that we only had a single ground wire running from each set of 6 buttons, and each joystick. We joined all of these wires at a grounding strip bought at Radio Shack ( err, The Shack ), and connected the strip to the keyboard encoder.
You can attach wire by soldering it to the switch, if you want, but doing this is time consuming, and a pain if you need to go back and make any changes later. Instead, we used crimp-on female disconnects, which made attaching and detaching wires much easier. Ultimarc sells a wiring kit , which includes all the wire you’ll need, a wire cutter/stripper/crimper and 100 disconnects. Pretty handy if you don’t already have all those things already lying around.
Once you’ve gotten your cabinet built, you might be tempted to start celebrating, but hold your horses—there’s still a lot of software configuration to be done. In this part of the guide, we’ll explain the different software you’ll need to get your MAME cabinet running full-tilt.
As with any new PC, the first thing you’re going to want to install is the drivers for your hardware. Motherboard drivers, if you need them, and video drivers. Assuming you went with the ArcadeVGA card, there are actually three drivers you’ll need to install. First, you need the video drivers. These come on a CD you get with the card. Next, because the ArcadeVGA card is a modified ATI card, you should install the ATI Control Center. This is also included on the Ultimarc CD, or it can be found on ATI’s website . The Control Center isn’t strictly, necessary, but it allows you to do some things like rotate Windows, if you’re using a vertical or upside-down monitor.
Finally, if you’re using a tri-sync monitor with your ArcadeVGA card, you need to download the Tri-Sync Utility here . This utility modifies the ArcadeVGA drivers to allow your system to make use of the tri-sync's ability to switch to 31 Khz mode, letting it display at higher resolutions without interlacing.
Next we’ll cover how to install and configure MAME and MaLa, the two programs which will allow your cabinet to actually play old games. MAME, of course, is the M ultiple A rcade M achine E mulator, and it emulates the software and hardware in thousands of old arcade games. To play a game on MAME, you need a ROM of that game, which is a file containing the data dumped from that arcade machine’s main board. There is a selection of obscure ROMs which have been made available for free by their copyright holders on the MAME homepage . You can also contact game companies directly about purchasing ROMs from them; although some companies are more receptive to this than others.
MaLa is a MA ME La uncher, or a “frontend;” software which displays and organizes your ROMs. Although originally designed for MAME, MaLa can actually launch games with any emulator that runs from the command line, meaning that you can manage all your classic gaming from a single program.
Unfortunately, there’s more to getting MAME and MaLa working than just clicking on setup.exe. But don’t worry, we’re going to show you everything you need to get each program configured just the way you want it.
One tip before we begin: None of the software we’re installing right now makes any changes to your system registry. Because of that, it’s possible to get everything installed in a folder on one computer (say, your desktop rig at home) where you’re most comfortable, then just copy the whole folder over onto another computer (the computer in your MAME cabinet, for instance).
You have to install MAME first, because MaLa configures itself based on a MAME installation. There are several different versions of MAME available, including ones with nice GUIs, or additional features like video filters which try to simulate the look of a CRT on an LCD, but for our purposes the basic command-line MAME is all we need.
To get MAME, head to the official MAME website and pick up the binaries for the latest version of MAME. If you’re running a 64-bit OS, make sure to grab the 64-bit MAME binaries. Simply run the self-extracting archive, and select a location to install MAME to.
You can install the program wherever you like, although we prefer to keep all of our emulation programs in one folder, such as C:/Emulation. MaLa will need to reference a several files and folders within the MAME installation, so it keeps everything more organized if you’ve got a single hub for all of your programs.
The default MAME installation is all you need to play any ROMs located in the roms subfolder of your MAME directory. However, the main goal of the MAME project is to preserve arcade history, and to that end there are other databases and files that you can download to give MAME more background info about the games you’re playing. Here’s a list of those files and what they do.
Artwork: MAME has in-game support for bezels, backdrops, and overlays, which can be enabled to give the game its original, arcade flavor. These artwork files can be found for individual games at this site , or you can search for the entire artwork.zip archive of ALL game art on Google or using whatever torrent search engine you prefer. Put the game art into the artwork folder in the MAME directory, leaving it zipped in individual game packages.
Samples: MAME strives for perfect emulation of old games, but it still has some flaws. Particularly, the sound circuits of some older games are too complicated to properly emulate, so MAME “cheats” a bit by using samples of the sounds used in the game. In order for the games that use samples to sound right, you’ll need to populate the samples folder in the MAME directory. Samples for individual games can be found here , or you can search for a complete archive.
History.dat: This file is an archive of information about games supported in MAME. Downloading this file and including it in your MAME directory will allow MAME and MaLa to provide detailed information about any game in your list. Download it here and put it in your MAME directory.
Catver.ini: This file contains genre and version information about every game supported by MAME. This will allow programs such as MaLa to sort or filter your games using this information. This file can be found here . Put it in your MAME directory.
Controls.ini: This file contains information about which controls are used by which game. This will allow MaLa or other programs to filter your games so that you only see games which you can play with your controls. The file can be found here . Put it in your MAME directory.
Additional Artwork: This data is not necessary, but frontends like MaLa can display additional artwork, including screenshots, photos of the cabinet, flyers and more. Most of this artwork can be found on the excellent MAMEWorld website in the Artwork section. If you would like to use any of these assets with your frontend, download them, then place them in their own subfolder in the MAME folder.
To configure MAME the way we want it, we’ll need to edit the mame.ini file. Unfortunately, this file should not yet exist; so we’ll create it. To do so, open a command prompt, navigate to the folder that contains mame.exe and enter the following command:
Now you should see a mame.ini file in the MAME directory. Use your favorite text editor to open the file. All of the settings in the file are pretty self-explanatory, but here’s a couple of useful one:
Under the Core Artwork Options heading, you may want to change the “bezel” setting to 0 to turn it off. Otherwise, MAME will automatically display a virtual bezel around any game for which it has artwork, reducing the screen space that game gets to use.
The Core Rotation Options allows you to make sure that the orientation of the screen is correct for your monitor. To rotate the screen ninety degrees to the right or left, enter a “1” for the “ror” or “rol” settings, respectively. To flip the screen 180 degrees, enter a “1”for both the “flipy” and “flipx” options.
If you’re using an arcade monitor, you should disable automatic screen stretching (necessary to actually get the benefit of an arcade monitor) by changing these options:
# WINDOWS VIDEO OPTIONS
# DIRECTDRAW-SPECIFIC OPTIONS
# FULL SCREEN OPTIONS
Once MAME is properly installed, setting up MaLa is pretty easy. Just download the MaLa zip file here , and extract it to a folder in your emulation directory. Run mala.exe, and a dialogue box should pop up informing you that this is the first time MaLa has run, and that the configuration tool is going to open.
The configuration will open, with the MAME Config -> Basics tab front and center. In the field marked "MAME Executable" press the “ … ” button and select mame.exe from the MAME folder. MaLa should automatically find the catver.ini file and other information files. If it doesn’t, you can manually locate them in the Additional tab. You can also define the fields in the Pictures and Video tab for the location of any additional art resources you’ve downloaded, which will allow MaLa layouts to use this information in your gamelists.
In the Basics tab, tell MaLa where to find the folder with your ROMs in the field marked “Rom path.” Using the dropdown menu, you can define additional locations for MaLa to search for ROMs in, but for our purposes that shouldn’t be necessary. Hit OK . A box will pop up asking you to refresh your game list; click on ok, and when it’s done scanning your ROMs, MaLa will start.
But what’s that? MaLa is ugly, you say? Well that’s just because you’re using the default layout, which is pretty lame. Instead, we’ll show you how to find and install a custom layout. First, you need to find a layout—a good source is here . When you download a layout file, it will have a .MLL file, and a set of art files, usually in a folder. Place the .MLL file into the MaLa/layouts directory, as well as the folder of art files. It’s important that the art files be in a folder in the layouts directory, with the exact same name as the .MLL file.
Finally, we’ll examine how to set up ROMlists, which allow you to sort your games into various lists within MaLa. For instance, you might set up a list of top-down shooters, or a list of games that can be played in “cocktail mode,” with the screen flipping back and forth between two players. You can create and edit game lists within MaLa using the menu (by default, the “2” key), but if you want to quickly work with a lot of games it’s much quicker to use the MalaGamelist.exe program included with MaLa.
That's it for our MAME guide. There's an almost-infinite number of ways you can continue to tweak and customize a MAME cabinet, but if you follow the steps in this article, you'll have designed and built a powerful, flexible all-in-one arcade machine. We hope you're tempted to try this project for yourself, and if you do build a MAME cabinet, we hope you enjoy it as much as we've been enjoying ours.