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

MAME 0.251

31 Dec 2022

It looks like MAME 0.251 has made it out the door just in time for the end of 2022! December felt like a long month in MAME development, because so much happened! Nebula, an elusive DECO Cassette game, is now emulated. With working steering controls, Magical Pumpkin: Puroland de Daibouken is now playable. Two members of the HP 9825 family from the 1970s have been added, and issues with keyboard input on localised versions of the HP 86B have been fixed.

One of the most interesting systems added this month is the so-called Gerät 32620, make by the Institut für Kosmosforschung of the Deutsche Demokratische Republik. This device was used to read coded messages to be broadcast via shortwave radio numbers stations for reception by undercover agents. If a human were to read the numbers, they could inadvertently disclose knowledge about the nature of the messages or the coding scheme in their speech patterns. This device gives a small glimpse into the shadowy world of espionage.

Konami fans have a lot to be excited about. Firstly, two more hand-held LCD games have been added: Skate or Die, and Bill Elliott’s NASCAR Racing. Secondly, Windy Fairy has been making steady progress on the PowerPC-based arcade systems, with gun controls now working in Teraburst. Finally, various refinements and fixes to the CPU core for Konami’s custom 6809 processor have fixed a subtle parallax scrolling effect in the classic Padodius DA!

Several systems have been fleshed out noticeably this month, including the NEC PC-8801mkII SR family of Japanese computers, the 3com Palm IIIc and Palm m100 PDAs, and the Yamaha DX100 synthesizer. Additionally, the NEC PC-88VA2 can now boot most software, and the work on the Palm systems has allowed the VTech IQ Unlimited to show signs of life.

Quite a few systems have had pluggable controller support added this month, and support for some additional controllers has been added, including:

  • Pluggable controller support for consoles and computers from Sega, NEC and Sharp.
  • Sega Mega Drive mouse and 4-player adaptor support.
  • Support for an ATmega-based paddle controller that works with export versions of the Sega Master System.
  • NEC PC Engine mouse support.
  • Support for the Dempa Micom Soft XE-1AP, the first analog gamepad. Can be used with compatible software for the Sega Mega Drive, NEC PC Engine, Sharp X68000 and FM Towns families.

Of course, there are lots of other fixes and emulation improvements. The Apple IIgs has better ADB and real-time clock emulation. Sega’s Turbo and Buck Rogers: Planet of Zoom have better controls, and the latter has had graphical priority issues fixed. The NES APU frame counter interrupt is now emulated, fixing issues with dozens of games. For developers, debugger command and expression history is now saved between sessions.

As always, you can read about all the changes this month 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 »

MAME 0.250

30 Nov 2022

November has passed us by, and it’s time for MAME 0.250, with a distinct Konami flavour! On the arcade side, the third and fourth player positions are supported in NBA Play By Play, and lots of regional variants have been added for games running on Hornet hardware. We’ve also added support for a Konami hand-held LCD game, a Tiger LCD game based on a popular Konami franchise, and a prototype of an unreleased Game.com title in the same series. In addition to the Castlevania-themed LCD game, we’ve added licensed Tiger LCD games featuring Mega Man, Ninja Gaiden, Superman and Gargoyles characters, although the latter two are different skins for the same game.

MSX computer emulation has had a major overhaul, with more supported systems and peripherals, including lots of cartridge port floppy drives. As a bonus, the Fujitsu FM Towns family gained support for more controllers, including the Marty Pad and the twin-stick Libble Rabble joypad. Hard disk issues affecting the FM Towns family were also tracked down and fixed. Atari 8-bit computer cartridge emulation has been modernised, and a few more unlicensed Game Boy cartridges are supported (you can now play some very famous unauthorised translations in MAME). The Quantel DPB-7000 is looking much better, with lots of progress on video output and peripheral support.

Namco’s Alpine Surfer is now playable in MAME, and several graphical glitches that had plagued System 22 emulation have been banished. Support for Italian versions of Quizard has been added, and German versions of Quizard 3 and Quizard 4 Rainbow are now working, as well as a Czech version of Quizard 4 Rainbow. A missing line scroll effect in Seta’s Caliber 50 is now emulated, and some flickering graphics in Atari’s Return of the Jedi have been fixed.

Other improvements include lots of fixes for invalid memory accesses, function keys for the Franklin Ace (Apple II clone) computers, proper DIP switch labels for Nintendo Vs. Mahjong, and much, much more. You can read about all the changes this month in the whatsnew.txt file, and you can download the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »