Fork me on GitHub

Welcome to The Official Site of the MAME Development Team

What is MAME

MAME is a multi-purpose emulation framework.

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 (originally stood for Multiple Arcade Machine Emulator) 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.


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

MAME 0.180

30 Nov 2016

Hello everybody! Are you ready for the November MAME release? It’s definitely ready for you, and there are lots of reasons to get excited this time around. First and foremost, a number of ARM CPU core fixes mean you can now boot to the RISC OS desktop on an emulated Acorn Archimedes, and try some of the included applications. The same bug fixes allow a number of Aristocrat Mark 5 gambling machines to boot and run in demonstration mode. There are still some issues to iron out, but things have definitely improved enormously.

On the arcade front, protection on Atari Space Lords has finally been reverse-engineered making the game playable. This is an interesting space combat game for one or two players, where the second player takes on the role of the gunner/co-pilot. In another improvement that’s been a long time coming, The Acclaim RAX sound board is now emulated, bringing sound to Batman Forever and NBA Jam Extreme. There are substantial improvements to the Magnet System emulation (added in last month’s release) making these rare prototype bootlegs playable. David Haywood also fixed some graphical issues in Altered Beast, and Angelo Salese fixed graphical issues in The Lost Castle in Darkmist.

There are some other notable improvements in computer emulation, too. Barry Rodewald has added support for IC Card (PCMCIA SRAM) storage on the FM Towns, and substantially improved LSI Octopus emulation. The Mac 128/512/Plus drivers have been modernised, and serial port support has been added to the Apple IIgs driver. Another DEC Rainbow 100 update from Bavarese fixes colours in high-resolution mode among other improvements.

Newly supported systems include RC De Go (Go By RC outside Japan), newly dumped versions of 1945k III, Forgotten Worlds, Sol Divide and Vendetta, the Italian release of Mustache Boy, 286-based versions of the Intel iSBC, bootlegs of Blue Shark, Pole Position II and Ozma Wars, more Fidelity and Mephisto chess computers, and more electronic toys.

As usual you can read all the gory details in the whatsnew.txt file, or go right ahead and get source or Windows binaries from the download page and have some fun.

MAME 0.179

26 Oct 2016

Are you getting fidgety waiting for Halloween to arrive? Well now you can take your mind off the wait by giving the brand-new MAME release a spin! We've changed the release slightly this month: the whatsnew file is formatted differently, the 32-bit Windows binary package has "32bit" in its filename, and we're no longer providing a pre-built debug binary package for Windows. We've dropped the debug binaries as they don't seem to have a target demographic. All builds include the MAME debugger. The release packages are built with symbols that will give a meaningful stack trace. The debug build was still optimised, so stack traces were no more precise. The main difference is that debug builds have assertions enabled which is mainly useful if you're working on the source. In short, we don't see a use case where someone would be better off with the debug build if they aren't compiling MAME themselves anyway.

With that out of the way, what surprises does MAME have in store for you all this month? We're pretty confident that we have something for everyone! First of all, we're proud to present the Soviet arcade game Istrebiteli ("Fighters", as in aircraft). We've also emulated Ocean to Ocean, an early video slots game on the DECO Cassette system. ShouTime has worked his magic again, allowing the masses to see the rare Alpha Denshi title Splendor Blast II. But possibly most interesting is preliminary emulation of the Magnet arcade system, a prototype floppy disk-based system from Spain.

We've also added a number of non-arcade systems. There's the Gakken Game Robot 9 handheld game, and several Fidelity chess systems. Getting away from games altogether, we've added a working driver for a VeriFone Trans payment terminal. There have been some substantial updates to the software lists, too. The Sega CD software list has been completely updated to use the latest and best dumps known to exist, we've replaced a number of pirate Apple II disk images with clean cracks, there are some notable additions to the Sharp X68000 floppy list, and even an obscene Pokémon hack for Game Boy that's being sold in China.

As always, there isn't enough space to cover everything here, so so why not check out the whatsnew.txt file, or head straight for the download page and try it out.

Micko at CppCon 2016

29 Sep 2016

On Thursday last week, our very own Miodrag “Micko” Milanović gave a presentation at CppCon 2016. He covered the project’s history, goals, and current direction, before talking about some of the technologies we use and our experiences modernising the codebase. It’s a bit over an hour long, and not overly technical. The slides are available on github.

MAME 0.178

28 Sep 2016

The end of the month is almost here, and it's time to unwrap another shiny MAME release. This time around we've had the pleasure of seeing Angelo Salese show us all that he's a bug-fixing machine, resolving many long-standing bugs in playable games (including graphical glitches in Combat School, and issues with slopes in Sunset Riders). Highlights from newly emulated machines include the Esselte 100 classroom computer from Sweden (thanks Edstrom), Slap Shooter (courtesy of ShouTime and the Dumping Union), the French version of the Apple //e Enhanced, the original Japanese version of Street Fighter with pneumatic buttons (thanks ShouTime), and the original version of Nintendo's Popeye on Sky Skipper hardware (yet another gem from ShouTime).

On the gambling front, we have another batch of layouts from John Parker, clickable button lamps for more machines from einstein95, and improved inputs/output for a number of games from AJR. Speaking of inputs and outputs, Risugami added/improved outputs and layouts for a number of Midway games.

This release includes preliminary support for persistent controller ID mappings from Tomer Verona. This may help if you're having issues with Xbox controllers appearing in a different order when you relaunch MAME. If you're interested, check out the documentation and see if it helps. It's still not particularly easy to use, but it's ready for testing and improvement and may be useful, particularly for people with wireless controllers.

Other notable improvements include working envelope and LFSR emulation for Mega Duck, better emulation of MCU communication for Taito Super Qix hardware, support for multiple BBC Micro floppy drive controllers, restoring the ability to have MAME accept incoming socket connections to communicate with an emulated serial port, and more features for the UI graphics viewer.

MAME 0.178 also adds software list updates with the latest prototype cartridge dumps, numerous bootlegs and alternate versions of supported games, and steady progress on non-working systems like the CMI IIx and LSI Octopus. For details, see the whatsnew.txt file, or go right ahead and grab the binaries/source from the download page.

MAME 0.177

31 Aug 2016

Today marks the end of the southern winter/northern summer, and time for the hotly anticipated August MAME release. Possibly most importantly, we've fixed the issues that were causing menus to display off the edge of the screen on Windows (MT06335). We've integrated a fix for Aimtrack Dual Lightguns on windows from new contributor Pitou, and the behaviour of XAudio2 sound output should be much improved when adjusting game speed to match monitor refresh rate. Mouse behaviour on SDL builds (Linux/Mac) is also improved. Thanks very much to all the users who reported issues and helped out testing fixes.

We have lots of newly working computer systems to show off: Xerox Alto-II, TeleNova Compis (a 16-bit educational computer from Sweden), Victor 9000, Wang Professional Computer (DOS-based but not IBM compatible), Atari Portfolio (of Terminator 2 fame), and Vector-06C (a mass-produced Soviet home computer). Newly working games include Namco Techno Drive, the original Japanese release of Orca's River Patrol, Korean puzzle game Intergirl, and gambling game Magical Butterfly. Speaking of gambling games, this release is a huge update for BFM, JPM and Maygay fruit machines. John Parker has created a tool that converts MFME layouts to MAME layouts and contributed layouts for hundreds of games. This should make it far easier and more rewarding to work on these drivers.

MAME now includes a driver for a VGM music file player virtual machine (VGM is a popular video game music file format). This feature is primarily intended as a way for developers to test sound cores and do A/B comparisons, as it's a lot easier to just load a VGM test case than to play a game until it uses the sound chip feature you want to test, but it's also a convenient way to enjoy a wide variety of video game music. You can try it out by running mame vgmplay -bitb file.vgm or choosing "VGM player" from the list of systems and loading a VGM file in the appropriate media slot through the internal file manager.

The generic serial terminal and keyboard devices have been greatly improved. This should make computers controlled via serial port far more usable. (Keyboard layout, key repeat, simultaneous keypresses, local echo, auto CR/LF and audible bell have all been improved and/or made configurable.)

There are a number of improvements for MAME developers and contributors. We now allow Unicode characters in C++ and Lua source comments. This can make documentation clearer when referring to original machine labels. Source files must be encoded in UTF-8 with no initial byte order mark. Non-ASCII characters are allowed in comments, but not in most other parts of source files. Source and comments must still be written in English. We've improved build times a little, and migrated a lot of MAME-specific constructs to standard C++14 library features. A number of MAME APIs have been streamlined and modernised. The palette viewer now shows some details about the colour swatch under the mouse pointer (press F4 during gameplay to show, this may be interesting to regular users as well).

Of course, this release also comes with more alternate versions of games supported (including The NewZealand Story, Metamorphic Force, Super Hang-On, Terminator 2, Golden Tee '98, Gulf Storm, and Teenage Mutant Ninja Turtles), and other fixes and improvements for machines already emulated by MAME (including Midway V-Unit outputs/layouts from Risugami and input/output improvements for gambling/medal games from AJR). For a more complete list of changes, see the whatsnew.txt file. As always, you can get MAME 0.177 binaries and source at the download page.