Tuesday, December 3, 2013

Let the Games Begin : The Home Arcade Project

I'm a child of the 80s. Break-dancing, rollerskates, neon, Hall & Oates, parachute pants, and most importantly, video games. My favorite place to go as a kid was the arcade. Dumping my entire allowance into machines one quarter at a time was a common occurrence. I turned 40 this year and while I have an Xbox360 and a Wii, I really longed to play the games of my youth. Several months ago I took my kids to a birthday party and the establishment had an Arcade Legends full-size video game console that had dozens of games on it. Unfortunately, the $3000 price tag was a bit much for my taste. This began my quest for an alternative. After researching a half-dozen options I learned that the upkeep for real video game machines is non-trivial. Many of them have very old technology that requires specialized (expensive) service technicians and proprietary hardware. I was looking for nostalgia, not maintenance.

The Research
After many hours of reading forum posts I stumbled across a blogpost that described exactly what I was looking for. I realized that I could emulate all of the arcade game systems as well as all of the home video game consoles from my youth by just installing a laptop into an arcade cabinet and connecting a specialized controller board (with two joysticks, buttons, and a rollerball) with a USB cable. This way, if anything goes wrong with the unit, I can fix it myself.  In the blogpost the author refers to an Xtension Arcade Cabinet that is essentially a cabinet kit that is all pre-cut and pre-drilled so that all you have to do is provide the computer hardware & software. I filled out the online order form and was just about to click the payment button when I hesitated at the shipping cost. Out of curiosity I clicked on the "About Us" link on the manufacturer's website and realized that they are less than 30 minutes away from me. I emailed the company and asked if I could come pickup the order to save the shipping cost and they assured me that it would be no problem. They even had display models so that I could try out different sizes and options before deciding which unit to purchase.

The Hardware
While I was looking at the display models I opted to add a few upgrades to my original purchase. First, I purchased a slightly larger cabinet than I had originally intended because I wanted plenty of room at the console for two player gaming. It cost about $100 more but it also included a backlit header (which doesn't seem like a big difference in the website pictures, but looks so much cooler in person) which is a $50 upgrade when buying the smaller model. Next, I noticed that some of the cabinets had real working coinslots in them. I opted for the coinslots instead of the simple flat black front ( purchased separately from xgaming.com). The actual board that houses the joysticks/buttons/trackball called a Tankstick had to be purchased separately as well. It is essentially a keyboard that connects to your computer via USB or PS/2 ports. Finally, I really loved the custom graphics on the display models so I purchased graphics for the header and a matching graphic overlay for the joystick/controller board. I had some old LCD monitors that I had intended to use in the cabinet, but the larger (XL) cabinet holds a 27" monitor (instead of a 24") so I purchased this new 27" monitor on Amazon. The cabinet requires a monitor with power and inputs on the bottom because of the mounting system. The only thing left to find was a computer to actually power the unit. My father had purchased a used IBM Thinkpad T42 for $200 several years ago and the display was cracked so he generously donated the laptop to the project.

The Software
The problem with using a PC and emulators for a game cabinet is the end-user experience. Seeing a Windows desktop as you switch games or emulators requires you to suspend the fantasy that this is an actual arcade machine. Enter Maximus Arcade. This simple piece of software provides a slick user interface that allows you to switch between different game emulators (Nintendo, Sega, Atari, MAME, etc) and then select a specific game (called ROMs) to play within that emulator. All without ever touching a keyboard or using a mouse. The simplicity of this user gameplay experience comes at the cost of many many hours of configuration and troubleshooting. Maximus Arcade does not include any emulators, so each emulator must be located, downloaded, configured, and then integrated into Maximus Arcade individually. Easier said than done. While this isn't necessarily the fault of Maximus Arcade (afterall, there are dozens of emulators to integrate with), but the documentation could be MUCH better. I configured and integrated the following emulators : NES, Super NES, N64, Atari 2600, and MAME. But I must admit, that once it was finished, the software worked exceptionally well.

The Cost
$500 cabinet
$35 coin slot
$70 graphic header/overlay
$200 tankstick
$200 monitor
$25 Maximus Arcade
$0 free laptop **
$30 shipping*
$72 sales tax
$1,132 TOTAL

* actual shipping cost for everything would have been $110 if I had not picked it up cabinet myself
** obviously, you may not have a free spare computer so this may be a significant cost

The Lessons Learned
  1. The Xtension cabinet saved me so much time/effort vs building from scratch or rehabbing an old cabinet. Not to mention, I met the guy (Wayne) who runs that small business and he's extremely nice and helpful. Highly recommended!
  2. There are speaker slots up behind the backlit header but no instructions. There is a black piece of wood that covers those speaker slots included in the cabinet kit. My only conclusion was that the speaker slots were purely for decoration.
  3. The florescent light behind the header cannot be removed/replaced without disassembling the cabinet. In order to reduce the frequency of this, go buy an extra powerstrip with an on/off switch so you can turn the backlight off without powering down the PC and mount it to the back of the cabinet.
  4. While the Tankstick is defaulted to use default MAME emulator keystrokes with the NUMLOCK key ON, I have found that this causes some games to not exit properly. I had to remove NUMLOCK and remap my games to use the Tankstick
  5. The Tankstick is a really nice keyboard emulator, but don't bother trying to custom program it. The moment you turn off the PC the keys all revert to their default values until you lift the Tankstick out of the cabinet to press a hidden button (poor design). Map all of your emulators to the Tankstick's default key mappings
  6. The coinslot comes with no instructions.  There is a single diagram on the manufacturer website that is not very helpful.  You must remove the bottom panel of the tankstick (6 screws) to attach the cords from the coinslot.  Trial & error to determine which cable goes where.  Coinslot also does not come with anything to catch the quarters!
  7. Google is your friend. When you come across weird idiosyncrasies that don't make sense, start trolling the message boards comment threads for solutions (like the NUMLOCK issue above).
  8. Download the emulators and the game ROMs together from a torrent server. Otherwise you will find yourself spending HOURS trying to figure out the nuances of how to get your ROMS to be recognized by the specific version of the emulator you are using. I tried five different MAME emulators before getting one that worked reliably. (note: legally speaking you must pay for all ROMs/games that you use. I will leave that exercise to you. I am simply pointing out the simplest method of configuring those ROMs/games to work with your emulator of choice.)
  9. Mapping emulator buttons is kind of a pain. Decide which emulators you want to include. Research the buttons on the original controllers. Decide how to provide the best consistency for the Tankstick and write them on the diagrams included in the Tankstick manual.
  10. Install and configure each emulator independently before trying to integrate it into Maximus Arcade.
  11. Configure each emulator to "Close all additional processes started during launch" in the "Configuration" tab of Maximus Arcade's "Preferences" interface (CTRL-P). This ensures that exits happen cleanly.
  12. To configure MAME from within a game hit the TAB key on the keyboard and follow the menus.
  13. Plan to devote dozens of hours to this project over a multi-week period if you are not already very familiar with emulators.

The Result

note: The coinslot was on backorder when I first wrote this, so you can see a sticker in place of the coinslot in some of the pics. But here's a pick with the completely functional coinslot installed (only relevant for MAME):

The Conclusion
This was a labor of love for me, but it was definitely worth both the time and the money spent. Not only do I get to play these classic games, but I get to share them with my own children. I even got my wife (not much of a gamer outside of Halo) hooked on the classic Tapper arcade game. If you are a nostalgic child of the 80s like me, and you have a bit of spare cash and some free time... I highly recommend taking the plunge.