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

25 Apr 2024

It’s time for our very special MAME 0.265 release! April has seen development across numerous areas. MAME now has support for touch screens on Linux and Windows 8 or later, opening up new possibilities for interactive artwork. If you have a suitable multi-touch screen, you can now play chords on systems with on-screen piano keyboards. Check the documentation for specifics on how touch differs from mouse control in menus. You’ll need to turn on the enable_touch option to use touch screen support on Linux.

A pair of 1970s portable computers from IBM are now emulated in MAME: the IBM 5100 and IBM 5110. Based on a heavily microcoded 16-bit architecture, these systems ran APL software by emulating a System/360 mainframe and BASIC software by emulating a System/3 business system (ancestors of IBM Z and IBM i, respectively). Prior to the introduction of the IBM 5100, APL was exclusive to large mainframe computers. A self-contained 25 kg system running APL as well as BASIC was revolutionary.

You can now plug a virtual Super Game Module into your emulated ColecoVision, adding more RAM and better sound output. Many titles from the vibrant ColecoVision homebrew development community require or make use of the Super Game Module. There’s also a big update to the ColecoVision software lists, including lots of homebrew software to try out. Other software list additions this month include one of the remaining Bandai RX-78 game cartridges, two more GameKing III games, a batch of MSX2 floppy disks, and the latest Apple II floppy disk dumps.

Of course, we haven’t stopped working on arcade game emulation. For the first time, you can play Konami’s Tokimeki Memorial Oshiete Your Heart games. These spin-offs of the popular dating simulation series used heart rate and galvanic skin resistance sensors and printed the results from your game. What appears to be an early version of Visco’s Kokontouzai Eto Monogatari drop puzzle game has been found and dumped. This version has much less content in the data ROM and a smaller program. Another rare find dumped this month is a production version of the CES Galaxy Games StarPak 4 multi-game cartridge.

Other improvements this month include serial console support for the KIM-1 hobbyist computer and an option to use one binary file per track when extracting CHD CD-ROM images. You can read about everything that happened in the whatsnew.txt file, or get the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

Updated requirements for compiling MAME

28 Mar 2024

We’re soon going to start requiring newer versions of some tools and libraries to compile MAME. The oldest versions of tools and libraries we will officially support will be:

  • GCC 10.3
  • clang 11.0
  • SDL 2.0.14
  • Qt 5.15
  • GNU libstdc++ 10.3
  • LLVM libc++ 11.0

Some older versions of clang, Qt, GNU libstdc++ and LLVM libc++ may continue to work for a while, but no effort will be made to maintain support.

The oldest supported tools and libraries are approximately three years old. Examples of environments that provide sufficiently up-to-date tools and libraries include Ubuntu Linux 22.04LTS, Fedora Linux 33 and macOS 11.0 “Big Sur” with Xcode 12.5.

MAME 0.264

27 Mar 2024

MAME 0.264 is ready right on time! Before we get to emulation improvements, there are some changes to the debugger that may affect you. The debugger’s printf and logerror commands now support more formatting conversions and options, including NUL-terminated strings from emulated memory, hexadecimal numbers with lowercase digits, and left-aligned fields. This may change the behaviour of some debugger scripts. In other general changes, MAME now supports saving compact cassette images in compressed FLAC format, so you can save some disk space.

Thanks to new contributor Enzo Lombardi, Dribbling now has emulated sound! This classic twin-stick top-down football game was once a common sight in Italy’s numerous arcades. Sound effects make for a much more authentic experience. Robin Sergeant, another relative newcomer to MAME development, has been putting in a lot of work to improve the state of the Research Machines RM-380Z family, and it’s really coming together. This release adds sound, graphics, 8" disk drives, and more.

The very rare arcade game Vampire from Entertainment Enterprises has finally been dumped and emulated. A rare sight in ’80s arcades, it wasn’t known for being a great game. In a way, this makes it more interesting, as we’re more often reminded of successful games and more likely to forget the failures.

If you’re feeling adventurous, you can use the newly emulated Visual Technology XDS-19P as a graphical terminal for a modern Linux system running X11 applications. It requires setting up BootP and TFTP servers, as well as configuring the host system so it can connect, so be prepared for a challenge if you decide to try it out.

Of course, there’s much more, including working controls for Tomy Plarail and Tomica TV games, fixes for audio CD playback, and dumps of the few remaining EC series Japanese e-kara cartridges. You can read all about it in the whatsnew.txt file, or get the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

MAME 0.263

28 Feb 2024

Are you all ready for MAME 0.263? This release has some big changes that are going to affect everyone: several default UI control assignments have changed, including pause and save/load state. The changes will hopefully make life easier for people emulating computers. After updating, please check the User Interface input assignments and make any changes necessary for your setup.

We’ve fixed some long-standing bugs this month. Issues affecting large hard disk images (tens of gigabytes) have been fixed, and chdman will now report more invalid combinations of options rather than just producing invalid output files. Crashes or hangs when emulating systems that use discrete sound circuitry simulation on multi-core ARM systems should be fixed, as well as occasional bad sound output from the discrete circuitry simulation.

Thanks to recent work reverse-engineering the K052591 chip, this release features improved protection simulation for Hexion, S.P.Y. and Thunder Cross. Newly supported systems include a few computers from the former Yugoslavia, two more Tiger LCD games, and several more chess computers. The ROMs for the unreleased Deluxe Color Computer have been dumped recently, allowing emulation to be completed, and there’s a big update for the Apple II software lists this month.

As always, the whatsnew.txt file tells you about everything that’s changed in this release, and you can get the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

MAME 0.262

31 Jan 2024

After two long months, we’re back with MAME 0.262! Of course, it’s full of exciting work on multiple fronts. In core media support, MAME now supports FLAC compression for compact cassette images, and Zstandard compression in zip archives and CHD disk images. For maximum compatibility, chdman won’t use Zstandard compression by default, so you’ll need to enable it if you want to use it when creating or converting disk images. For your convenience, unidasm now allows you to specify offsets in hexadecimal or octal.

Three LaserDisc games designed by Rick Dyer are now working: the Japanese version of Time Traveler, the console-to-arcade conversion Thayer’s Quest, and Don Bluth’s Dragon’s Lair. It’s very exciting to see multiple LaserDisc captures combined to eliminate all dropouts from disc degradation and pressing faults for Dragon’s Lair and Thayer’s Quest.

Following up on work in the previous release, MAME now supports Sega’s TV Ocha-Ken system, based on the same technology as the Advanced Pico BEENA. It’s a far simpler system designed for young children, using barcode cards to trigger mini-games. Also from Sega, initial support for the AI computer has been added. No, this isn’t related to the current artificial intelligence craze; it’s a rather obscure system from 1986 featuring a pen tablet and using cartridge and compact cassette media.

Two more Casio Phase Distortion synthesisers have been added: the CZ-230S keyboard and the rare SZ-1 sequencer. The CZ-2230S lacked sound editing features but added a programmable drum machine (using PCM samples) and sequencer. Also in synthesiser emulation, MAME’s Wave Blaster host driver now supports multiple synthesiser modules from Casio, Samsung, and Yamaha. In other musical news, the original version of the very obscure Shamisen Brothers rhythm game from Kato’s has now been fully dumped and emulated.

The microcontroller program for Taito’s KiKi KaiKai was recently extracted. This contains a substantial amount of game logic, allowing the simulation code previously used by MAME to be retired and giving more confidence that the emulation is accurate. Improvements to our Fujitsu MB8841 emulation have fixed persistent issues in Arabian from Sun Electronics. HT1130 microcontrollers are now supported, allowing cheap hand-held “brick games” to be emulated, albeit without sound for now.

This is a big release for chess computer emulation. There are lots of newly supported chess computers from the brands you love, like Hegener + Glaser, Novag, and Saitek, as well as more versions of systems that were already supported. There were also a couple of backgammon computers added, from Saitek and Tryom.

There’s inevitably far more than we have time to talk about here, including an Arabic version of the Mattel Aquarius, an 8" floppy drive controller for the Apple II family, numerous Aristocrat Leisure gambling systems promoted to working, some big software list updates, and lots of code modernised. You can read about all the two months of development in the whatsnew.txt file, or get the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

MAME 0.261

29 Nov 2023

MAME 0.261 will be the final MAME release of 2023, and it’s a real ripper! We’re ending the year with a bang! Over a hundred pull requests were merged this month, including several from first-time contributors as well as many familiar names. Following up on the work last month, two more Casio Phase Distortion synthesisers have been added: the high-end CZ-1 keyboard and the unreleased MZ-1 module. The Yamaha MU50 XG tone generator module is also working a lot better in this release.

Two home consoles with drawing features are now working: LJN’s VideoArt from 1987 and Sega’s Advanced Pico BEENA from 2005. Although they were both positioned as intellectually stimulating consoles for children and both had drawing features, they couldn’t be more different. The VideoArt was universally derided for its poor controls and lack of entertainment value, drawing negative comparisons to the popular Etch-a-Sketch toy. On the other hand, the BEENA was a high-quality device using media combining a ROM cartridge with a picture book, and featured dual pen digitisers. Its ARM CPU is fairly demanding to emulate in MAME, so you’ll need a fast PC to run it at full speed. We’re aware that the current scans of the picture books are not perfect, but it’s still quite usable apart from some peripherals that aren’t emulated yet.

On a completely different note, some of the Taito gambling and medal games have started to come to life. The purpose of the games is to separate you from your money, and there isn’t much gameplay value, but they’re still interesting to see. Some of them feature characters from popular Taito franchises. Speaking of gambling games, a couple of Chinese-language mahjong gambling games from BMC have been dumped.

Systems with AVR8 CPUs now run up to 50% faster, including the Uzebox console, Linus Åkesson demos, and the homebrew Sega Master System paddle controller. A means of dumping the microcontrollers Jaleco used for protection in some Mega System 1 games has been discovered recently, allowing the protection simulation code to be retired for 64th St. - A Detective Story and Big Striker. Our understanding of the gate array protection used for some other Jaleco games has also improved. The internal Super A'Can now has its main CPU’s internal ROM hooked up properly, improving the accuracy of its boot process.

Of course, there’s far more in this release than we have time to talk about here, including newly dumped Korean versions of arcade games, bootlegs from Spain, support for PDS cards on the Mac Quadra/LC 630 family, more Heathkit Terminal Logic Board variants, and lots of new software list items. You can read all about it in the whatsnew.txt file, or get the source code and 64-bit Windows binary packages from the download page.

Read the rest of this entry »

No December MAME Release

26 Nov 2023

Hi everyone! As you’re no doubt aware, the end of November is fast approaching, and we’re gearing up to get MAME 0.261 out. We’re very excited about some of the systems that have been brought up this month, which you’ll know about if you’ve been following development in our git repository.

We won’t have a MAME release at the end of December. Instead, we’ll have a two-month development cycle culminating in a release at the end of January. Enjoy the end-of-year holidays if you’re taking a break, or hang in there if you’re working all the way through. Development won’t stop, and you can always build from the very latest source code if you want a preview of what’s coming in the next release.