Building an Arcade Emulation Cabinet Part One: Software
ONE DAY I’LL OWN ONE OF THESE MACHINES
I love classic arcade games. Something about them sparks a sense of nostalgia, fascination and a youthful thrill within me.
Before I was old enough to drop my own quarters into video arcade games, I can remember some of the earliest arcade games to ever exist. Black and white discrete logic games (No CPU) such as DeathRace and Stunt Cycle. I remember the original Space Invaders phenomenon and rows and rows of Asteroids machines in the same arcade room. I actually felt a bit scared watching older kids play Berserk with that computer voice taunting and threatening them as they played. It was magic. As I got older I evolved into an arcade junkie of sorts. I can’t tell you how many quarters I dropped into Joust, Pac-Man, Mappy, Track & Field, Star Wars, Dragon’s Lair, Burgertime, Galaga, Xevious and countless other machines.
I grew up during what is now affectionately known as the “Golden Age of Video Games”. It is defined as the peak era of arcade video game popularity and technological innovation. 1978 through 1984.
Some of my early arcade favorites were Scramble by Stern and Battlezone by Atari. I always said to myself “One day I’ll own one of these! When I’m an adult and am rich enough, I’m going to have one in my house!!”
Well, I don’t know if I ever truly became rich enough to own one of those machines for myself. Perhaps it was mainly a matter of other things getting in the way such as college, marriage, buying a home, kids and a career… or simply having the space to put one in my home. However, I always thought it would be fun to own one.
In the mid 1990’s, a computer geek friend of mine introduced me to arcade emulation by giving me a copy of M.A.M.E. (Multiple Arcade Machine Emulator) ver .36 on a single CD with supporting ROMs. I was hooked. I could hardly believe that I could play the “original” Ms. Pac-Man that was in the arcades! Not a console or a re-created version. The real deal. Incredible!
MAME (world-wide developers) became my time machine back to the age of arcade greatness and youthful folly.
Over the years I learned more and more about MAME; how it worked, who worked on it, how it grew and was maintained, how it was controlled, the legalities, and above all, how to play hundreds and later thousands of arcade classics.
MAME is a software emulator that works on modern computer systems (PC, Mac, Linux) and emulates the complete circuit board of transistors, resistors, CPU(s), and graphics engine hardware of arcade games of the past. MAME itself is completely legal and free. Ultimately it is a labor of love directed toward the preservation and archival of arcade games of the past.
On the other side of things, another group of people collect real arcade circuit boards before they end up in the landfill and do what’s called a “ROM dump”. All the unique game code for that particular arcade game is captured, encoded and compressed into a digital rom file which can then be used with MAME or other software emulators to run the original arcade game on modern computer hardware. What ends up happening is that a ROM file containing the game say…Robotron 2084 while running on MAME will “think” its running on hardware inside an arcade cabinet and behave accordingly. Boot up screen, graphics, sounds, attract mode, dipswitch settings, arcade owner bookkeeping, high scores, etc., are all intact. The game itself won’t even play until it “thinks” it received a quarter.
Every few years I’d upgrade to a new version on MAME with “supporting files”. Eventually, I decided that I needed true arcade controls to play the games correctly and bought an X-Arcade Tankstick complete with a trackball. This was great, but it still didn’t feel 100% like the arcade experience. For that, I needed a full-sized arcade cabinet.
After I started experimenting with other emulators outside of MAME, I finally decided to fulfill my boyhood promise to myself and build a full arcade cabinet. Yes, I had found a way and I was now “rich enough” to do it.
Truthfully, you don’t have to be very rich to do this (after all I am a Cheapskate Gamer) but it does take a lot of time, know-how, and patience to pull it off. It’s like deciding to build a hot-rod in your garage because it’s no longer possible to go to a dealership and buy that classic car. You have to build it yourself. You have to learn every part of the engine, the body and the control mechanisms in order to tinker, mold, and restore your classic hot rod…er…arcade cabinet to it’s full potential.
This blog article will explain my process of building my own arcade emulation cabinet for home use beginning with software. I found lots of websites and online articles about the hardware part of this type of project, but not too many talk about the software.
Click here to read the “Part 2” article about hardware including computer parts, controller components and the cabinet building process. Click here for an earlier review article on arcade lightguns for home use.
My goal was to create the most complete multiple arcade game emulation station possible. No console emulators or games, I didn’t have any interest in that stuff. Only arcade games. If it didn’t require a quarter to play, I didn’t want it in my build. How many arcade games would I build into it? All of them. Thousands upon thousands.
MAME is the great-granddaddy of arcade emulation. The base of my project. It emulates the vast majority of arcade games and is more than enough for most arcade enthusiasts like myself. However, there are a few groups of games (eg: laserdisc games like Dragon’s Lair) that are emulated outside of MAME. I chose to include five other arcade emulators in my software build: Daphne, Sega M2, Demul, Supermodel, and a pinball simulator called “Future Pinball”. An excellent listing of NON-MAME emulators and supported games that helped me decide which to include in my final build is found here: http://nonmame.retrogames.com.
Although MAME does currently support a few laserdisc games, most of the classics are emulated within Daphne (American developer). Click here for more information.
Singe is a notable add-on to Daphne that will expand the range of laserdisc game emulation even further. You can find Singe here. Ultimately I decided against it’s inclusion in my build.
Demul (Russian developers) emulates Atomiswave, Sammy, and Naomi-class arcade games and can be found here.
Supermodel (American developers) is a newer emulator that attempts to emulate the Sega Model 3 board arcade games and can be found here.
Sega M2 (Spanish developers) emulates the Sega Model 2 arcade boards and can be found here.
Future Pinball (American developers) was my choice for a video pinball simulator and can be downloaded here. See our previous review of Future Pinball here.
[EDIT] I recently decided to add Visual Pinball with PinMAME (American developers) to my build. I was lured by the fact that it was the only way to emulate Baby Pac-Man, a half pinball, half video game…arcade game. Visual Pinball can be downloaded here. You can read our full review of Visual Pinball here on Cheapskategamer.com.
I decided against smaller emulators running obscure games or games that would run full speed otherwise with a 64bit version of MAME. I did give some serious consideration to DICE for black & white discrete logic game emulation but eventually decided to exclude it.
I opted for 64-bit versions and/or multi-cpu versions of each emulator given that I was building on a fairly fast dual-core CPU with a 64 bit version of Windows 7. No-Nag versions of MAME (won’t keep reciting the legalities of Roms) as well as no-expiration versions of Future Pinball and Visual Pinball can be found here among other places.
ROMS and OTHER SUPPORTING FILES
Rom collection is another subject in and of itself and frankly, can be a major pain in the behind. Due to the legalities of having Rom image files in one’s possession, I will not discuss the details of obtaining a complete set here. Use the internet and have lots of patience and you might just figure it out.
Daphne requires mpeg video and frame files besides Roms for each game it emulates. The mpegs (video files) are the true copyrighted (Read: difficult to find) items. Roms for Daphne are not legally encumbered and can be found here and framefiles can be created with a little research. Daphne can also help you download some of the key components needed, for a price.
Future Pinball tables are free to download and use. Click here for my favorite Future Pinball table download site.
Rom sorting is an important part of saving space and keeping your arcade hard drive clear of unwanted games. Non-working, No-sound, casino, slot machine, mature (pornographic), pinball mechanical (PinMAME), Mahjong (there are thousands of these games alone), or other such unwanted fluff can fairly easily be removed with free Rom sorting software. My favorite is ROMLister and can be found by clicking here.
Once you get all your emulators and “supporting software” in place, you’ll need a good front-end for your cabinet. A frontend is a type of “game launcher” that hides Windows and the command-line environment of the emulators and makes the whole presentation look slick, easy to use, and commercial.
While there are several excellent front-ends to choose from, I chose Mala. Why? Because it was free, rated highly, worked with Windows, had customizable skin/layouts and gave me the opportunity to load all chosen emulators including PC arcade ports (PC software). Had I not chosen Mala, I probably would have gone with Atomic FE as a second choice. Hyperspin is another beautiful option. Very slick but seemed to be too much about the movies of each game. Many of which don’t yet exist.
Since I have a graphic design background I was able to alter and tweak the original source files of the excellent RetroGUI layout by nexus6 (NOP) to suit my own build style and selected resolution. I created a unique color scheme and layout for each emulator in my cabinet rather than differentiating by platform. Again, I wasn’t interesting in any console emulation.
Part of completing the set-up of my frontend, I decided to use MAMEUI as a graphic user interface for MAME, a sort of pseudo frontend to test things out before I built the final Mala interface. It was easier to use than the DOS-looking, command-line interface and allowed for testing and tweaking of the emulator settings that were later to be picked up by my cabinet frontend.
UNIQUE PROBLEMS TO EACH EMULATOR
As I started building and testing each emulator I ran into more and more problems while creating a “dummy proof” environment for my arcade cabinet and Mala. I didn’t want people to have to know how emulators worked or be experts with computers to play a game. I took a lot of notes on problems I found so I could then take even more time to research solutions and overcome them. I used online forums and even emailed the emulator developers directly to get answers. Ultimately, I tested each and every non-MAME game to be sure it worked and built my game lists with only those that were fully emulated and working well. A few of the unique problems I had the most trouble with are listed below. In the end I’m proud to say that I overcame them all:
MAME: Large amount of un-usable or unwanted Roms, conserving hard drive space, deciding which CHD files to keep, global controls, analog controls, proper light gun settings.
Demul: Switching controls on the fly between games, selecting USA Bios for English language whenever available, screen flickering, going full-screen with the games automatically.
Sega M2: Lightgun game focus issues, 2-button escape.
Supermodel: Dipswitch setting requirements for some games, analog controls, manual controls setup, emulation speed vs framerate, rebuilding of unique romsets (rom merging), setting up 2P lightgun controls for Jurassic Park: The Lost World.
Future Pinball: Finding a non-expiration version, re-mapping controls to X-Arcade tankstick including pause/highscore control, pinball mediation error.
PC Ports: Launching with frontend, frontend focus issues, keeping lightgun controls consistent, Using Troubleshooter.
Most of these problems were overcome using a lot of patience, research and 3rd party software including Auto Hot Key, Troubleshooter, All-in-One and self-created batch files. Doing all this made it possible for my chosen frontend, Mala, to play nice with all my emulators and arcade games.
I highly recommend using online forums to get help with questions on emulators, frontends and even cabinet building. I spent a lot of time searching, reading and posting on forum sites. In my opinion, one of the best places to go is the forums at ArcadeControls.com. There are lots of helpful people there that are willing to help if you can’t find the answer by simply doing a forum search.