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.

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.

Changes for Future Releases

13 Dec 2017

We’ll be making a few changes to the Windows binaries from MAME 0.193 onwards. This will only affect pre-built Windows binaries – packaged source won’t be affected, and default build settings won’t change. If everything goes to plan, the following changes will be made:

  • Both 32-bit and 64-bit binaries will be built with GCC 7.2 (changed from GCC 6.3). This change shouldn’t be noticeable for most users.
  • 32-bit binaries will require SSE2. Minimum CPU required will be Intel Pentium 4, AMD Opteron, AMD Athlon 64, or equivalent.

A number of Linux distributions have already switched to GCC 7, and a significant number of MAME developers and users build MAME with GCC 7 on Windows. We don’t anticipate any major issues as a result. The minimum supported GCC version is still GCC 5.1 and is unlikely to change for some time yet.

Requiring SSE 2 improves performance and makes behaviour of 32-bit and 64-bit builds more consistent. Note that this only affects our packaged binary releases – by default, 32-bit x86 builds won’t require SSE. You’ll just have to compile MAME yourself if the SSE 2 requirement is a problem for your use case. However, recent MAME versions are unlikely to perform well on x86 CPUs that predate SSE 2 support.

In other news, the latest version of the Visual Studio 2017 C++ compiler is capable of building MAME. Visual Studio 2015 will be the primary supported version of Visual Studio for a few more releases, but if you were holding off updating to Visual Studio 2017 because of problems compiling variable templates and constexpr, you’ll be pleased to know that Microsoft has resolved these issues.

MAME 0.192

29 Nov 2017

Even if you’re still feeling burned from Singles’ Day, Thanksgiving, and/or Black Friday, MAME 0.192 is here, and there’s plenty packed into this update. At long last, the MCU for Ping Pong King is simulated, making the game playable, and Flower now runs better than it ever did. Taito’s abstract maze game Marine Date is also emulated better than ever, although there are still some issues with collision detection. We’ve got newly dumped prototypes, including a prototype of Battlecry, and a more complete version of Grudge Match that appears to come from a location test in Italy. Many of the Aristocrat MK5 gambling machines have been redumped so the ROM checksums pass and they boot. Missing graphics in the Merit Megatouch games have been fixed.

But we know that rumours about the next part of this announcement have made lots of arcade fans excited: IGS PGM2 software is showing signs of life. I’m sure at least some of you are wondering how this was achieved. Usual suspects Morten Shearman Kirkegaard and Peter Wilhelmsen (recently featured here in connection to their success in dumping Gaelco protection programs) have built another FPGA-based rig that allowed them to dump the internal programs from the ARM CPUs for Oriental Legend 2 and Knights of Valour 2 New Legend. On top of this, there are some nice performance improvements to MAME’s MPEG audio decoding that should benefit other systems as well.

In computer system emulation, we’ve got a number of graphical fixes for FM Towns, heaps of improvements for the Tatung Einstein, No-Slot Clock support for the Apple //e family, and support for some Brazilian CoCo clones from Prológica and Codimex. There are some big updates to the PC software lists, too. The ACI Destiny Prodigy, Mephisto RISC 1MB and Mephisto RISC II chess computers are now working. Finally, the Interpro drivers have numerous improvements, including preliminary keyboard/video support.

That’s just scratching the surface – there are far more bug fixes, newly dumped system and performance improvements than we can list here. There’s a full list of changes in the whatsnew.txt file, and you can get the source or Windows binaries from the download page.

MAME 0.191

25 Oct 2017

It’s the end of October, and time for the hotly anticipated MAME 0.191 release. This release includes an experimental Hitachi SH3 recompiler from frequent contributor David “Haze” Haywood that shows promising performance improvements for Cave CV-1000 emulation, and holds the tantalising possibility of bringing similar gains to systems based on the SH4 in the future (including Sega NAOMI). Bug fixes to the Saturn/ST-V emulation will enhance your enjoyment of numerous Sega titles from the ’90s. There have also been some optimisations and improvements to MIPS3 and Voodoo emulation, as used in a number of 3D arcade systems.

For fans of systems more often experienced at home, David Haywood also rewrote most of the Gamate emulation, taking it from mostly broken to (hopefully) best-in-class. We’ve also got some important bug fixes for the Tatung Einstein, the NEC PC-Engine console, and the M6809 CPU used by the Tandy CoCo family (among other things). Three more Tiger handhelds have been added for this release, namely Batman, Judge Dredd, and Swamp Thing. The hard limit of four emulated screens has been lifted, allowing you to plug in more video cards, more serial terminals, or just emulate systems that just have lots of screens.

We’ve got some big updates to the software lists this month, with plenty of Apple II cassettes, RM Nimbus software, and over seventy new PlayStation dumps. BBC Torch floppies and Gamate cartridges are now considered working, and Kiki Inland for Gamate has been added. A number of titles that don’t require a PC/AT have been moved from the IBM 5170 list to the IBM 5150 list. There are also some nice additions to the IBM PC and Fujitsu FM Towns software.

Of course, there are lots more bug fixes and newly dumped versions of emulated games that you can read about in the whatsnew.txt file. Or you can get the source/Windows binaries from the download page and start emulating.

MAME 0.190

27 Sep 2017

The preservation train keeps rolling on with the scheduled September release of MAME 0.190. The Gaelco spree continues with Glass, Alligator Hunt and Maniac Square, and we’ve added support for two games on the hilariously misguided Tiger R-Zone system: Batman Forever and Indy 500. Emulation has been greatly improved for Mazer Blazer, Great Guns, and the Tecmo World Cup ’94 family of games, although all these games still have issues with unemulated protection.

In computer emulation, we’ve added support for ZX Spectrum slot devices. You’ll still get the Kempston Joystick Interface by default, but you can now swap it out for other devices, including a number of Currah cartridges. There are also some big improvements to the HP9000/300 series, and support for HP85 option ROMs.

You can read about the rest of the improvements and newly supported systems in the whatsnew.txt file, or get the source/Windows binaries from the download page and try it out.

MAME 0.189

30 Aug 2017

What better way to welcome southern Spring/northern Autumn than with a MAME release? MAME 0.189 brings general improvements across a broad range of areas:

  • The -sleep and -refreshspeed options have been fixed (MAME will no longer use 100% of a CPU core for the least demanding systems).
  • UI translations have been updated – Chinese, German and Greek are fully up-to-date.
  • Many layout and navigation bugs in the system/software selection menus have been fixed.
  • Slot card BIOS selection has been fixed.
  • Performance of machines that make heavy use of the output/artwork system has been substantially improved.
  • Support for many more PNG features has been added.
  • A number of issues with XML system/device output have been addressed.

We are aware of the ongoing issues with the options system. If this completely breaks your use case, all we can recommend at this point is to keep using MAME 0.187 until the issues are resolved.

MAME 0.189 adds support for several systems that many of us won’t have had an opportunity to experience in real life. Possibly most interesting is the China Educational Computer I, an Apple II clone with more memory, Chinese language support (pinyin input), and a built-in Logo interpreter. Another interesting addition is the German Kontron PSI98, a Z80-based computer with fairly advanced features. Support for the BBC Micro Tube interface has been added, allowing the use of add-on coprocessor modules and by extension the software that takes advantage of them.

On the arcade side, the protection code/data for Gaelco’s TH Strikes Back has been dumped and the game now works. The microcontrollers for Toaplan’s Ghox and Whoopee have been dumped, adding sound to both games and fixing graphical issues in Ghox. The elusive world release DoDonPachi III has been dumped and added. Gaelco’s Football Power is also working in this release. Handheld LCD game additions have slowed down, but MAME 0.189 adds support for three Konami games: Garfield, Football Power, and Bayou Billy. Quite a few Mephisto modular chess computers are now working.

MAME 0.189 adds support for a whole lot of newly dumped alternate versions, bootlegs and hacks of arcade titles, and the usual assortment of fixes, improvements, and code modernisations. You can read about it in the whatsnew.txt file, or get the source/Windows binaries from the download page and try it out.

¡Hola! こんにちは。 Здраво!

22 Aug 2017

We know we let MAME’s translation files rot for almost a year, and for that we’re truly sorry (the technical reason is lack of C++14 support in GNU xgettext), but we’ll be in much better shape on this front for our next release (0.189 scheduled for 30 August). The Chinese, Greek, Brazilian Portuguese, and Spanish translations are up-to-date or very close to it, thanks to A. Viloria, Ashura-X, BraiNKilleRGR, Felipé Sanches, and YuiFAN. However, our other translations are still in need of updating.

If you anyone could help out with updating a translation, or contributing a new translation, we’d very much appreciate it. The translation files are in the language folder in MAME’s source tree. Updating a translation doesn’t require programming skills, just knowledge of the terminology in English and the target language, and a text editor with good UTF-8 support. We prefer to receive submissions as pull requests on github – you can contact us on our forum or our IRC channel (#mame on freenode) if you need help with the details. We’d also appreciate reports of localisation/translation issues (on github or our forum).

MAME 0.188

25 Jul 2017

MAME 0.188 comes to you with tales of perseverance, blind luck, and the kind of insanity you’d get from no-one else. By sheer chance, a DECO Cassette system Brian Troha picked up cheap happened to come with a set of graphics ROMs for Explorer. While the Explorer program cassette was dumped sixteen long years ago, the graphics ROMs have proved elusive until now. We can finally all enjoy this Tempest-inspired title from the early ’80s.

After much effort and rendering several boards inoperable, Peter Wilhelmsen and Morten Shearman Kirkegaard successfully extracted the programs from the DS5002FP protection modules on Gaelco World Rally 2 and Touch & Go. Yet another seemingly impenetrable protection scheme has been been emulated. Persistence has paid off. This is also a boon for people wishing to repair Gaelco games that have ceased to function after the lithium cell in the protection module has failed. After extracting the program from a working board, it’s possible to reprogram other boards running the same game.

As for MAMEdev-brand insanity, we are (to the best of our knowledge) the world’s first and only emulator for the INTELLEC® 4. This system was used to develop software for Intel’s earliest microprocessor family, the 4004 and 4040. We’ve even put together a user manual of sorts if by chance you want to see what interactive debugging was like in the ’70s. It has lots of fun LEDs and switches!

Fans of handheld LCD games will be pleased to see the steady stream of improvements: 0.188 adds support for several Konami and Tiger handhelds, and vector backgrounds have been added for Game & Watch titles Mario Bros, Mickey & Donald, and Cement Factory.

On the arcade side, we’ve added support for Operation Wolf SC, a version of the military-themed shooter Operation Wolf with reduced difficulty intended for small cabinets located in shopping centres (hence the SC). Children could stay out of trouble storming concentration camps and powder magazines while their parents shopped in peace. Another interesting addition from Taito’s history is a very rare prototype of Bubble Bobble on Tokio hardware. It has different graphics and music, and includes a functional stage editor. Of course we’ve added an assortment of clones as usual, including versions of Act-Fancer, Kageki, Logger, Solar Assault, Street Fighter II, Taisen Idol-Mahjong Final Romance 2, and Xevious 3D/G.

I’ll finish by mentioning that save states and scheduled exits should now work properly in Emscripten builds (thanks to James Baicoianu), colours are fixed for Time Limit and Omega (thanks to ShouTime dumping the PROMs), and ROM identification (-romident verb) is even faster (under ten seconds on my old notebook). That’s really all we’ve got space for here, but you can read about the rest of the exciting improvements from July in the whatsnew.txt file, get the source/Windows binaries from the download page and try it out.