Fork me on GitHub

Twenty Years of MAME

01 Feb 2017

Way back in 1997, Nicola Salmoria merged a few stand-alone arcade machine emulators into the first Multiple Arcade Machine Emulator. Could he have possibly imagined the significance of what he’d built? Over the past two decades, MAME has brought together over a thousand contributors to build a system that emulates more machines than any other program. But MAME is more than that: MAME represents the idea that our digital heritage is important and should be preserved for future generations. MAME strives to accurately represent original systems, allowing unmodified software to run as intended. Today, MAME documents over thirty thousand systems, and usably emulates over ten thousand. MAME meets the definitions of Open Source and Free Software, and works with Windows, macOS, Linux and BSD running on any CPU from x86-64 to ARM to IBM zSeries. As well as a general-purpose emulator, MAME serves as a reference for people repairing vintage electronics, a development platform for testing homebrew/unofficial software, and an educational tool. We’ll be posting a series of updates and retrospectives in celebration of the twentieth anniversary of the first MAME release on 5 February.

So who develops MAME and why? MAMEdev are a group of people sharing the common goal of advancing the understanding, preservation and emulation of electronic history. We have about sixty developers at present. For most of the project’s life, development and releases were coordinated by an individual. This was originally Nicola Salmoria, who briefly handed over the reins to Mirko Buffoni before returning to the role. Subsequent coordinators were David “Haze” Haywood, Aaron Giles, Angelo “Kale” Salese, and Miodrag “Micko” Milanović. In May 2016 we transitioned from an individual coordinator to an elected board of five who loosely coordinate development. The current board consists of:

  • MAME visionary Miodrag “micko” Milanović
  • Technical lead Olivier “Sarayan” Galibert
  • Very senior developer R.Belmont
  • Development and release manager Vas “cuavas” Crabb
  • Project facilitator Greg “Stiletto” Ember

In addition, two very important roles on the team are our technical writer Firehawke, and head of QA Tafoid (also our main liaison at MAME Testers).

Originally, MAME only emulated arcade games by a rather arbitrary definition. A sister-project called MESS (Multiple Emulator Super System) sprang up leveraging the MAME framework to emulate everything else. In August 2012, MAME and MESS combined their source trees and harmonised releases. In May 2015, the functionality formerly provided by MESS was folded into MAME. Former MESS project coordinators were Ben Bruscella, Nathan “Bletch” Woods and Miodrag “Micko” Milanović.

But MAME wouldn’t be what it is without the massive community surrounding the project: all the people who’ve dumped ROMs/disks, submitted patches, filed bug reports, developed a front-end GUI, curated a collection of support files, packaged binaries for distribution, helped a friend or acquaintance get started with MAME, or even just talked about the project, getting the word out there. It’s thanks to all of you that MAME has endured this long and grown to the scope it covers today.