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.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.

MAME 0.182

25 Jan 2017

As we approach the 20th anniversary of the first MAME release, we’ve got a really exciting update for you. There’s so much awesome stuff in this month’s release that there’s no way we can possibly cover it all here. MAME is a team effort, and we’d like to thank everyone who’s contributed towards making this release as awesome as we think it is. One very exciting addition is support for another version of the East German Poly-Play system, with German and Czech ROM sets providing ten games, six of which are new. Protection on Future Flash/Laser Base has finally been emulated, so you can take a look at Hoei’s take on Missile Command. A dump of the damaged microcontroller (MCU) from Tatakae! Big Fighter makes this title and Sky Robo finally playable. Another eagerly awaited addition is the Hot-B prototype Hangzo.

Serial ports have been hooked up on Race Drivin’ allowing you to link two MAME instances over TCP, reproducing the multi-player experience with linked cabinets. To do this, use a null modem slot device and configure it for 38,400 Baud, 8 data bits, even parity, and 1 stop bit. It would also be possible to connect a MAME instance to a real board set by forwarding the connection to a serial port on the host system.

We’ve received a contributed PortAudio output module and integrated it in this release. This provides a cross-platform low latency audio output solution. Performance should be similar to Steinberg ASIO on Windows 7 or later without the licensing issues, and better than SDL audio on Linux. It can be enabled by setting the sound parameter to portaudio on the command line or in an ini file. Of course, all the other audio output modules are still supported, so if you're happy with your current setup you don’t have to change anything.

Although we haven’t added a huge number of new microcontroller (MCU) dumps in this release, substantial work has gone into improving systems where we already have dumps but the emulation is lacking. MCU emulation was added to Puzznic, Joshi Volleyball and Gladiator. For Puzznic, this places player data at the correct location in RAM and supplies the game with a pseudo-random number sequence rather than a stream of zeros. Joshi Volleyball now behaves better in service mode, allowing coins and inputs to be tested. Gladiator now honours the coinage DIP switches. The MC68705 core has had a complete overhaul, and all drivers using it have been reviewed. This fixes lots of subtle issues: for example Change Lanes will now skip the full memory tests if configured to ignore them in DIP switches, timings have improved in Arkanoid, and the Apple II mouse card is slightly improved. We now emulate the ’705 family well enough to support stand-alone MCU programmer boards.

Other improvements include working sound in Pole Position bootlegs, improved video in Winning Run, preliminary banked 256 colour mode for the NEC PC-9821, kana input on the Sharp X1, a VME bus system with preliminary support for the miniFORCE 2P21 chassis, additional Aristocrat Mark 5 peripheral emulation allowing non-US games to boot, Corvus hard disks for the DEC Rainbow 100, preliminary work on Atari Stunt Cycle (displays the playfield), fixes for the Aussie Byte and Otrona Attaché, and support for octal and binary numbers in debugger expressions.

For more detail on what’s changed, check out the whatsnew.txt file, or grab the source or Windows binaries from the download page straight away.

MAME 0.181

28 Dec 2016

Happy new year from the MAME team! To help you celebrate, we’re unwrapping an extra-special release this month, with enough improvements to put anyone in a good mood. The exciting news that’s got people talking is that protected microcontrollers (MCUs) from a number of games have been read out and hooked up in MAME. This gives real, emulated sound in Toaplan’s Vimana, Fire Shark (also known as Same! Same! Same!) and Teki Paki, proper emulation of Tokio/Scramble Formation, M-chip emulation for Taito Extermination, Dr Toppel and Plump Pop, MCU emulation for Sega Altered Beast and Golden Axe, and partial sound in World Beach Volley. There’s more coming on this front, so stay tuned for upcoming releases!

MAME 0.181 also marks the debut of Votrax SC-01 emulation in MAME, based on reverse-engineering die photographs. The digital section should be pretty much perfect, although there are still some issues in the analog section (plosives don’t sound quite right). Overall, it’s a huge improvement in Votrax speech synthesis emulation, and a great leap forward in our understanding of how the hardware works. It also means speech samples are no longer required for a number of games.

Building on the ARM improvements in last month’s release, we now have working floppy drives and sound in the Acorn Archimedes driver, and default NVRAM images for the US Aristocrat Mark 5 games. This greatly increases the amount of RISC OS software you can try out, improves the gameplay experience in the Archimedes-based arcade games, and allows you to play the Aristocrat gamblers without having to make your way through the setup process first.

MAME’s discrete netlist emulation library has been expanded substantially in this release, including some new classes of devices like ROMs, and many newly supported logic chips. This will make it substantially easier to emulate arcade games which used discrete TTL logic, and as a test of this new functionality, the TTL video board from the Hazeltine 1500 intelligent terminal is now emulated using the netlist system. There’s ongoing work in this area involving multiple developers, so look out for more exciting updates in this space.

We’ve fixed some fairly significant bugs, including one preventing the debugger from working on Linux or Mac with drivers that use a dynamic recompiler core, and one that could cause MAME to crash when using BDF fonts. The internal UI should be more efficient if you’re using icons now, and issues with spurious key repeats should be reduced. The Beezer driver has been rewritten and should be improved overall.

There are quite a few newly dumped arcade games in this release, including Eeekk!, Simpson Junior (a Korean bootleg of J. J. Squawkers), Power Flipper Pinball Shooting (an updated version of Grand Cross), a version of Momoko 120% with English text, Miss World 2002 (an adult Qix game), and alternate versions of The NewZealand Story, Real Bout Fatal Fury, Space Dungeon, Flicky and Turbo Force. The Apricot PC and Xi are now working, further increasing MAME’s coverage of DOS-based computers that aren’t IBM-compatible. You can also play with the COP44L version of Entex Space Invader, and Mattel Funtronics Jacks and Red Light Green Light.

There are far too many improvements to list here, including lots of fixes for graphics and flip screen issues, but you can read all about it in the whatsnew.txt file, or grab the source or Windows binaries from the download page and start playing.