Build Your Own Arcade Game Player and Relive the '80s!
I grow weary of hearing how bad Linux is for gaming. In this article, I buck that stereotype and show how to use penguin power to relive the '80s. In this cool project, I describe how to construct a fully functional arcade cabinet. When complete, you'll be able to play all the old coin-op games from your childhood in the coin-free luxury of your living room (or garage—depending on the tolerance of individual spouses).
The system uses software based on the MAME (Multi-Arcade Machine Emulator) Project to play the original classics emulated in Linux. MAME uses software to emulate the original arcade hardware. This article explains how to connect the original joysticks and buttons, and even gives some pointers regarding purchasing rights to the original games.
First off, it's the arcade case that makes this project truly awesome. If you don't have an actual arcade cabinet, with original arcade controls, you might as well go back to playing Zork on your TSR-80 for your dose of nostalgia. The cabinet is what makes this cool, period. It's up to you to decide whether to make a cabinet or buy a used one. If you make the whole thing from scratch, the design is completely up to you. The downside is that doing this requires some woodworking skills. I have no such skills. In fact, to me, “saw” is a type of waveform on an oscilloscope. So, I opted to purchase an old arcade machine and gut it out. Unless you are a woodworker, this is the way I'd suggest doing it. As a bonus, I got all the buttons and controls I needed for free, and the case even smelled a little like a pizza parlor. (Okay, that might be my imagination.)
To find used cabinets, look up “coin op” or “arcade” in the phone book. It was my particular fortune to find a man willing to give me two used cabinets for $30. I did have to listen to a litany on the downfall of the arcade generation and how kids these days don't appreciate the classic games. I think he threw in the second case for me when I mentioned that I was rebuilding it because I wanted to relive my youth. He liked that idea almost as much as I did. Keep in mind that if you happen to get an arcade monitor, it's possible actually to use it, but it requires more work. For the purpose of this article, I assume you're using a standard computer monitor.
After I bought my wife flowers and took her out to dinner, I was allowed to bring one of the cases into the house and start the fun. My particular case was from an old Neo-Geo game, and I chose to leave the somewhat damaged decal on the side (Figure 1).

Figure 1. You can see the cabinet won't win any beauty contests, but it's just dripping with nostalgia.
If you are, in fact, a woodworker, you may want to purchase the particle board and make a truly custom cabinet. There are designs and original measurement specifications for some common arcade machines on www.arcadecontrols.com. In fact, that site has tons of information on constructing a MAME machine from the ground up, and it's an invaluable Web site. To be honest though, even if I were able to start from scratch, I actually prefer the used cabinet. There's something special about knowing it's the real deal, even if the insides are all different.
The most difficult part of construction, for me, was getting the monitor properly mounted. I used an old 17" Apple monitor that was destined for the trash. As you can see in Figure 2, the monitor shelf has to be at the right angle so that the face of the screen is flush with the Plexiglas front. I'm sure there are woodworking shortcuts for figuring out how to get the angle correct, but I ended up with some really complicated geometry equations involving SINE and COSINE. Yep, I'm a geek.

Figure 2. I most likely could have gotten just as close with a guess, but I must confess a lot of math went into the angle calculation for this shelf!
The shelf below is to hold the computer. All I did there was line up the shelf with the coin door in the front, so I could reach in to power the computer on and off. (The coin mechanism actually can be wired and used, but mine was broken, so I never installed it. Maybe next time.)
The last bit of woodworking is the most complicated. You must decide what button layout you desire. I'm the kind of person who spends 20 minutes looking at a dinner menu, so a decision like this was bordering on impossible for me to make. I read, I Googled, I compared and I surveyed. My suggestion is that you avoid all that and go with the layout I chose. Why? Because it works for most games, and you can always change it later. Figure 3 shows the button layout I chose, which happens to be a standard Street Fighter II layout.

Figure 3. I really was lucky with the free buttons I got with the cabinets. I couldn't have planned the colors any better if I tried. You'll see evidence of my woodworking shortcomings by the extra hole I drilled.
You'll notice an extra joystick in the middle, which is not part of the Street Fighter layout. It's an original Ms. Pac-Man joystick that my wife got as a belated high-school graduation gift. (We're an odd family.) It's wired directly to the player-one joystick, so don't worry if you don't have such a beast, it's not really additional, just an alternate.
The joystick and button holes will vary in size, but standard buttons use 1 1/8" holes. Feel free to lay the buttons out however you like. I went out of my way to make sure the buttons were perfectly placed, but there aren't rules for these things. Don't forget a button for inserting coins! Mine is sticking out of the front of the machine, about where you'd put in a quarter if it were an actual arcade.
Now you should have a mostly empty case with a monitor shelf, computer shelf and a wooden control panel full of holes. If you are doing this work in the house, and you happen to be married, take this time to vacuum. You can thank me later.
If you are the artistic type and want to paint the control panel and cabinet, go ahead and do so. I couldn't wait, and to this day my cabinet has a raw-wood control panel.
Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Reply to comment | Linux Journal
12 min 15 sec ago - Favorite (and easily brute-forced) pw's
2 hours 3 min ago - Have you tried Boxen? It's a
7 hours 55 min ago - seo services in india
12 hours 26 min ago - For KDE install kio-mtp
12 hours 27 min ago - Evernote is much more...
14 hours 27 min ago - Reply to comment | Linux Journal
23 hours 13 min ago - Dynamic DNS
23 hours 47 min ago - Reply to comment | Linux Journal
1 day 45 min ago - Reply to comment | Linux Journal
1 day 1 hour ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
awesome
Looks like you got the same wiring skills as me. lol
do you know where??
i could get info on how to build a gunshooter mame arcade?? for like lethal enforcers, time crisis and point blank type games??
cool
cool
MAME home page
the mame page link doesn't seem to work?
arcade
You are Pacman and you get the dots. Once the bar is filled up you can do a super fire punch once you press spacebar. Wouch out the zombies can get dots too the make them faster.To move is the up,down,right, and left. You got to kill all 20 zombies you get past the level.