Welcome to the MAMEDev Wiki

This is the home page of the MAME developer wiki. It is intended to be a source of information about the MAME project and about arcade games in general. Currently, the wiki is broken into several major sections:

  • Non-Working Drivers. This section has been set up to provide some gory details about why so many of the games in MAME don't actually work. If you're curious what is preventing emulation of your favorite game, have a look to see what the latest status is.
  • How MAME Works. This section consists of a series of article on the internal operations of the MAME source code. Some of this information may be a little out-of-date, but apart from reading and understanding the source code, it is the best source of information on MAME internals available at the moment.
  • Developer WIPs. Here you will find links to various developers' WIP (work in progress) pages. In addition, several developers have set up to-do lists here, which can give an indication of what is one their minds or in their plans.
  • Frequently Asked Questions. The existing MAME FAQ is seriously out of date in many respects. These pages are an attempt to freshen up the content and make it easier to manage by a larger group of people.
  • Previous MAME Versions. This is an interesting historical section that takes the whatsnew.txt files from previous MAME releases and creates new wiki-fied and hyperlinked versions of them for easier browsing and identification of contributors.
  • MAME Milestones. In an effort to at least touch on some of the highlights and project milestones that generally aren't directly reflected in the whatsnew, this page lists some important project-level changes and significant new achievements that have impacted the project.
  • How Arcade Games Work. This section will eventually talk about some of the more interesting details of how arcade games work. You learn a lot from working on an emulation project!
  • Let's Emulate Space Invaders! This section will eventually provide a step-by-step guide to emulating a simple 8080A-based arcade game in the MAME framework, circa the late 0.13x dev cycle, from CPU core to driver.
  • How to Correctly Document a PCB. This section is a work-in-progress guide to properly documenting arcade PCBs with the intention of creating notes that can be inserted into MAME's sourcecode and used by MAME developers.

For obvious reasons, the editing controls on this wiki are locked down to trusted members of the development team and select others who have requested access. If you feel that you have something to offer here, or would like to contribute, please use the MAMEDev Contacts Page to send an email to the team expressing your interest and what you wish to contribute.