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

28 Jul 2023

Well, it’s the end of another month, meaning MAME 0.257 is about due! First of all, you might notice there are some big software list updates this month. There are quite a few ZX Spectrum cassettes and a pile of MSX cartridges. There’s also a boatload of original Apple II floppy disk dumps, including plenty of Infocom, MECC, Stickybear and Timeout titles. More 3.5" disks for 8-bit Apple II computers are being dumped now, so make sure you have your emulated drives set up properly if you want to try them out. Speaking of Apple, Macintosh computers with 68040 CPUs are starting to reach working status in MAME. Get ready to relive the confusing array of Quadra, Centris and LC models from the early 1990s.

For many years, Capcom’s Avengers was an enigma. It was obvious that substantial parts of the game’s logic don’t run on the main CPU, but how it was actually implemented was a long-standing mystery. It turns out the cheeky boys at Capcom put an 8751 microcontroller under the sound module on the circuit board, and no-one noticed it hiding there until Phil Bennett spotted it last year! Since then, a microcontroller was sourced, and the internal program was exfiltrated by Caps0ff. Unfortunately, the data was damaged slightly, but it’s now running in MAME with a patch. This allowed the old simulation code to be removed, providing a better representation of the game’s original logic.

If you’ve been following updates this year, you might have noticed the activity around the 16-bit Psion handheld computers. Quite a few have been promoted to working this month, including several Series 3 clamshell PDAs and the Workabout data entry terminal. Naturally, there’s a software list for Psion Solid State Disk media for you to try out. From the same corner of the world, MAME gained support for the Bellfruit “Black Box” electromechanical gambling machine platform. Although the games are marked as not working, you can spin the reels without having to worry about losing your shirt.

There’s lots more in this release, ranging from an overhaul for Taito’s Change Lanes, to support for building against Qt 6 on Linux. You can read all about it in the whatsnew.txt file, and the source code and 64-bit Windows binary packages are available from the download page.

Read the rest of this entry »

MAME 0.256

28 Jun 2023

Yes, it’s already time for MAME 0.256, our midyear release! Several very rare and exciting things have turned up this month. Remember that rally racing game Top Driving that was added last month? This month, Mortal Race, an earlier, rarer game based on the same codebase has been found and dumped. The rare Gamate cartridge Mighty Boxer has finally been tracked down and dumped, which means all Gamate games known to have been released are accounted for. Taiko no Tatsujin RT: Nippon no Kokoro has been dumped, bringing us closer to completing the Namco System 10 collection. This offshoot of the popular series was designed for venues like hospitals and aged care facilities. It doesn’t accept coins, and it features easier songs. Four more versions of the prototype arcade game Turbo Sub have also been dumped and added.

For computers, there are lots of software list additions, particularly for MSX and ZX Spectrum. The Heathkit H89 now has enough functionality emulated to be marked working. You can now add ROM cards to your emulated Apple II computers, and FLEX now works on the TRS Color Computer family.

There are also lots of emulation improvements, including fixes for a few more Taito F3 graphical glitches, and better graphics layer mixing on Sharp X68000. Behind the scenes, we’ve been working on support for wait states in the MOS 6502 and Hitachi H8 CPU families and there have been some changes to streamline the code.

As always, you can read all about everything that’s changed this month in the whatsnew.txt file. The source code and 64-bit Windows binary packages are available from the download page.

Read the rest of this entry »

MAME 0.255

31 May 2023

As you may have expected, it’s MAME 0.255 release day! Following on from April’s breakthroughs, Namco System 10 MP3 audio is now supported, making Golgo 13: Juusei no Requiem, Seishun Quiz Colorful High School and Nice Tsukkomi fully playable. On top of that, Point Blank 3 and Gunbalina now run, and the later version of Gamshara has been dumped correctly. If you like rhythm games, more than half a dozen Pop'n Music titles are now working. Lots of LCD and LED games were added this month, including two Teenage Mutant Ninja Turtles games from Konami, Super Goal Keeper from Tronica, and two sports-themed games from Tomy.

Remember the Motorola 88000 CPU architecture? It’s OK if you don’t, it never achieved the same market penetration as its rivals MIPS, SPARC and POWER. But that makes it really cool that two Omron workstations based on 88100 CPUs, the Luna 88K and Luna 88K², are now working. This release also adds support for the Psion HC 100 series of hand-held computers from the early 1990s. These devices found their niche as portable data collection terminals. Support for the ZX Spectrum’s many descendants continues to grow, with the Sprinter Sp2000 arriving this month.

Of course, there are lots of other changes, including software list additions, bug fixes and general emulation improvements. You can read all about this month’s development adventures in the whatsnew.txt file. The source code and 64-bit Windows binary packages are available from the download page.

Read the rest of this entry »

MAME 0.254

27 Apr 2023

MAME 0.254, the most hotly anticipated emulator release in recent memory, is ready today! Yes, it finally happened: the first batch of Namco System 10 games have been emulated! It’s been a real team effort, with contributors around the world working on emulation, cracking encryption, and properly dumping the Flash memory chips. You’ll be able to enjoy Namco’s Mr. Driller 2 and Mr. Driller G, as well as the spin-off Star Trigon. System 10 was home to Mitchell’s final two arcade games, Gamshara and Kono e Tako. From Metro, there are two GAHAHA Ippatsudou mini-game collections and the two-in-one mahjong tile puzzle game GekiToride-Jong Space. Other working Namco games include Kotoba no Puzzle Mojipittan, Panikuru Panekuru, and Uchuu Daisakusen: Chocovader Contactee.

Quite a few of the System 10 games that are still marked as not working are already playable. Taiko no Tatsujin 2, 4 and 6 are playable, although we aren’t confident enough in the timing accuracy of MAME’s PlayStation emulation to mark rhythm games as working at the moment. You can play the light gun shooter Golgo 13: Juusei no Requiem, but it’s missing sounds and voice acting at the moment. Several coin pushers on the closely related WIDEISM SP-02 platform run; you can trigger various animations, but there’s no gameplay as such.

Of course, Namco System 10 emulation isn’t the only thing that’s updated in this release. Almost a dozen Yamaha keyboards based on the GEW7 CPU are now working. Interestingly, their sound synthesis capabilities are closely related to the MultiPCM chip used in various Sega arcade games. Another game from SNK’s early Micon Kit series has been dumped and emulated. There are also two more working Brother word processors and two working Liberty Electronics serial terminals.

Cave CV1000 games now have more realistic blitter performance, meaning you don’t need to tweak settings to get close to the arcade experience. Properly emulating the absence of a memory management unit in the R4650 CPU used by Namco’s System 23 solves crashes in Time Crisis 2. Some fixes in SGI workstation emulation have IRIX running again. A few bugs affecting PC Engine and Virtual Boy games have been fixed. Issues with certain sound effects in classic Konami arcade games have been fixed, too.

That’s all we’ve got time to talk about here, but you can read about all the work that made it into this month’s release in the whatsnew.txt file. The source code and 64-bit Windows binary packages are available from the download page.

Read the rest of this entry »

MAME 0.253

30 Mar 2023

It’s time for MAME 0.253, but before we start talking about all the exciting updates, there are a couple of things that will affect people compiling or packaging MAME. Firstly, libc++ 6 is no longer supported. You can still compile with clang 6, but you’ll need to use libc++ 7 or later, or GNU libstdc++ 7 or later, for the C++ standard library. Secondly, MAME now requires Lua compiled as C++ to work correctly. This prevents the use of Lua libraries from Linux distribution package repositories, as they are compiled as C. (The technical reason for this change is that MAME requires C++ stack frames to be unwound correctly, including destructor calls, when Lua errors are raised from C++ code. Using Lua compiled as C will cause resource leaks.)

We’ve updated to Lua 5.4, which comes with an all-new garbage collector, giving better performance. This should have minimal impact on people writing scripts and plugins. Two of the biggest visible changes are that unpack has been replaced with table.unpack and the deprecated bitlib has been removed. While we’re talking about Lua, we’d like to draw your attention to the new MAME Goodies repository, where we’ll be adding additional content for use with MAME. So far, there are two plugins. One of them is sure to be useful for fans of Konami’s arcade rhythm games. They also serve as example code for people looking to learn about some of the things you can do with MAME’s Lua scripting capabilities.

The long-rumoured microcode-based Motorola 68000 CPU core is finally here! It’s already delivering results, with a number of previously out-of-reach Atari ST demos now running. We’ve done some intensive testing, but there are probably still regressions lurking. Let us know if one of your favourite 68k-based games flakes out on you.

One of the more interesting systems to be dumped and emulated this month is Akazukin, a 1983 arcade game where you shoot wolves preying on a defenceless girl. There’s also a game bearing the rather generic title Heroes, an early version of Data East’s Mutant Fighter. We’ve added a few more electronic toys to play with, including Race Time from Bandai, Punch Your Lights Out from Tiger, and a trio of backgammon and chess games from Tryom. If you’re in a more serious mood, the Brother LW-30 and LW-840ic dedicated word processors are now supported. The Sony NWS-3410 UNIX workstation is now working (albeit without its frame buffer, so you’ll need to use a serial terminal), as is the ironically named Vector 4 S-100 bus computer (Vector Graphic never sold a system with vector graphics capabilities).

Building on the work in last month’s release, Hyper Neo Geo 64 games are looking better than ever. Numerous texturing and tilemap issues have been resolved. Taito F3 video emulation has had several effects fixed, with Land Maker in particular looking noticeably better. Switching from video to sound, the KC 85 computer family now has working audio output, some issues with looping and retriggered samples on the Apple IIgs have been fixed, and fixes for PC Engine CD audio playback issues have made some games go from crashing to playable. More subtly, correcting audio chip clock frequencies has fixed the pitch of sounds for several systems, including Snow Bros. 2 and Noboranka.

As always, there’s far more than we have time to talk about here, but you can read all about it in the whatsnew.txt file. The source code and 64-bit Windows binary packages are available from the download page.

Read the rest of this entry »

MAME 0.252

22 Feb 2023

After almost two months, we’re ready to release MAME 0.252, the first MAME release of 2023! As promised, there are some big updates, and some of them may require you to make a few adjustments to your MAME setups. In particular, the modules MAME uses to handle input and output (e.g. video, sound and controllers) have been cleaned up, fixing lots of bugs and resource leaks.

First of all, the BGFX video module has had a serious overhaul. Numerous issues affecting artwork rendering have been fixed, and toggling full-screen mode no longer crashes. MAME now saves many BGFX video settings to your CFG files for each emulated system.

Game controller handling has also been overhauled. The downside is that you may need to reconfigure inputs for MAME. The upside is that things should work better out-of-the-box, with better default input assignments for more controllers:

  • For Windows users, more XInput controllers are fully supported, including guitars, the DJ Hero turntable, and the Rock Band keyboard.
  • For people using SDL builds, like our lovely macOS and Linux users, there’s a brand new joystick input module using the SDL game controller API. This gives consistent assignments for popular gamepads, and allows you to supply your own button and axis assignment schemes if the defaults don’t suit you. If want the old behaviour, it’s still available: just set the joystickprovider setting to sdljoy in your mame.ini file.
  • For everyone, it should be easier to navigate MAME’s UI using a game controller, and MAME should choose better default game input assignments for more gamepads.

Of course, we haven’t stopped working on emulation. Newly supported systems include the NABU PC (a Canadian 8-bit home computer and cable network terminal), the I-Star Chess King (a Taiwanese hand-held chess computer of dubious quality), Computer Othello (one of Nintendo’s earliest video games), YoYo Spell (a prototype of the arcade game Little Robin), the very rare English language version of SegaSonic Cosmo Fighter (dumped from the unit previously operated at Sega World Sydney), and Saturn: Space Fighter 3D (a Space Invaders variant from Data East).

The MSX updates haven’t stopped: this release includes support for MSX-DOS2 and RAM expansion cartridges. The Hyper Neo Geo 64 has had some welcome fixes for both 2D and 3D graphics, and there should be more coming in the next release. At the other end of the spectrum, Apple II video has seen a number of improvements, and somewhere in between, S3 ViRGE reached a point where 256-colour mode works in Windows 98.

That’s all we have time for here, but you can read about the whole two months’ worth of changes in the whatsnew.txt file, or download the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

Release Schedule Adjustments

17 Jan 2023

Hi everyone! Hopefully you all had a great New Year if you celebrate that kind of thing, and hopefully you’ve had some time to enjoy MAME 0.251 as well! All of us at MAMEdev agree 2022 was a massive year for MAME development, and we want to thank everyone who’s helped achieve that. MAME wouldn’t be what it is without all your contributions, whether it’s bug reports, pull requests, pre-release testing, helping out new users, or just letting us know that you appreciate our work.

We’ve got some really big stuff in the pipeline, but it’s going to take a bit longer than usual to make sure it’s ready for prime time. As such, there won’t be a January MAME release this year, but we’re fairly confident we can have MAME 0.252 out by the end of February. If you want a taste of some of the things that are coming, you can get the very latest source code from our repository on GitHub and compile it by following the instructions on our documentation site. Once again, thanks for your continued support, and have an awesome 2023!