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

17 Feb 2009

After a bit of a hiatus, due to Real Life issues and a major change being in progress, we now have the 0.129u4 update. Please take some time to test this build and be on the lookout for audio problems or crashes that may result from converting the sound chips into proper devices. Report issues over at MAMETesters to ensure they get fixed as we wind down the 0.129 development cycle.

MAME 0.129u3

29 Jan 2009

Time for another update, now available on the Source Updates page.

MAME 0.129u2

22 Jan 2009

A new update to MAME 0.129 is now available on the Source Updates page. Have fun!

MAME 0.129u1

15 Jan 2009

The first update to MAME 0.129 is now available over at the Source Updates page.

MAME 0.129

04 Jan 2009

After two and a half long months of significant internal changes, we finally have a new full release to play with: MAME 0.129. Have fun! And don't forget to check the exhaustive whatsnew file for the lowdown on all the great fixes and new additions since the last update.

MAME 0.128u7

21 Dec 2008

As of this release, we have two more major changes. These should be the last "huge" changes of this dev cycle.

The most major change is the final retirement of the global Machine pointer, which has been part of MAME for many years. Frankly, I never thought we'd hit this point so quickly, so my hats off to Atari Ace who helped push through the final round of changes needed to make this happen finally. As a result of this change, it should be possible in the coming year to finally write a driver that runs two full machines simultaneously.

The second big change is that the CPUs are now full-fledged devices, and participate like all other devices in the system configuration. This is mainly an internal structural change, but in the end removes some redundant code and behavior. In a future dev cycle, a similar thing will happen with the sound cores.

Starting now, the focus for MAME will be to iron out remaining issues and release a 0.129 sometime around the 1st of the year. Please keep reporting bugs to MAMETesters as you find things.

MAME 0.128u6

14 Dec 2008

With this latest release, we have managed to successfully remove the CPU and memory context switching. This was not without some amount of effort and churn, so be on the lookout for bugs. On the plus side, though, I would say that this release does not appear to suffer from a large number of issues, so don't be afraid to give it a try!

The next step is to continue cleaning up from the rather frenzied set of changes, and to iron out the remaining bugs. I'm hoping to hit 0.129 sometime shortly before the 1st of the year.