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

MAME 0.176

27 Jul 2016

It's the last Wednesday of the month, and time for another MAME release. We'd like to thank the Debian team for their help during this development cycle: they've provided patches allowing MAME to build cleanly on several more platforms, and arranged access to IBM-sponsored POWER8 machines so we could improve our PowerPC support.

The popular crt-geom and crt-geom-deluxe shaders have been ported to BGFX and are now distributed with MAME, thanks to cgwg. The BGFX versions of these shaders allow live adjustment of effect parameters through the slider controls menu.

Interesting newly supported games include rare Soviet arcade games Gorodki and Kot Rybolov, gambling mahjong game Swing Gal, and alternate versions of Beastie Feastie and Raiden Fighters 2. Graphical issues have been fixed in Seibu Kaihatsu's Denjin Makai, Godzilla, Legionnaire and Zero Team, and there are some improvements to the Tandy CoCo 3 palette. A few remaining gameplay issues in Taito's Operation Wolf were resolved.

Thanks to a huge group effort involving some of our highly valued external contributors as well some MAME team members, we've got some visible progress on the Sun SPARCstation drivers. The SPARCstation IPC (sun4_40 driver) now passes its self-tests and allows you to use the OpenBoot interactive Forth interpreter at the ok prompt. Note that there are still issues with SCSI emulation, so it won't boot from and emulated hard disk or CD-ROM. In other news for emulation of professional systems, MAME now supports the TeleVideo 990 and 995-65 terminals.

For people using CRT monitors and/or running games at native resolution, we've added a lot of characters to the uismall.bdf font supplied with MAME. It now covers most European languages using Latin and Cyrillic scripts, as well as modern Greek and half-width katakana. Changes were also made to improve legibility.

For developers, scrolling and hilighting in the state (registers) view have been fixed, and viewing memory in the debugger no longer causes spurious side effects like bank switches in systems like the Apple II and Osborne 1. There's also been a lot of refactoring and modernisation, particularly in the netlist and UI code.

If you would like to see a more complete list of changes, check the whatsnew.txt file located here. As always, you can get MAME 0.176 binaries at the download page.