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.

MAME 0.114

02 Apr 2007

Today sees the release of MAME 0.114. If you haven't been keeping up with the intermediate releases, this release will have some significant changes and improvements. See the specifics in the individual posts below, or in the whatsnew file for 0.114.

The biggest change since 0.113u4 is the addition of a now-working driver for Virtua Racing, thanks to the efforts of Ernesto and El Semi. In addition to this news, Derrick also managed to get full discrete sound emulation working for Double Play/Extra Inning, and partial sound emulation in Bowling Alley and Space Encounters. And as usual a few of the major issues and regressions from the 0.114 development cycle have been addressed.

Onward to 0.115!

MAME 0.113u4

29 Mar 2007

Another week, another release. Highlights this time around include a bunch of improvements to the WIP TGP core for the Sega Model 2 games thanks to Ernesto, Ville, and El Semi. The progress on this may not be immediately visible in MAME, but there is a bunch of great work happening here to finally get the Model 2 games emulated properly. This work is also helping to improve the Model 1 simulations, so expect to see some additional progress there soon as well. The final round of video timing updates from Zsolt means that a number of drivers are now running at proper video refresh speeds to provide more accurate timing. And the initial fruits of the FD1094 analysis show up as Bullet is now partially playable (it seems to blow up at the first boss, but you can at least start to see the game in action).

We're nearing the end of the 0.114 release cycle, so now is a great time to test out this version and report any bugs at the MAME Testers site so that we can clean them up before the next official release.

MAME 0.113u3

22 Mar 2007

A new release of MAME is now available on the Latest Release page. This release features a number of significant updates, including full MC8123 emulation from Nicola, allowing a few thought-to-be-lost-forever Sega games to be emulated at last. Haze also incorporated a prelminary version of his Megadrive code to get the Sega System E games up and running. Ville corrected a few bad bugs in the SHARC core, curing a number of issues in the Konami and Sega Model 2 drivers. Ernesto submitted a WIP version of the Model 2 TGP (MB86233) DSP core. Derrick added proper sound to Sprint 4. Zsolt rewrote the vic dual driver with proper video timing, along with some additional fixes and updates to video timing in other drivers. And a sudden influx of Korean and Chinese games has appeared, with a bunch of new skeleton drivers and a couple of new working games.

All in all, a lot of stuff is happening!!

MAME 0.113u2

15 Mar 2007

Today marks the release of MAME 0.113u2. Please note that there is an updated uismall.png file included with the diff which includes a number of improvements to the built-in font, including an expanded set of characters and some improvements to the existing design.

Other improvements in this release include work from Zsolt Vasvari to push more drivers over to the updated (and more accurate) video timing routines, some nice Ultra Tank and Sprint 4 improvements from Stefan Jokisch, the first multi-core aware driver (gaelco3d), and a bunch of internal changes that moves more code into the core so that each port of MAME doesn't need to copy and paste nearly identical code.

Two New Exidy ROMs Posted

12 Mar 2007

Head on over to the ROM Images page and check out our two latest additions: Car Polo and Robot Bowl. Thanks once again to H. R. Kauffman for allowing us to host these ROMs for legal download!

MAME 0.113u1 -- Oops

09 Mar 2007

Oops, I forgot when building last night's update that the PNG representing the new font would not be included in the diff. I have updated the 0113u1_diff.zip file to include uifont.png. Place this file in your source directory under src/emu and you should be able to build. Sorry about that! Fortunately, I don't see that file changing too frequently, so it should not be a common issue.

MAME 0.113u1

08 Mar 2007

A new 'u' release of MAME is now available. The biggest underlying change in this round is some internal code movement. In previous versions of MAME, the OS-specific code was responsible for all the frameskipping, throttling, fast forwarding, and timing behavior. What ended up happening is that most ports simply copied the Windows code, made a couple of tiny tweaks, and left it as-is. As of this version of MAME, all that logic has moved into the core video system, which means that there is less work for the OS-specific port maintainers to do. This is the first of a series of changes in this direction, which will mean that ports like SDLMAME and MAME OS X have less code to maintain.

As a side-effect of this change, the "frames_to_run" command line parameter has changed to "seconds_to_run", which is the same concept but uses the more neutral concept of time rather than frames. This is in preparation for a future time when games like the vector games will use asynchronous frame updating instead of using the frame rate hack we currently use.

In addition to this change, Zsolt Vasvari has been taking on the task of cleaning up the usage of video parameters in MAME. This involves converting older drivers to using the new, more accurate video timing functions. It's possible there will be some regressions as a result of this, so be on the lookout and report bugs to MAMETesters. Sebastien Volpe also submitted an improved Kaneko driver which brings several of those games closer to playable.

And finally, you may notice a slightly different look to the default font. I have been wanting to replace the default fixed-width font with a proportional font ever since the new video code went in, but have been finding it difficult to find a good BDF font editor (or a font that I liked that was compatible with the MAME license). I finally got fed up with this situation and threw together a quick PNG to BDC font converter (BDC is the binary cached version of BDF files that MAME can read) and designed a basic low-resolution font. As always, if you have a high resolution display, you are better off converting a TrueType font at high point size to BDF and using that, but for those using DirectDraw, the new font should be a good legible default, and the proportional sizing means more text will fit on those cramped game screens.