|
Posted
14 days
ago
We’re proud to present MAME 0.288 today. We’ve already mentioned it
before, but in case you forgot, we’ve migrated to C++20 and raised the
requirements for development tools and operating systems. Windows users
will now need
... [More]
an up-to-date version of Windows 10 or later. We’ve also
switched to compiling our Windows x64 releases with clang, using the
UCRT and libc++ libraries. This makes our Windows x64 and Arm64
releases more consistent. One other benefit of the updated runtime
libraries we’re now using is that whatever was causing MAME for Windows
Arm64 to be almost unusably slow with the debugger active is fixed.
There are some noticeable changes to MAME’s user interface in this
release, too. The most significant is that many options are shown in a
de-emphasised colour if they currently have default or inherited values.
This is the opposite of the previous behaviour for the input
assignments menus. The menus for controlling mounted media behave a
little differently, but hopefully more intuitively. There are a couple
of additional settings for how menus are handled (find them in the
Miscellaneous Options menu or change them in ui.ini). There’s
also a slight change to how MAME loads settings from INI files, but
most users shouldn’t notice the difference.
It’s been two months since our last release, so a lot has changed.
Rare Bubble System versions of Konami’s Galactic Warriors and RF2 -
Red Fighter have been dumped. MAME now supports the linked play
deathmatch mode in Taito’s Gunbuster over a network. The Sony SMC-777
home computer can run a reasonable selection of software from disk. If
you like classic synthesisers, you’ll be thrilled to know that the
Sequential Circuits Prophet 5 is now working.
It’s been a big two months for computer emulation. The Epson QX-10,
HP-98x6 and GRiD Compass have additional media options available. There
have been a lot of small updates for the Spectrum Next that all add up.
Several issues affecting the Apple II family, and particularly some of
the clones, have been fixed. The Research Machines 380Z now supports
stepping one instruction at a time in its debugger. Canon X-07 sound
output now works with more software. And speaking of sound, the sound
chips used in Macintosh models from the Macintosh II onwards should be
working better than ever before.
To find out about everything else we’ve been working on (including
some rare arcade games that are now playable), read on, and make sure
you check out the whatsnew.txt
file. As always, the source code and 64-bit Windows binary packages
are linked from our
download page.
Read the rest of this entry »
[Less]
|
|
Posted
2 months
ago
I hope you enjoyed our April Fools’ Day announcement. With that out
of the way, it’s time to discuss actual upcoming changes to MAME. We’re
upgrading the development language standard from C++17 to C++20 and
winding back
... [More]
support for obsolete configurations. We’ll also be
reducing the frequency of releases a bit, so there will no longer be a
release nearly every month. There will be no April release; our next
release will be near the end of May.
A summary of updated requirements:
A compiler and C++ standard library with a reasonable level of
C++20 support. GCC 11 is the oldest version of GCC that we will
support. You can also use a reasonably up-to-date version of
clang.
Windows releases will require an updated installation of
Windows 10 or later. Microsoft has already discontinued mainstream
support for Windows 10, as well as all prior versions of Windows
Home and Pro, and Windows 11 is already four years old.
MAME’s Qt-based debugger will require Qt 6.
A summary of some functionality we’re removing:
The 32-bit x86 (i686) recompiler back-end. It’s been over two
decades since the x86-64 architecture was introduced. All major x86
operating systems have supported x86-64 for years, and 32-bit x86
support is being wound back.
Support for compiling on OpenSolaris and other System V UNIX
systems. There are no actively developed OpenSolaris distributions
remaining, and no other System V UNIX variants have a meaningful
presence on desktop systems.
Specific optimisations for PowerPC host systems. PowerPC and
OpenPOWER currently have no meaningful desktop presence, and the
Libre-SOC project to produce a completely free, high-performance
OpenPOWER implementation has stalled.
The obsolete aueffectutil tool for macOS. This tool is no
longer relevant with MAME’s new audio output system, and it had not
been updated to work with recent versions of macOS.
The pre-built MSYS2 environments with included development
tools. There are multiple issues with our MSYS2 environment that we
can’t practically solve.
Read on for some more background and details.
Read the rest of this entry »
[Less]
|
|
Posted
2 months
ago
Hello everyone,
It is rare that the MAME Team addresses the community with news of
this magnitude, and we want to approach this moment with the
transparency and care it deserves. What follows is a candid account of
... [More]
where this project stands, where it is going, and why the decisions we
have made — difficult as some of them are — represent the most
responsible path forward for a codebase that has grown into one of the
most complex preservation efforts in the history of open-source
software.
🚀 On the Question of Technical Debt and Organizational Capacity
MAME has, for most of its existence, operated through the
extraordinary dedication of volunteers who give their time and expertise
freely. That generosity has produced something remarkable: a codebase
that accurately emulates thousands of distinct hardware architectures,
often to a degree of fidelity that no commercial effort has matched or
even attempted. We do not take that legacy lightly. What we must
acknowledge, however — and what we have been reluctant to state plainly
until now — is that the accumulated complexity of that codebase has
begun to exceed the realistic capacity of any volunteer-driven review
process to maintain safely and sustainably.
The decision we are announcing today did not emerge from a single
conversation or a sudden shift in priorities. It is the result of a long
period of internal reflection on what it means to steward a project of
this scope responsibly.
🔧 The Confirmed Direction: Rust Migration and AI-Assisted Review
Following extensive deliberation, the MAME Team has reached a
unanimous decision to pursue a phased architectural migration toward
Rust, to be introduced incrementally across subsystems beginning
with the May release. Concurrent with this migration, all pull requests
submitted to the project will be subject to mandatory AI-assisted
code review prior to human maintainer evaluation. Submissions that
do not satisfy the automated review criteria will be closed without
further escalation.
We wish to be unambiguous: this is not a request for community input,
nor is it a proposal subject to revision through discussion. The
decision has been made. We are communicating it now because the
community that has supported this work deserves to understand the
reasoning behind it, not simply to receive the outcome.
📍 May Release Scope and Migration Priorities
The May release represents the first concrete milestone in this
transition. The initial migration scope includes:
Memory safety wrappers: The highest-priority concern from a security and long-term maintainability standpoint.
Sound driver subsystems: An area of the codebase where Rust's ownership model offers the most immediate and demonstrable benefits.
Our governing principle throughout this process is one that long-time
contributors will recognize: if a driver cannot pass a cycle-accuracy
parity check against the existing stable build, it does not ship. We
will not sacrifice correctness for the sake of modernity.
🖥️ Platform Targeting and Contributor Requirements
We recognize this element of the announcement may provoke significant
discussion, and we want to address it directly.
Going forward, MAME's primary development target is a PC running a
recent version of Windows, equipped with a GPU compliant with at
minimum DirectX 11 (SM5), OpenGL 4.3, or Vulkan. This requirement
is not arbitrary. The AI-assisted toolchain that underpins both code
review and regression testing requires local model inference
capabilities, and we believe it is reasonable to ask that contributors
have access to hardware capable of running those tools.
We want to be clear about what this does and does not mean. Ports to
other platforms remain explicitly permitted under the terms of the
existing license. Those ports will be upstreamed as they become
available, subject to the project's monthly token budget constraints.
Modifications to source layout, core APIs, and OSD-layer support remain
at the discretion of relevant fork maintainers, provided that any such
modifications pass the AI-administered unit test suite prior to
upstreaming. Contributions that exhaust the project's monthly token
allocation will be queued to the following development cycle; we
appreciate your patience as we calibrate these limits.
🤖 On the Appropriate and Responsible Use of AI in This Context
We are aware that any announcement involving AI tooling will raise
legitimate questions about the integrity of the work being produced. We
want to address those questions honestly.
The language models integrated into our development pipeline serve
three specific, bounded functions:
Structural refactoring: Models are used to map established C++ memory-safety patterns into idiomatic Rust. Every output is reviewed and validated by a human contributor before it is considered for inclusion.
Test matrix generation: AI synthesizes comprehensive regression test cases derived from hardware datasheets, covering timing and behavioral edge cases at a scale that would be impractical to produce manually.
Cycle-accuracy verification: The AI-administered test suite exists to confirm, not to assume, that emulation fidelity is preserved throughout the migration process.
We are not using generative tools to write drivers, to make
architectural decisions, or to substitute for human expertise in matters
of hardware behavior. The goal is augmentation of human capacity, not
replacement of human judgment.
🛠️ Communication Going Forward
Official updates regarding this migration will be communicated
through:
GitHub: Technical specifications, commit history, and branch tracking
mamedev.org: Milestone summaries and roadmap documentation
Discord: Community discussion and beta testing coordination
We are transitioning away from mailing lists as the primary channel
for core development announcements. We recognize that this represents a
meaningful change for a portion of our long-term community, and we have
made this decision thoughtfully.
🙏 A Final Word
The history that MAME exists to preserve is irreplaceable. The
hardware it documents is dying. The window during which accurate
emulation can still be validated against physical reference hardware is
narrowing. These are the stakes that motivate every decision described
in this announcement, and they are the reason we have chosen to act now
rather than continue managing decline incrementally.
The first milestone release will be accompanied by detailed
comparison data demonstrating cycle-accuracy parity across all affected
subsystems. We invite scrutiny of that data. We are confident it will
speak for itself.
Thank you, as always, for the trust you have placed in this
project.
MAME Core Team
[Less]
|
|
Posted
2 months
ago
Hello everyone,
It is rare that the MAME Team addresses the community with news of this magnitude, and we want to approach this moment with the transparency and care it deserves. What follows is a candid account of where this
... [More]
project stands, where it is going, and why the decisions we have made — difficult as some of them are — represent the most responsible path forward for a codebase that has grown into one of the most complex preservation efforts in the history of open-source software.
🚀 On the Question of Technical Debt and Organizational Capacity
MAME has, for most of its existence, operated through the extraordinary dedication of volunteers who give their time and expertise freely. That generosity has produced something remarkable: a codebase that accurately emulates thousands of distinct hardware architectures, often to a degree of fidelity that no commercial effort has matched or even attempted. We do not take that legacy lightly. What we must acknowledge, however — and what we have been reluctant to state plainly until now — is that the accumulated complexity of that codebase has begun to exceed the realistic capacity of any volunteer-driven review process to maintain safely and sustainably.
The decision we are announcing today did not emerge from a single conversation or a sudden shift in priorities. It is the result of a long period of internal reflection on what it means to steward a project of this scope responsibly.
🔧 The Confirmed Direction: Rust Migration and AI-Assisted Review
Following extensive deliberation, the MAME Team has reached a unanimous decision to pursue a phased architectural migration toward Rust, to be introduced incrementally across subsystems beginning with the May release. Concurrent with this migration, all pull requests submitted to the project will be subject to mandatory AI-assisted code review prior to human maintainer evaluation. Submissions that do not satisfy the automated review criteria will be closed without further escalation.
We wish to be unambiguous: this is not a request for community input, nor is it a proposal subject to revision through discussion. The decision has been made. We are communicating it now because the community that has supported this work deserves to understand the reasoning behind it, not simply to receive the outcome.
📍 May Release Scope and Migration Priorities
The May release represents the first concrete milestone in this transition. The initial migration scope includes:
Memory safety wrappers: The highest-priority concern from a security and long-term maintainability standpoint.
Sound driver subsystems: An area of the codebase where Rust's ownership model offers the most immediate and demonstrable benefits.
Our governing principle throughout this process is one that long-time contributors will recognize: if a driver cannot pass a cycle-accuracy parity check against the existing stable build, it does not ship. We will not sacrifice correctness for the sake of modernity.
🖥️ Platform Targeting and Contributor Requirements
We recognize this element of the announcement may provoke significant discussion, and we want to address it directly.
Going forward, MAME's primary development target is a PC running a recent version of Windows, equipped with a GPU compliant with at minimum DirectX 11 (SM5), OpenGL 4.3, or Vulkan. This requirement is not arbitrary. The AI-assisted toolchain that underpins both code review and regression testing requires local model inference capabilities, and we believe it is reasonable to ask that contributors have access to hardware capable of running those tools.
We want to be clear about what this does and does not mean. Ports to other platforms remain explicitly permitted under the terms of the existing license. Those ports will be upstreamed as they become available, subject to the project's monthly token budget constraints. Modifications to source layout, core APIs, and OSD-layer support remain at the discretion of relevant fork maintainers, provided that any such modifications pass the AI-administered unit test suite prior to upstreaming. Contributions that exhaust the project's monthly token allocation will be queued to the following development cycle; we appreciate your patience as we calibrate these limits.
🤖 On the Appropriate and Responsible Use of AI in This Context
We are aware that any announcement involving AI tooling will raise legitimate questions about the integrity of the work being produced. We want to address those questions honestly.
The language models integrated into our development pipeline serve three specific, bounded functions:
Structural refactoring: Models are used to map established C++ memory-safety patterns into idiomatic Rust. Every output is reviewed and validated by a human contributor before it is considered for inclusion.
Test matrix generation: AI synthesizes comprehensive regression test cases derived from hardware datasheets, covering timing and behavioral edge cases at a scale that would be impractical to produce manually.
Cycle-accuracy verification: The AI-administered test suite exists to confirm, not to assume, that emulation fidelity is preserved throughout the migration process.
We are not using generative tools to write drivers, to make architectural decisions, or to substitute for human expertise in matters of hardware behavior. The goal is augmentation of human capacity, not replacement of human judgment.
🛠️ Communication Going Forward
Official updates regarding this migration will be communicated through:
GitHub: Technical specifications, commit history, and branch tracking
mamedev.org: Milestone summaries and roadmap documentation
Discord: Community discussion and beta testing coordination
We are transitioning away from mailing lists as the primary channel for core development announcements. We recognize that this represents a meaningful change for a portion of our long-term community, and we have made this decision thoughtfully.
🙏 A Final Word
The history that MAME exists to preserve is irreplaceable. The hardware it documents is dying. The window during which accurate emulation can still be validated against physical reference hardware is narrowing. These are the stakes that motivate every decision described in this announcement, and they are the reason we have chosen to act now rather than continue managing decline incrementally.
The first milestone release will be accompanied by detailed comparison data demonstrating cycle-accuracy parity across all affected subsystems. We invite scrutiny of that data. We are confident it will speak for itself.
Thank you, as always, for the trust you have placed in this project.
MAME Core Team
[Less]
|
|
Posted
2 months
ago
It’s the end of another month, which means it’s time for another
MAME release! As you’d expect, MAME 0.287 includes a wide-ranging array
of emulation improvements to a multitude of systems. Interesting
changes this month
... [More]
include better Namco System 23 graphics, improved
lighting for Sega Model 3, and software-controlled volume
control/panning for Philips CD-i (along with improved stability).
The GRiD Compass family has received a keyboard overhaul as well as
an initial DAC sound output implementation. The Apple II family now
handles tricky raster effects more realistically, as well as getting a
substantial software list update (metadata for the MECC collection is in
much better shape). And speaking of software lists, a couple of NES
prototypes have been added.
As always, you can read about everything that changed this month in
the whatsnew.txt
file. You can find the source code and 64-bit Windows binary
packages linked from our
download page.
Read the rest of this entry »
[Less]
|
|
Posted
4 months
ago
It’s time for MAME 0.286, bringing you more adventures in emulation.
This month, we’ve added support for SDL3, which will be used by default
when building on macOS (the default is still SDL2 on other UNIX-like
platforms). You
... [More]
can choose SDL2 or SDL3 by adding OSD=sdl or
OSD=sdl3 to your build options, respectively. There may be
some teething issues, so if you build against SDL3 and things break, let
us know.
In arcade emulation, we’ve added a rare early version of
Mario Bros. (which may have served as the basis for the Apple II port),
the original Tecmo release of Back Fire, and the elusive Monkichicchi no
Fuwafuwa Puzzle. Outside arcades, dozens of systems have seen updates
over the past few weeks, including the ZX Spectrum and its descendants,
the Apple II family and clones, the Epson QX-10, the Canon X-07, and the
Sharp MZ-80B. There are also some nice software list updates, including
the latest prototype cartridge dumps and plenty of homebrew
software.
If you want to read about everything that changed this month, check
out the whatsnew.txt
file. As always, the source code and 64-bit Windows binary packages
are available from our
download page.
Read the rest of this entry »
[Less]
|
|
Posted
4 months
ago
Are you ready for the first MAME release of 2026? MAME 0.285 is out
now! We’ve added support for an early, unreleased version of Atari’s
Relief Pitcher running on their System 1 platform. Moon Raker, a
Nichibutsu shooter from
... [More]
the late ’70s, has also been found and emulated.
Sega’s Waku Waku series has been further filled out with the addition of
Waku Waku Jumbo. And for something completely different, Apple’s first
computer built around the WIMP paradigm, the Lisa, is starting the year
in substantially better shape.
If you play arcade games that utilised lightguns, you’ll no doubt be
aware that pulling the trigger while aiming the gun away from the screen
was a common way to reload. You may also be aware that MAME had an
option to make this a bit easier if you’re using a lightgun to play.
That option has been removed, with a new plugin taking its place. The
great news is that the plugin works even if you aren’t using a
lightgun. That’s right, you can now assign a button to reload when
you’re playing Virtua Cop or Lethal Enforcers with a keyboard, mouse or
trackball. Check the plugin
documentation for more details.
The Hanimex Pencil II computer has had a bit of an overhaul, which
should make more software usable. A few more of the many BBC Micro
peripherals have been emulated. Other improvements this month include
better Apple IIgs periodic
interrupt emulation, another working Apple II clone from behind the Iron
Curtain, better representation of base Grid Compass hardware
configurations, and better default sound routing for people using Apple
notebook computers.
As always, you can read about everything that changed this month in
the whatsnew.txt
file, and the source code and 64-bit Windows binary packages are
linked from our
download page.
Read the rest of this entry »
[Less]
|
|
Posted
5 months
ago
MAME 0.284 is ready just in time for the end of the year! Two
interesting arcade prototypes have turned up this month. One is Saurian
Front, an early version of what became Strike Force, developed at
Williams before they
... [More]
acquired the Midway name. The other is a
completely unreleased Atari game called Jammin’ that runs on Donkey Kong
hardware. There are a few more Sega Model 2 fixes this month, helping
Virtua Cop 2 in particular.
The Brainchild PLS-1000, a hand-held educational device from the ’90s
that you may not even have heard of, is now emulated. You can now use
various replacement keyboards for early Apple II computers, some of
which had advanced features like macro recording. There were some big
software list updates this month for quite a few computers. The
floptool disk image utility included with MAME has improved usability.
You can even simulate receiving a Sega Channel broadcast on your
emulated Sega Genesis.
Of course, there’s far more in this release than we can talk about
here, and you can read all about it in the whatsnew.txt
file. The source code and 64-bit Windows binary packages are
linked from our
download page. All the best in the new year from MAMEdev!
Read the rest of this entry »
[Less]
|
|
Posted
7 months
ago
With the end of the year barely more than a month away, it’s time for
MAME 0.283! As you may be anticipating, there are even more
Sega Model 2 fixes this month. Trilinear luma filtering should be
working now, and some glitches
... [More]
in tilemap layers are fixed.
Microtexturing, used to good effect in The House of the Dead, is
emulated for the first time. Some of the tilemap layer fixes have
spilled across into Sega System 24 as well.
Several Ensoniq synthesisers have been promoted to working in this
release. The Sequential Circuits Six-Trak analog synthesiser has also
been promoted to working, with improvements there benefiting the related
Bally/Sente 6VB sound board. There’s been quite a bit of work on NEC
computers this month, and there are some new software lists for Sharp
home computers. MAME now emulates all supported (and some unsupported)
video modes on the IBM PCjr.
To find out about everything else that’s happened in MAME development
this month, you’ll have to read the whatsnew.txt
file. As always, you can get the source code and 64-bit Windows
binary packages from the
download page.
Read the rest of this entry »
[Less]
|
|
Posted
7 months
ago
Today, we have a very spooky surprise… Oh wait, no we don’t. But
what we do have is MAME 0.282! If you want to get into a
haunted mood, you might want to try playing Beast Busters: Second
Nightmare, because Hyper Neo Geo 64
... [More]
sound is way better than it
was a month ago. Just a friendly reminder, MAME still runs plenty of
other ghastly classics, like Laser Ghost, Splatter House, Monster Bash,
Haunted Castle and Ghouls’n Ghosts. And speaking of sound, XaviX sound
emulation has just had a major overhaul, so you might want to give some
e-kara cartridges another listen. Also, if you’re musically inclined,
remember to keep an eye on MAME’s synthesiser emulation, because it just
keeps getting better!
Sega Model 2 emulation is noticeably better again, with improved
graphics and a number of logic bugs fixed. Speaking of 3D graphics, the
severe graphical issues plaguing ARM users playing Namco System 22 games
have been corrected. Apple II users can enjoy more accurate emulation
for software that pokes dark corners of the hardware, including Zip Chip
accelerators, interrupts and model-specific functionality. There’s also
new D13 disk image write support for people using Apple DOS 3.1 and 3.2
disks. There’s been steady progress on emulating more features of the
graphics chip used by the Minitel 2 terminal.
That’s all we’re going to talk about here, but as always, there’s
lots more to enjoy, including better Namco System 23 performance, an
overhaul for Mega Drive cartridges, plenty of software list additions,
more features for the floppy disk image utilities and some additional
functionality exposed to Lua scripts. 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 »
[Less]
|