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