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.

New ROMs and Wiki Content

27 Feb 2007

Hey, what do you know, a post that isn't about a MAME release!

I've got some exciting news. In addition to allowing the free distribution of Teeter Torture from this site, H. R. Kauffman, the president of Xidy, Inc. (formerly Exidy), has agreed to allow us to distribute many of the older released Exidy games here as well! So, over the next few weeks, we will be featuring many games from the Exidy lineup here on the site. The first of these is the classic game Circus, released in 1977.

Look for more games to appear shortly. Ultimately, it would be awesome if some of the bigger companies would recognize the historical significance of some of their older titles and allow them to be enjoyed by a wider audience in this manner.

The second bit of news is that there have been some great additions to the developer wiki since it was first created. I wanted to highlight a few of the updates:


  • Andrew Gardner has put up links to various technical articles and other details that have appeared in blogs and articles in the past, and Mike Ellery has posted an article on DIP switches in the How MAME Works section

  • Reip, Phil Bennett, and I have put up "to-do" lists on the Developer WIP page. I find this a great location to jot down random ideas I have; hopefully other devs will find it equally useful.

  • MooglyGuy has been doing a very cool job of wiki-fying the whatsnew.txt files from earlier MAME versions with annotations and links to MAWS for games referenced. See the new Previous MAME Versions section to see what has been done so far.

  • I have also started the process of migrating the MAME FAQ and updating the text to be more accurate to the current state of the project. See the current WIP version in the new Frequently Asked Questions section of the wiki.


Overall, some great content on the wiki so far! You can keep an eye on the Recent Changes page to see what's going on in finer detail, if you're interested. You can even keep an RSS feed for that page if you really want to stay on top of things!

MAME 0.112u3

26 Feb 2007

A third update to MAME 0.112 is now available on the Latest Release page. The biggest change in this release is a significant change to the way sound is generated. The previous implementation allowed the OS-specific code to control the sound, which ended up having subtle impacts on the consistency of the emulation. For example, a user running with one sample rate might get different results from a user running at a different sample rate. As of this release, the OS-specific code is no longer in control of sound generation at all. Instead, the core emulator decides how much sound to generate and hands it over 50 times/second to the OS layer. As a result, this change impacts not only the internals of the sound system, but also requires us to change the way we stream sound in the Windows-specific code (and the SDL code will need to be updated as well).

A side-effect of this change is that it is now very important for the frame rate to be as accurate as possible. This means that the behavior of the code which throttles MAME down to the proper frame rate is very important. Thus, several changes to the way MAME throttles its speed have been implemented. Hopefully this will produce more regular frame rates and fewer sound glitches. As usual, report any problems to MAME Testers.

In addition to the sound changes, Derrick Renaud has made some changes to the way analog inputs are handled. This is all to the good and improves the accuracy of the controls, but may introduce a bit of confusion. Be sure to read the whatsnew.txt file and the updated windows.txt file to see how things work in the new world.

Finally, we have some nice additions to the Konami System 573 driver from smf, discrete sound in Amazing Maze thanks again to Derrick, and some nice Eolith driver improvements. All in all, a nice release, but not for the faint of heart if big changes make you nervous!

MAME 0.112u2

18 Feb 2007

We're back to regular-sized 'u' updates again with this release. Some highlights this time around include the final death of XOR files for CPS2 games, filtering on the new Namco 54xx sound output, more improvements to the Cidelsa driver, and more infrastructure for supporting the laserdisc games. Grab the diff file from the latest release page.

MAME 0.112u1

12 Feb 2007

Now available for download is the first update to MAME 0.112. And this one's a big one. The most obvious impact is that the source code tree has been significantly reorganized. A number of changes that have been made over the past couple of years have resulted in a somewhat more modular codebase, and now is a good time to organize things accordingly. Unfortunately, due to the file movement, a diff of this release would probably be twice the size of the raw code, so you'll have to download the full set of sources.

If you are a developer, it is very important that you update to this release, as patches against 0.112 and earlier won't apply properly, and there is no guarantee that they will be accepted.

Other exciting news for this release includes actual emulation of the Namco 54xx sound chip, which turns out to be a Fujitsu MB8844 microcontroller with embedded ROM. This allows the removal of samples from Galaga, Bosconian, and Xevious, among others. We also have some nice sound core improvements from the hoot development team, some nice new input port support, a few new CPS2 keys, and a bunch of fixes for subtly (and not-so-subtly) broken drivers due to the Z80 change late in the 0.111 dev cycle. Have fun!

Happy 10th Anniversary!

07 Feb 2007

Believe it or not, today marks the official 10th anniversary of the first release of MAME! To celebrate, we've got a whole bunch of new and cool stuff to share.

First off, we have the official release of MAME 0.112, with a typically huge number of great features. This is the first release with full CPS2 encryption emulation, meaning no more XORs and a number of new regions have been enabled. We also have full speech and sound emulation in Berzerk, a full rewrite of the old Midway black & white driver, a new SN76477 emulator, new crosshairs for lightgun games, the first working Cidelsa game from Spain, and the usual collection of cleanups/reorganizations to the code.

One of the newly supported games in 0.112 deserves special mention. Teeter Torture is a prototype game from Exidy that is very rare. With permission of the current rights holder for the game, I'm happy to announce that we have been able to dump the ROMs and make them publically available for non-commercial use. I encourage you to try the game out -- it really is unique and happens to be one of the better prototype games that never officially made it to the arcade.

Unless you're only reading this news via the RSS feed, you've probably already noticed that the site looks a bit different than before. Although the white text on dark blue background looks nice, it is very difficult to read anything more than a few paragraphs long. Hence the new look, which keeps the main area black-on-white, which will help when reading, say, the MAME Developer documentation.

Unfortunately, the developer documentation hasn't really evolved as well as I'd hoped. Plus, the developers are constantly being asked why a certain game doesn't work, or other information that is often posted once to a message board and then lost as the posts disappear. To alleviate these problems and more, this site is now hosting a MAME Developer Wiki, where any of the developers are free to provide information about anything MAME-related. Hopefully over time this will grow to be a great resource on a lot of MAME-related topics.

In addition to the wiki, there are a few other new areas on this site that are worth checking out. Given that a big anniversary like this one is a good chance to look back on how far we've come, it makes sense to preserve the history of the project as well. Thus, you can now find all the previous releases of MAME, dating back to the first release 0.1, available for download here on mamedev.org.

Second, thanks to the efforts of several folks of the team, we've added a new MAME Project History page, featuring a list of many of the historcal milestones in the project's development. You can also find an updated Chart of MAME Development there, thanks to Fujix.

But wait, there's more! For fun, we thought it would be neat to take the current MAME sources and (de)construct a MAME 0.1-compatible build with support for only the games and ROMsets supported by the original. R. Belmont stepped up to the plate and produced a seriously stripped down set of MAME sources that include both the Windows and SDL-based OSD layers plus a minimal set of sources to build your own 10th anniversary MAME 0.1 release.

Well, hopefully that's enough excitement for one day. Thanks again to everyone for their support throughout the years!

MAME 0.111u6

29 Jan 2007

There has been a lot of activity over the past few days, so I've released an early update to u6. Get it at the Latest Release page.

MAME 0.111u5

25 Jan 2007

A new update is now posted on the Latest Release page. A significant change to the Z80 core is included, so please try out your favorite Z80-based games and report any issues to MAME Testers.