Gene Mills

This my space on the web.

Project M.A.M.E. 14 years later

Posted on 29 Jul 2017 in Projects | Comments Off on Project M.A.M.E. 14 years later

What is MAME, you ask? Well, if you’re as old as me, you probably spent a good portion of your youth (and weekly allowance) feeding quarters to these monsters called “arcade machines” in a generally poorly lit, dingy corner of the local mall or pizza place. I misspent my youth in arcades. Today the Xbox, Playstation, and Nintendo reigns supreme, and the young cyberpunks play impressive 3-d First Person Shooters, where you mow down drooling aliens with impressive graphics and awesome firepower. But back then, the most fearsome thing going was “Space Invaders.”

Pacman hit my area in 1980. Suddenly, there was Defender, Jungle King, Donkey Kong, and Missile Command! Quarters became an endangered species. The Arcade Age had arrived!

Ah, the Golden Years! I could recount more about my arcade loves than my human ones. The thrill of the key levels in Pac-Man, the low rumble of atomic destruction in Missile Command, the challenges of Tron! I went through a fortune in quarters, standing in Starcade, The Cave and Stewart’s Arcade, playing Frogger, until my knuckles were sore.

But one day, I woke up on the street corner, out of quarters and out of luck. Where were the arcades? Alas, the end of the era of the blinking game machine came with a whimper, not a bang. Bit by bit, the arcades disappeared, as they were supplanted by jerky little low-res video game consoles for the home. Still later, PC’s came into their prime, and the last sad arcade machines were demoted to seedy strip malls, or left for dead on their sides in some waterlogged junkyard. A sad death for the once great. R.I.P.


“On December 24th, 1996, Nicola Salmoria began working on his single hardware emulators, which he then merged into one program during January 1997. He named the accomplishment by the name of Multiple Arcade Machine Emulator, or MAME for short.

The first official release was MAME 0.1, which was released on the evening of February 5th, 1997. Using a modular and portable driver oriented architecture with an open source philosophy, it soon grew into immense proportions. The current version supports close to 4000 ROM sets, and well over 2000 unique games.”

“MAME stands for Multiple Arcade Machine Emulator. When used in conjunction with a game’s data files (ROMs), MAME will more or less faithfully reproduce that game on a PC. MAME can currently emulate over 1900 unique (and over 3300 in total) classic arcade video games from the three decades of video games – ’70s, ’80s and ’90s.

The ROM images that MAME utilizes are “dumped” from arcade games’ original circuit-board ROM chips. MAME becomes the “hardware” for the games, taking the place of their original CPUs and support chips. Therefore, these games are NOT simulations, but the actual, original games that appeared in arcades.

MAME’s purpose is to preserve these decades of video-game history. As gaming technology continues to rush forward, MAME prevents these important “vintage” games from being lost and forgotten.”

It’s all about “emulation.” (For the Newbie, that’s convincing your big, fancy Quad Core CPU with the 32GB memory to behave like a clunky old arcade machine.) And with it, Mappy bounces once more, the Invaders thunder overhead, and that old boy PacMan chugs along eating up dots just like it was 1983. The sad thing is, the original owners on most of the games of our youth are long gone, and have done nothing with the games for over thirty years. MAME puts the paddles of life to those games, and brings them back on hardware you probably own already.

I dived into the forums at Build Your Own Arcade to chat with others who shared my obsession and to borrow some ideas! I was ready to build my dream machine but first I know I would have to make decisions and it would be helpful to have a clear understanding of what I wanted to achieve. As such, I put together a list of ‘mission statements” to help guide me.

Mission Statement:

During the design stages of my cabinet, when I have to make decisions, I will find it helpful to have a clear understanding of what I was want to achieve. As such, I put together a list of “mission statements” that will help guide me.

1. To make classic arcade games as playable as possible, as much as possible, in their original form (placement of controls is almost as important as having the right controls).

2. To make the machine as authentic looking as possible, except when it drastically conflicts with playability or usefulness.

3. To make the machine as easy to use as possible. Players should not need to know anything about emulation or computer use to launch and play games.

4. Configuration of the machine should be hidden or even locked away, to prevent intentional or accidental corruption by users. At the same time, it should be easy for me to get to it.

Searching online I found an old blog post I made on August 14, 2003 showing my arcade parts had arrived. I printed out a control panel template of what I wanted. Assembled a box, routed out a space for a trackball and joysticks and drilled holes in the control panel. Tested to see if the buttons fit…success! Next step was to design my control panel graphics – no sense adding the microswitches for the buttons and joysticks and wiring it all up to a keyboard encoder when I would have to lay down the overlay on top first. I’ll do that the next day or two I thought. Then days turned into weeks. No big deal, I know how to do it – I’ll get to it. Weeks turned into months. I moved…a lot..the half assembled control panel moved with me, the parts moved with me. Months turned into years…14 to be exact.

MAME has changed a lot in 14 years. More games, more operating systems/platforms/devices supported. Emulation has evolved to not just arcade games but console games as well. I’ve been playing with HyperPie on one of Raspberry Pi computers lately and re-visited my Mission Statement #2. My desire to have graphics to make it look authentic was certainly conflicting with playability. I wasn’t playing at all…and isn’t that really what I wanted to do? This week one of my goals was to finally wire this control panel. Player 2 joystick, the spinner and the Trigger joystick aren’t wired yet (I don’t have one) but for now it’s on like Donkey Kong! You might say: “You’re crazy to do this” I would say “That’s not a nice way to talk to a guy with a 1000 games in his basement. You want an invite to the next gaming party don’t you?