Fork me on GitHub

Welcome to The Official Site of the MAME Development Team

What is MAME

MAME originally stood for Multiple Arcade Machine Emulator.

MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME prevents this important "vintage" software from being lost and forgotten. This is achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully?). Over time, MAME absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video games that were its initial focus.

License

The MAME project as a whole is distributed under the terms of the GNU General Public License, 2 (GPL-2.0), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the BSD-3-Clause License and we would encourage new contributors to distribute files under this license.
Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo or wordmark.

MAME 0.186

31 May 2017

It’s been one of those long, five-week development cycles, but it’s finally time for your monthly MAME fix. There’s been a lot of touched in this release, with improvements in a number of areas. But before we get to the improvements, we have an embarrassing admission to make: the game added in 0.185 as Acchi Muite Hoi is actually Pata Pata Panic, and the sound ROM mapping was incorrect, making the game unplayable. That’s all sorted out now though, thanks to occasional contributor k2.

New working arcade games include Epos Revenger ’84, Jockey Club II, Hashire Patrol Car, the Mega Play version of Gunstar Heroes, and the much-awaited Taito Classic Space Cyclone. Improvements to emulation make Legionnaire and Heated Barrel fully playable at long last, and Megatouch XL 6000 is working in this release. There are also plenty of new versions of supported games, including a world release of the puzzle game Star Sweep, the Taito licensed version of Bagman, the Japanese release of Top Landing, the Italian release of Penky, and European bootlegs of Amidar and Phoenix. We’ve got some exciting improvements to supported arcade games this month, too. Sound effects for Universal’s Cheeky Mouse are now supported, and the analog section of the melody synthesiser used in Zaccaria’s Jack Rabbit and Money Money has been implemented, although it’s still missing the cassa (bass drum) sound at the moment. We need schematics and quality PCB photos to add support for analog sound synthesis in more games, so if you find any we’d really appreciate if you could send them our way.

New working home/handheld games include Jungle Soft Zone 60, Gradius, Lone ranger, Teenage Mutant Ninja Turtles, Top Gun, and the Game & Watch titles Mario’s Cement Factory, Boxing, Donkey Kong II and Mickey & Donald. The CoCo Games master cartridge is supported as a CoCo slot device, support for the French Minitel 2 terminal has been added (thanks to Jean-François Del Nero), and there’s some more progress on the InterPro systems from Patrick Mackinlay. Peripherals for the TI-99 home computer family have been overhauled, making the PEB a slot device that plugs into the I/O port – this will require changes to your configuration if you use this family of computers.

Finally, the -listroms verb supports device sets (e.g. mpu401 or m68705p3), -listroms, -verifyroms and -listxml support multiple patterns on the command line, -verifyroms is much faster when a small number of sets are specified, and the romcmp tool has seen several improvements.

These are just the highlights of course – you can find the rest of the changes in the whatsnew.txt file, or get the source/Windows binaries from the download page and enjoy all the improvements. Thanks for continuing to use and support the one and only MAME.

MAME 0.185

26 Apr 2017

Today’s the day for our April MAME release, bringing some important fixes as well as the usual assortment of emulation improvements. A bug preventing multiple keys from being mapped to subdevice inputs has been fixed, which means you can now assign multiple keys to buttons in NeoGeo games and consoles/computers with controller/keyboard/mouse slots. Software loading has been reworked in this release, and the user-visible issues in 0.184 should be addressed. An improvement to the debugger allows more cheats in games with encrypted program ROMs.

Newly supported systems include the Galaxy Games StarPak 4 prototype (thanks to Keith Kolmos), Acchi Muite Hoi (a jan-ken-pon game), the HP 9845T computer, Tekken Card World, and Pirate Ship. This release also restores working support for Omori Popper, the driver rewrite having been completed just in time (the old driver had to be removed due to licensing issues). New clones includes the export release of Mach Breakers, an earlier world release of Rastan, the US release of Sonic Blast Man, and Up Maguila (a Spanish bootleg of Donkey Kong Jr.).

Emulation improvements include improved netlist performance, a fix for classic Mac keyboard input, a fix for the Apple I cassette interface, and fixes for regressions in Thomson floppy support and Apollo SIO. The N-Sub driver now supports sound sample playback and the gradient generator simulation uses PROM data. There are also some fixes for bugs in the Intel MCS-51 and 8086 family CPUs.

Of course that’s not all, and you can read about everything else in the whatsnew.txt file, or get the source or Windows binaries from the download page and have a look yourself.

MAME 0.184

29 Mar 2017

Well, it’s the last Wednesday of the month, and I hope you know what that means: it’s time for your regularly scheduled MAME release. There aren’t a huge number of new working machines in this release, but there are some significant improvements. Thanks to kazblox, MAME now emulates some of the peculiarities of Famicom clone hardware, and thanks to shattered, emulation of the Agat-7 Apple II clone is improved. Peter Ferrie provided a superior Apple II language card implementation. We’ve got lots of additions to the BBC and PC software lists from Nigel Barnes and darkstar.

We’ve made substantial improvements to some of MAME’s non-emulation features. The -romident verb is now much faster when used on a folder or archive containing multiple files, and will identify ROMs for emulated slot devices that aren’t inserted by default. The -listxml output now includes all linked devices, and is produced at least 30% faster. We’ve also improved -verifyroms so it covers more devices and is faster when verifying ROMs for a subset of drivers/devices.

MAME 0.184 includes support for plenty of newly dumped versions of supported arcade games, including a rare US prototype of Shanghai III, the world release of Super Crowns Golf, a version of Flashgirl that shows the Kyugo logo, a German version of Raiden II, the Japanese release of Radical Radial, and bootlegs of Bomber Man and Phoenix. There are also several new chess computers, and even more Aristocrat Mark V gambler sets. If you’re interested in the TI-8x graphing calculators, it’s now possible to get an emulated TI-82 or TI-85 to communicate with another emulated instance or with a program running on the host computer over a socket.

You can read about the rest of the improvements in the whatsnew.txt file, or grab the source or Windows binaries from the download page to try it out.

MAME 0.183

22 Feb 2017

Hi everyone! It’s been a busy month for MAME development, and we’ve got a whole lot of surprises to unwrap today as we continue to celebrate twenty years of MAME. First up, we’ve added some incredibly rare systems to MAME. Omega is an Arkanoid-inspired arcade game with a production run of about ten boards. Dodge Man is a rare Omori title from 1983. The vertical version of Flash Boy, a DECO Cassette title that borrows more than a little from a well known anime is another very rare game that was at risk of becoming nothing but a memory. Westinghouse Test Console #5 is possibly a one-of-a-kind wire-wrapped prototype machine for field-programming some kind of interlocking equipment (it has a rude easter egg – press X|TRAN in calculator mode to see it). Less rare, but still awesome, are arcade titles Galaxy Games StarPak 3, Sega Sonic Cosmo Fighter, and a U.S. release of Puzznic with the digitised photos intact.

This release adds support for a number of electronic toys/handheld games, including Atari’s Touch Me (a clone of Simon, which is itself a clone of an Atari arcade game), GAF Melody Madness, Lakeside Le Boom, and with possibly the most awesome title if not gameplay, LJN’s I Took a Lickin’ From a Chicken. Many of these games have colourful, clickable artwork. MAME is dedicated to preserving more than just video games, and these systems are great examples of some of the other experiences you can relive through emulation.

If you use MAME’s computer emulation and have been frustrated by modifiers not working properly in natural keyboard mode, you’ll be pleased to know that this release addresses that. Natural keyboard mode now works properly with many more systems, including Amiga, Sun and RM Nimbus. Speaking of Amiga, we’ve emulated a 3rd-party variant of the Amiga 1200 keyboard and added support for many different language variants, so chances are you’ll be able to use keyboard that matches your Workbench language. And speaking of keyboards, the Zorba keyboard now works properly, so you can try out one of the last luggable CP/M machines.

Other improvements include fixing the crash on encountering invalid cheats, allowing multi-part software list entries to load each part on the correct interface, emulation of the Poly-Play light organ, a brand new preliminary Interpro 2800 driver and Clipper CPU core, support for VIC-20 and C64 speech synthesiser cartridges, support for the Osborne-1 Nuevo Video 80-column modification, protection MCU emulation in Bad Dudes vs. Dragonninja and Bouncing Balls, audio improvements to a number of supported games, and optimisation of the netlist emulation.

Some of these improvements might seem inconsequential, or apply to systems you don’t use, but they often lie in common components used by many other systems. For example, the Amiga 1200 and Zorba keyboards use the same MCU family used in a lot of arcade games published by Taito. The same change that fixes the Zorba keyboard also fixes enemy spawning and timing in Xain'd Sleena. The Nuevo Video board uses a common Motorola CRT controller, so improvements made to support it stand to benefit a lot of other systems.

Of course there are plenty of other improvements not listed here, and you can read all about them in the whatsnew.txt file, or grab the source or Windows binaries from the download page and join in our 20th anniversary celebration.

Happy birthday, MAME!

05 Feb 2017

Today marks the twentieth anniversary of the very first MAME release. We’d like to thank each and every one of you who’ve contributed to making MAME what it is today. When we prepared a list of credited contributors for MAME’s tenth anniversary, it came to just over 500 names. The number of credited contributors has more than tripled since then: over 1,600 individuals/groups have been credited with contributions. MAME is a truly inclusive, global team effort. We’d also like to thank the uncredited contributors – if you’ve filed a bug report, distributed binaries, run a community site, or just put in a good word for MAME, we appreciate it. It’s very humbling to realise that there are people on this list who were born after the initial MAME release. We’d also like to take a moment to remember the contributors who have passed on and are no longer with us.

We look forward to seeing this list grow even faster over the next decade:

0-wiz-0
15kop arcade museum
2600
30yr
4am
686
69mustang
9ofzeven

A. Babich
A. Brown
A. Costin
A. Hoekman
A.Kueckes
A.R.P.A.
A.Viloria
AamirM
Aaron Giles
Aaron Stover
abcd efgh
abelardator2
Abelardo Vidal
Ace
Acho A. Tang
Adam Bousley
Adam Gashlin
Adrian Smethurst
Aeternal
ahofle
AintBigAintClever
ajax16384
AJR
Akiles500
Al Kossow
Aladar
Alan Griffin
Alan J McCormick
Alan Kamrowski II
Alan Meades
albaki77
Alberto Grego
Albolo
alca
Aldo Vittorio De Luca
Alegend45
Aleksandar Spasojevic
Ales Dlabac
Alessio Manuele
Alex
Alex Eddy
Alex Judd
Alex Meijer
Alex Miller
Alex Pasadyn
Alex Romero
Alex W. Jackson
Alexander F.
Alexander Stakhanov
Alexey
Aley Keprt
Ali
alien_mame
Allard van der Bas
allentown_john
Alone Coder
Amanda King
Anders Hallstrom
Anders Sandahl
Andi
Andre Cotrim
Andre Hufschmidt
Andrea Mazzoleni
Andrea Palazzetti
Andrea Petrucci
Andreas Kraemer
Andreas Naive
Andreas Senk
Andreas Singer
Andreas Thorsén
Andrew Caldwell
Andrew Church
Andrew Conroy
Andrew Gardner
Andrew Jackson
Andrew Jenner
Andrew Kuchling
Andrew Kurushin
Andrew Prime
Andrew Scott
Andrew Seed
Andrew Zaferakis
Android
Andy Conroy
Andy Henderson
Andy Jones
Andy Raven
Andy Welburn
Andy Welsh
Andy White
AndyGeezer
Ange Albertini
Angel Maestre
Angelo Salese
angrylion
anikom15
Anna Wu
announ
Anoid
anondumper
anonyMous donator
Anonymous from Switzerland
Anssi
Anthony Kruize
anthonyoftga
Antoine Mine
Antonio ‘Peluko’ Carrillo
Antonio Giner
Antonio Gonzalez Jr.
AntoPISA
Antro
Antwon Barajas
ANY
Arashikage
Arcade Addict
Arcade Belgium
Arcade Vintage
arcade-history.com
arcadecomponents.com
ArcadeDude
ArcadeHacker
arcademodbios
ArcadeNUT
Arcadezentrum
arcadiabay.de
arielseachild
Arjen Hoekman
Arnaud G. Gibert
Artemio Urbina
Asayuki
Ashura-X
Asociacion A.R.C.A.D.E.
Astroblaster
Atari Ace
atchoo
Atilla Grosz
Augusto Garcia
AUMAP
austere
Avedis Boyajian
Axel Muhr

B Zeidler
B. Sparks
B.S.Ruggeri
B2K24
Bad A. Billy
Badbaud
balrog
barakandl
baritonomarchetto
BarnacleEd
Barry Gemma
Barry Harris
Barry Rodewald
Bart Tobalske
Bart Trzynadlowski
Bartolome Lopez Gimenez
Basilio García
Bat Country Entertainment
batman2509
Battlepriest
Bavarese
Baverese
bbmmamoh
bdam
Bela Harcsa
Ben Bruscella
Ben Fino-Radin
Ben Geeves
Ben Rudiak-Gould
Ben76
Bensonrad
Berger
Berlioux Julien
Bernard Tack
Bernd Wiebelt
Bernhard Frauendienst
BET
biasini
Bicycle Repairman
Bigster
Bill Blake
Bill DeLeo
Bill K
bisboch
BisonSAS
bisus
bitsavers
Bjorn Stahl
Black1972
Bladerunner
Blair Quinney
blargg
blib
blinddog1
Blip
blokey
bmoto
bnathan
Bob Seidel
bobaruni
Bobby Conover
Bobby Tribble
bobz
bodger319
bonky0013
boredstu
BouKiCHi
Brad Hughes
Brad Martin
Brad Oliver
Braille
BraiNKilleRGR
Brandon Corey
Brandon Kirkpatrick
Brandon Munger
Branimir Karadzic
Breiztiger
Brendan Schulze
Bret Wallace
Brett Wyer
Brian Callahan
Brian Crowe
Brian Deuel
Brian Griffin
Brian Hargrove
Brian Levine
Brian Lewis
Brian Oberholtzer
Brian Stern
Brian Troha
Brian Verre
Brian Walenz
brizzo
Bruno Celsi
Bryan Ischo
Bryan McPhail
Bud Crittenden
Buddabing
budge
bulldawg
bushjc
BUT
Byte Surfer
ByteMaster
bytestorm
byuu

C J Wren
C. Bristow
C. Stefano
C. Trutmann
CAB
cacis
CaH4e3
Caius
Cameron Zemek
Cananas
Canim
Cap
CAPS0ff
Captain Ahab
Captain Haddock
Carl
Carl Perry
Carl-Henrik Skårstedt
Carlos A. Lozano
Carlos Gutierrez
Carlos Santillan
Casper Ti. Vector
catSushi
cbt
CDiFan
Cesare Falco
cgwg
Chack’n
Chad
Chad Hendrickson
Chad Hurwitz
Chaneman
Charles MacDonald
CharlesJS
Charlie Miltenberger
Chizzy
Choi Sung Ho
Chris Despinidis
Chris Engel
Chris Hardy
Chris Kennedy
Chris Kirmse
Chris Law
Chris Moore
Chris Psaros
Chris Ransley
ChrisQC
Christian Brunschen
Christian Grössler
Christian Marillat
Christian Raftopol
Christoff Feldtmann
Christophe Jaillet
Christophe Verre
Christopher Bachmann
Christopher Edwards
Christopher Stone
Claudio Bechini
Claudio Casiglia
Claudio Nieder
ClawGrip
Clay Cowgill
Clay Harrell
cmonkey
Col Turner
Colin
Colin Howell
Colin Plumb
Collin Foust
Colonel_Klink
colour.thief
Comboman
ConHuevosGuey
CoolFox
CoolMod
Cools
Cornishdavey
Costa Sgantzos
Couriersud
couriersud
Cowering
cpsystem3
CptGuapo
Craig Anstett
Craig Walker
CreamyMami
cricri_pingouin
Cristian Arias
crzmx
Curt Coder
cutebutwrong
Cydrak
cync

D$wizz Taylor
D. Beneke
D. Edwardson
D. Haist
D. Maeby
Dag Lem
Dagarman
Dale Luck
DamagedGoods
Damjan
Dan Boris
DangSpot
Dani Portillo
Daniel “casebres”
Daniel Coulom
Daniel Filner
Daniel Hitchcock
Daniel Palmer
dannonew
Dante Profeta
Dario Manesku
darkcoder
Darklord
Darksoft
Darkstar
Darq
Darran
Darren Atkinson
Darren Hatton
Darren Olafson
Darrin Redick
Dave
Dave Ahlswede
Dave Dribin
Dave F
Dave France
Dave Hollister
Dave Jones
Dave Ormiston
Dave Spicer
David Alves
David Bain
David Calandra
David Caldwell
David Graves
David Haywood
David J. Robertson
David Raingeard
David Robertson
David Rolfe
David Silva
David VanVoorhis
David Viens
David Widel
David Winter
Dazzer
Deacon Blue
Dead_Body
deadscreem
Dean London
defor
Demul Team
Denis Lechevalier
Derek Ledbetter
Derick2K
Derrick Renaud
desodeso
destruk
Deunan Knute
dgame
DHS
DICE Team
Dick Millikan
dink
Dion
Dirk Best
Dirk Verwiebe
djvinc
Dlfrsilver
Dna Disturber
dogpn
Dominic Nater
Don Hodges
Don Maeby
Don Zaucker
dos_
Dr Decapitator
Dr Slots
Dr. Spankenstein
Dr. Zer0
Dr.Venom
Dragon's Lair Project
DrgnMndd
DsNo
Dsyde
Duddie
Dullaron
Dumping Union
dwidel
Dyno Dastardly
Dyq
E. Page-Hanify
ebo0763
Ed Bernard
Ed Mueller
EdCosta
Edcross
Eddie
Eddie Edwards
Edgardo E. Contini Salvan
Eduardo Cruz
Edward Massey
Edward Swiftwood
EGCG
ehrhard@csd.de
einstein95
Eisuke Watanabe
Eke-Eke
ElBarto
Elestir
Elgen
elnaib
ElSemi
EMMA team
Emmanuel Vadot
emuDrache
emuLOAD
Emuman
Endrift
ENGCameraman
Englishman
Enik Land
Enricnes
Enrique Sanchez
Eric Anschuetz
Eric Ball
Eric Hustvedt
Eric Marks
Eric Smith
Erick Dillon
Erik De Maeyer
Erik Ruud
Ernesto Corvi
Eugene Sandulenko
Eugenio De Renzi
Exodus
external

F. Bukor
F. Xerri
F.B. More
F.J. McCloud
F.J.Jimenez
F.Ulivi
f1race
f205v
Fabien Marsaud
Fabio Priuli
Fabio R. Schmidlin
Fabrice Arzeno
Fabrice Bellet
Fabrice Frances
Fabrice Martinez
Fabrizio Pedrazzini
Fabrizio Vasile
Fake Shemp
Falcone
Fallout
Farfetch’d
FatArnold
Federico Schwindt
Felipe Sanches
Fernando Lemos
fgs
Filippo Tarderia
FinalDave
Firebricks
Firehawke
Flatliner
fluxcore
Foul
Fr45h3r
Francesco Caporali
Francesco Messineo
Frank Berlt
Frank Bukor
Frank Palazzolo
Frankie
Franklin Bowen
Frans van Egmond
FraSher
Fraspe
Fred O.
Frederic Canoen
Fredric QJ Blaholtz
Fredrik Sjostedt
friol
frsj8112
Fruitsim
Fujix
funstuff
fuzzbop
Fyrecrypts

G. Mateo
Gabriele D’Antona
Gabriele Gorla
Gaby
GAELCO SA
gamerfan
Gamester
Gareth Hall
Gary Walkling
Gary Walton
Gatinho
gatt9
gbluma
geecab
gekkio
genieta1
Gérald
Gerald (COY)
Gerald Vanderick
Gerardo Oporto
Gerco Ballintijn
Gerrit Van Goethem
Gerrit Volkenborn
ghoolster
Giel van Schijndel
Gilby
Gilles Fetis
gingertom
giuppo
Giuseppe Gorgoglione
GMB
gmx
Gnoppi
Gondos
Gonetz
Gonzalo
Gonzalo Casas
Gor
Gordon Jefferyes
gp-lee
Gracious Anonymous Donor
Grant Galitz
gravilidavide
gregf
GreyRogue
GroovyMAME
Grull Osgo
gtbb08
Guitar
Guru
Guy Hufkens
Gyrovision

H.A. Pontes
H.R. Kauffman
Hairu
HAL9K
Hammad
hammer300
Hammy
Hamster
Hans Andersson
Hans de Goede
Hans Johanson
Hans Ostermeyer
hap
Happy
Harmony
Hartenberger
haynor666
HeadKaze
Heckler
Hedley Rainnie
Heihachi_73
Heretical_One
Herman Heritage
Hervé Warin
Heywood Floyd
HIGHWAYMAN
Highwayman
Hikari
Hiromitsu Shioya
HobbesAtPlay
HobbyRoms
hoot development team
hotaru
hotgraphics
Housi
Howard Casto
Howie Cohen
HPMAN
hsialin
ht1848
Hugh Allen
Hugh McLenaghan
Hugo Cesar Somellera Calderon
Hurray Banana
Huygens
Hyllian

Ian F.
Ian Karlsson
Ian Knowles
Ian Patterson
ibara
icronnya77
idc
IFW
Igor
IgorR76
iGREKKESS
Imhotep
Inaki Baz Castillo
incog
Iñigo Luja
inkling
innocent2k
InsertMoreCoins
insideoutboy
inte alls
Ioannis Bampoulas
iq_132
iritis
Irongiant
Iso Tropia
Italian dumping team
italiandoh
italie
Ivan Mackintosh
Ivan Vangelista
ivanva

J. Bijl
J. Ferneborg
J. Finney
J. Leyda
J. Mathevet
J. Miller
J. Rodman
J.J.Boy
JacKc
Jake Stookey
James
James R. Twine
James Rowan
James Wallace
Jan Kretschmer
Jan Stuhler
Jan-Jaap
Janniz
Jarek Burczynski
Jarek Parchanski
Jarrod Wright
Jason Eckhardt
Jason Lo
Jason Nelson
Jason Scott
Jason Wible
Jay Gallagher
jbo_85
JC Alexander
JCK
Jean-Francois DEL NERO
jedwidz
Jeff Johnson
Jeff Mitchell
Jeff Shanholtz
Jeffrey Clark
Jeoff Krontz
Jeremy Green
Jeremy McElroy
Jeremy Ostrowski
jeremymtc
Jess Askey
Jet Black
Jets
Jezze
JF
Jim
Jim Brain
Jim Hernandez
Jim Skilskyj
Jim Stolis
Jim Thevenot
Jimmy Hamm
Jindřich Makovička
Jirou Kaneda
JJ Stacino
JJaVMeTaL
jmak
JMoya
jmurjr
Joachim Bassmann
Joachim Puster
Joakim Larsson Edstrom
Joe Caporale
Joe Magiera
Joe Quanaim
Joerg Hartenberger
joey35car
Johan Samuelsson
John Brooks
John Bud
John Bugliarisi
John Butler
John Clegg
John Dickson
John Dondzila
John Elliot
John Gilbert
John Glover
John IV
John Parker
John R. Hauser
John Rieman
John Robertson
John Vilk
John Wil
John Wilke
john666
JohnBoy
Jon Banks
Jon Sturm
Jonathan Edwards
Jonathan Hughes
Jonathan Lunman
Jordan Mechner
JordanRom
Jordi Bosch Creus
Jordi Mallach
Jorge Silva
Jorge Valero
Jose Gutierrez
Jose Jorge Fuentes
José Miguel Morales Farreras
José Renato Castro Milanez
Jose Tejada Gomez
Joseba Epalza
Joseph R.
Joseph Zbiciak
Josh W.
Joshua Chang
József Bucher
Juan Carlos Lorente
Juan Felix Mateos
Juan Manuel Gutierrez
Juddy
Jürgen Buchmüller
Jules Blok
Julian Eggebrecht
Julian Sikorski
Julien Frelat
JunoMan
Justin
Justin de Vesine
Justin Kerk
Justin Lee Turner
Justin Szczap
jwdonal
jysx012

K. Lee
K. Svensson
K.Wilkins
K1W1
Kai Bauer
kamilz
kammedo
kanikani
Karen
Karl Stenerud
Karl-Ludwig Deisenhofer
Katelyn Gadd
Katsuhiko Kagami
Kawaks
kebrank
Kef Schecter
Keith Gerdes
Keith Wilkins
Kelby Murie
Ken
Ken Reneris
Ken Van Mersbergen
Kenneth Lin
Kenneth Miller
Keven Eshbach
Kevin
Kevin Bales
Kevin Brisley
Kevin Eshbach
Kevin Estep
Kevin Jonas
Kevin Klopp
Kevin Mullins
Kevin N
Kevin Pickell
Kevin Thacker
Kevtris
Kiddcade
Kiddo Cabbusses
kingshriek
Klaus Sommer
KO Myung-Hun
Kobat
kode54
Kold666
Kopromaster
kosmo
Kowal
Kranser
Kris Anks
Krusty
Krzysztof Strzecha
kurobee
Kurt Mahan
Kyungdahm Yun
L. Genier
lain
Larry Bank
Lars Bull
Laszlo Schulteisz
laugh
launton
Laurent Desnogues
Lawrence Gold
Layer
Layne
Leandro Dardini
Lee Hammerton
Lee Mitchell
Lee Taylor
Lee Ward
Leezer
Lei Wu
Leif Hurst
Leland
leniad
Leon van Rooij
Leonard Oliveira
letoram
Li Jih Hwa
Lior Aouate
LnmVolbo
Lodewijk
Logiqx
Lord Flux
Lord Nightmare
Lord-Data
Lost Levels
lowen
Luca Antignano
Luca Bruno
Luca Elia
Luigi
Luigi30
luigi30
LuigiBlood
Luis “Datasat”
Luis Faria
Lukasz Markowski

M
M. Burke
M. De Pasquale
M. Healey
M. Hoenig
M. Josephson
M. Krug
M. Ritchings
M. Rodrigo
M. Viste
M.A.S.H.
M.C. Silvius
M.David
m4st4
Macareno
Macaw
Macgaiver
Machone
MadSkunk
Malcolm Lear
Malice
MAME Italia
MAME32Plus
MamePlus!
Mameremember
Mamesick
MAN
Manbow-J
Manfred Schneider
manimani
manliodp
Manuel Abadia
Manuel Assoni
Manuel Giron
MarathonMan
Marc LaFontaine
Marc Lafontaine
Marc Sandusky
Marc Vergoossen
Marcello Mancini
Marcelo de G. Malheiros
Marco
Marco Cassili
Marcos75
marcus
Marcus Comstedt
Marcus Jendroska
Mariusz Wojcieszek
Mark Frisbee
Mark McDougall
Mark Riley has no toaster
Markus Rathgeb
Marshmellow
Martin Adrian
Martin Binder
Martin Buchholz
Martin Ponweiser
Martin Pugh
Martin Sandiford
Martin Scragg
Martin Searle
Martin White
Maruwa
Massimo Morra
mastercello
Mathieu Patard
mathijs
Mathis Rosenhauer
Matt
Matt Burke
Matt Osborn
Matt Ownby
Matt Ziolkowski
Matthew Conte
Matthew Shultz
Matthias Reichl
Maurizio Clementini
Maurizio Petrarota
Maurizio Zanello
Max
Maxim Stepin
maximumspatium
mbcoguno
mbeighau@iies.es
Mednafen
mellery
MESSfan
MetalliC
Mevi
Mexa
Micha
Michael Appolo
Michael Cunanan
Michael Luong
Michael Soderstrom
Michael Zapf
Michele Fochi
Mick
Miguel Angel Horna
Miguel Figueiredo
Mike Appolo
Mike Balfour
Mike Coates
Mike Cuddy
Mike Ellery
Mike Green
Mike Haaland
Mike Herrin
Mike McBike
Mike Naberezny
Mike O’Malley
Mike Saarna
MikeDX
MikeJ
milliluk
Minuous
Minwah
Miodrag Milanović
Mirko Buffoni
Mirko Mattioli
MisfitMAME
Miso Kim
mister_rf
Mitsurugi
Mitsutaka Okazaki
MiX
mixxmaster
MJSTY
MK3Fan
MKL
mock--
mohamad “The Hedgehog” issawi
Mojo2000
Moket
moralrecordings
Morten Shearman Kirkegaard
Mosquito2001
motoschifo
MPU Mecca
Mr Goodwraith
Mr Mudkips
Mr. Do!
Mr. Postman
Mr.CAST
mrsinister
MSN
Mucci
muddymusic
Murray Melvin
mzdmommy

N. Alston
N. Francfort
N. Garnier
Nach
Naibo Zhang
NAmag
nanashi
Nao
Naoki
Natalie
nathan
Nathan Barber
Nathan Lineback
Nathan Strum
Nathan Woods
Neil Bradley
Neill Corlett
nekoziman
Nemesis
neocps1
neoforma
NeoGeo de Ahuizotla
NeoSD
Nestor Acebo Jimenez
NewRisingSun
NeXT
Nick Boos
Nick Westgate
Nick3092
Nicola Salmoria
Niels Moeller
Nigel Barnes
Nigel Parker
nightsoil
nimitz
ninjakid
NintendoPlayer
nitrofurano
NJRoadfan
nocash
Nomax
nono
Norbert Kehrer
Norix
Nosunosu
notaz
NoVArcade
nuapete

Octocontrabass
Ohsaki Masayuki
Ola Andersson
Oliver Achten
Oliver Bergmann
Oliver Lehmann
Oliver Moazezzi
Oliver Stabel
Oliver Stöneberg
oliverthepig
Olivier Aichelbaum
Olivier Galibert
OopsWare
OpenMSX Team
Ordyne
Orkin
Oshah
Owen Rubin

P. Sealy
pako ikarihardmods
Palindrome
Paolo Fiorani
Paolo Venturi
Paratech
Parduz
Parodier
Parry
PascalP
Pasi Hytönen
Pasky
Pat Dardenko
Patrick Lawrence
Patrick Mackinlay
Patrick McCarron
Patrick Wheeler
Patrik Styrnell
PaTrYcK
Paturlas
Paul Canham
Paul Daniels
Paul Forgey
Paul Hampson
Paul Hogger
Paul Leaman
Paul Priest
Paul Sommers
Paul Swan
Paul Thacker
Paul Vining
Paul Winkler
Paulo Cabral
Pavel Semerad
Peabo
Peale
penrhos
Peo
Per Ola Ingvarsson
Person
Pete Ashdown
Pete Ground
Pete Ogoun
Pete Rittwage
Pete W.
Peter Clare
Peter Ferrie
Peter Grounds
Peter Gutmann
Peter Hirschberg
Peter J.C.Clare
Peter Rittwage
Peter Sealy
Peter Storey
Peter Townson
Peter Trauner
Peter Weuffen
Peter Wilhelmsen
Petter Sjolund
Phil Bennett
Phil Hopely
Phil Morris
Phil Skuse
Phil Stroffolino
Philip Burke
Philip Campbell
Philip Zumbrun
Phill Harvey-Smith
phillw
phulshof
Piero Andreini
Pierpaolo Prazzoli
Pierre Riteau
PinMAME
Pitou
PKGINKO
PluginNinja
PokeMAME
PongKang
pongplaya
porchy
PowderMaker
PressStartandSelect
Project ‘Amber’
PS
PsikyoFan
pSXAuthor
PtoPOnline
Pugsy
PulkoMandy
Punkyas
Pythagoras573
pza

Quantum Leaper
Quarterarcade
Quench
quzz
QWERTY
Qwi Jibo

R. Balke
R. Belmont
R. Coltrane
R. Gatto
R. Gatzke
R. Hawkins
R. Howard
R. Weidinger
r09
rades
Rafael Alonso
RafTacker
Rainer Keuchel
Ralf Schaefer
Ralf Willenbacher
Rambo
Ramiro Polla
Ramsoft
RanaElia
Randolph
Randy Hoffman
Randy Mongenel
Raney Eden
ranger_lennier
RansAckeR
Raphael Nabet
RasnAckeR
Raul Delgado
Razoola
Re-Animator
ReadOnly
Reagan Roush
redk9258
Reed
Reijo Tomperi
Rene Reucher
René Single
RetroJunkie
Retroport
RetroRepair
RevisionX
Reznor007
rfka01
rhester72
Ricardo Bittencourt
Ricardo Marques
Richard Bush
Richard Davies
Richard Goedeken
Richard L. Hamilton
Richard Mitton
Ricky2001
Ricky74
Rimsky82
Ripper006
Risugami
rjosal
Rob Bohms
Rob Braun
Rob Ragon
Rob Rings
Rob Rosenbrock
Rob Walmsley
Robbbert
robcfg
Robert Alan Byer
Robert Anschuetz
Robert Bohms
Robert Flory
Robert Gallagher
Robert Justice
Robert Muth
Robert Quenet
Robert Walsh
robert_s
Roberto Fresca
Roberto Gandola
Roberto Lavarone
Roberto Malone
Roberto Ventura
Roberto Zandonà
Robin Cooper
Robin Merrill
robindan77
robiza
robj
robotype
Rockman
rockywall
Rod_Wod
Rodimus Prime
Roger Sanders
Rogerio
Romain Tisserand
Roman
Roman Grantovskiy
Roman Scherzer
RomVault
Ron Fries
rootfather
Roselson
Ross Myers
rte
rtw
Ruben
Ruben Panossian
Rui Baptista
Runik
Ruslan Staritsin
russ h.
Russell Nash
Ruud Baltissen
Ryan Ahn
Ryan Holtz
RYO

S. Arnold
S. Austin
S. Brown
S. Healey
S. Rietscha
S. Ruiz
S. S. Neilson
S. Smith
Sacrilego
SailorSat
Sal Bugliarisi
Sam Lantiga
Sam Lantinga
sam20sam
Samuel Neves
Samuele Zannoli
Sandro Ronco
Santeri Saarimaa
Santy14
Sara S.
Satoshi Suzuki
Sawat Pontree
scarlet
ScheissNussen
Scott Brasington
Scott Kelley
Scrooge McClunk
se yong Jang
Sean Clough
Sean Gugler
Sean McGee
Sean Riddle
Sean Rider
Sean Sutton
Sean Young
Sebasten Hegon
Sebastian Ojeda
Sebastien Chevalier
Sebastien Monassa
sedn
Segher
Seth Soffer
sewave
Sez
Shane Monroe
shattered
Shaun Stephenson
ShengLuc
Shica
Shideravan
ShiggsUnderground
ShimaPong
Shin Emu Keikaku team
ShiRiRu
shiru8bit
shmups forum
Shouhei Nishi
ShouTime
Shouzou Sugitani
siftware
SilverFox
Silvio Finotti
Silvio Grazini
Silvio Maeboto
Simon Dennison
Simon Walls
Simon White
Skate
skeleton081983
skiltz
skype
Sly DC
smf
Smitdogg
SMS Power
snoopy
Sock Master
SoftwareThis
SoltanGris42
somebody
SomeGuy
Song Gao
Sonic
Sonikos
Soren Skou Nielsen
soyandroid
SPACETAXI
Special LIU
spogghi
SpritesMods.com
SPS
Spyder
SRI
SSJ
Stanislav Shwartsman
starke/peap
Steetgames
Stefan Jokisch
Stefan Jokish
Stefan Lindberg
Stefano De Dionigi
Stefano Mozzi
Stefano Priore
Stefano Rolleri
Stefano Teso
stefanocsw
Steffen & Laschek
stengun
Stephan Cecchinel
Stephen Behling
stephh
Steve
Steve Baines
Steve Ellenoff
Steve Golson
Steve Leung
Steve Rice
Steve S.
Steve Scavone
Stevebm1
Steven Boswell
Steven Frew
Steven Hugg
Steven LeMaire
stevenc99
sthief
Stiletto
Stuart Campbell
Stuart Carnie
Sugoi Helsinki
Super Menteur
Superbank
superctr
Suppi-Chan
Surgeville
Svante Gerhard
Sven Gothel
Swos
sxevious
sylphia
Sylvain Glaize
system11
sz72
Sébastien Volpe

T. Huff
T. Petersen
T.Bellm
T.Fujita
tabbycat12
Tafoid
Taizou
tak
taka-e
Takahiro Nogi
takearushfan
Takeda Toshiya
Tarnyko
Tatsuyuki Satoh
Taucher
Tauwasser
Team Avalaunch
Team CPS-1
Team Europe
Team Japump!
techfury90
Techmotour
Ted Bailey
Ted Green
telengard
Tempora
TerryMasters
TH60
The Flying Ape
the Game Preservation Society
The Iron Goat
The Sheep
The tECHIDNA
theboy181
Thierry Lescot
Thomas Klausner
Thomasz Slanina
Thorsten
Thorwak
ThumB
Tiago Pierezan Camargo
Till Harbaum
Tim Cottrill
Tim Lindner
Tim Lindquist
Tim Schuerewegen
Timothy Shiels
Tingoes
Tirino73
Titus
Tjeerd Carter
Toby Broyad
Tom Braider
Tom Clayton
Tom Girardot
Tom McClintock
Tomas Dahlgren
Tomas Karlsson
Tomasz Slanina
Tomer Verona
tomyun
Ton Brouwer
Toninho
Tony Beason
Tony La Porta
Tony Swann
Tormod Tjaberg
Tornadoboy
Torsten
Toshiaki Nijiura
Tox Nox Fox
trap15
Trebor
TrevEB
TRex
trinitr0n
Trinity
Troy Gratton
trurip
Tsuyoshi Hasegawa
TTX
Twisty
TylerDurden67

Uki
Uli H.
Uncle Tom
Unigame
unzu
uRebelScum

Valerio Verrando
ValleyBell
Vampirz
Vas Crabb
vascodiaz
vernimark
Vernon C. Brooks
VGR
Victor Trucco
Victor Vasiliev
Video Klein
Ville Laitinen
Ville Linde
Vince Mayo
vintagevideogames.com
Virtu-Al
Vito
Vittorio Romeo
Vladimir Kryvian
Volker Hann

W. Belk
W. Herve
W. Perez
Waremonger
Warren Ondras
Wayder
Wei Mingzhi
Weisse Eins
WhoWantsToKnow?
Wiebo de Wit
Wilbert Pol
wild eyed
Will Medved
William Coolay
William Krick
William Ostronic
Wind
Wingman
winteriscoming
wolf676
Wolfi
Woodada
World of Jani
Wouter Vermaelen
wpcmame
Wulfman
www.jammarcade.net

Xander
Xander Xander
xDisciplex
Xiaou2
XingXing
XoreX
xrodney
xvi
XX

Yano Hirokuni
Yasuhiro Ogawa
Yoann Courtois
Yochizo
Yohji
yong
Yoshi
yovan
Yrouel
ytsejam
Yu
YuiFAN
Yves
Yves Colombani
Yves Marchand
Y~K

Zab
Zabanitu
Zak0077
Zakk
Zaphod
Zeipher
Zerza
Zhivko Dimitrov
Ziggy
Zoe Blade
Zoinkity
Zonn Moore
zozo
ZSNES Team
Zsolt Vasvari
ztwistedsymphony
zx70

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.

MAME Release Schedule

26 Jan 2017

You may have been following MAME for a while but you may not know about our release schedule and processes. This is largely our fault – we haven’t been particularly transparent about our release process. In fact, we didn’t even really have a formal release process for a lot of the project’s lifetime. Since the release of MAME 0.156 on 26 November, 2014, MAME has been released on the last Wednesday of each month according to the Gregorian calendar. Barring truly exceptional circumstances, we plan to maintain this schedule.

Since MAME 0.179 (October 2016), we’ve implemented a three-day feature freeze in the lead-up to each release. On the Sunday before the release date, we begin stabilisation and preparations for the release. After the feature freeze comes into effect, only important fixes are integrated into the release, and basic functionality is tested in a variety of Windows, Linux and Mac configurations. ROM/software definitions are generally not updated between the feature freeze and the release. The exceptions to this are corrections to errors if we find any, and addition of completely new software lists for systems that have recently been promoted to working. The freeze gives us a chance to do some testing on a stable target and minimise the chance of a late change causing problems with the release.

In technical terms, at the point of the feature freeze, we create a branch off master called release0nnn, where nnn is the portion of the version number after the dot. Fixes going into the release are pushed or cherry-picked into this branch while normal development continues on master. Anything that doesn’t go into the release branch goes into the following release. On release day, the final release version is tagged and merged back into master, and the release branch is deleted. The release tag has the form mame0nnn. The release branch is publicly available in our main repository on github during the period between the feature freeze and the release. All revisions from the release branch are merged back into master after release, so no revision information is lost and links to individual commits remain valid after the release. We also coordinate with MAME Testers to add a version for the following release when the freeze takes effect.

If you’re maintaining a project that tracks MAME releases (for example a fork or a front-end), we’d like it if you base your releases on our tagged release versions, and not on latest master during the freeze period or immediately after the release. During the freeze period, master may not contain all fixes going into the release, and we also often use this period where we’re a whole month away from the following release to integrate high impact changes to maximise testing time.

Assuming you’re using a git client and have a remote called upstream that points to the official MAME repository at https://github.com/mamedev/mame.git, you can fetch all current branches and tags with this command:

git fetch upstream

If you want to merge changes from the MAME 0.183 release branch into your active branch during the freeze period later this month, use these commands (substitute numbers for subsequent releases):

git fetch upstream
git merge upstream/release0183

After MAME 0.183 has been tagged, you can merge the final release into your active branch with these commands:

git fetch upstream
git merge mame0183

You can remove stale remote branches that have been deleted from the master repository with these commands:

git remote prune upstream

Note that this only removes references to stale remote branches from your repository. If you’ve created tracking branches, you’ll need to delete them with git branch -d.

If you aren’t using git, we recommend that you base your project on official source packages either from our download page or from the the the releases page on github.