Editing MAME

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 70: Line 70:
 
== Philosophy and accuracy ==
 
== Philosophy and accuracy ==
 
The stated aim of the project is to document hardware, and so MAME takes a somewhat purist view of emulation, prohibiting programming [[hack (technology slang)|hacks]] that might make a game run improperly or run faster at the expense of emulation accuracy. Components such as CPUs are emulated at a low level (meaning individual instructions are emulated) whenever possible, and [[high-level emulation]] (HLE) is only used when a chip is completely undocumented and cannot be reverse-engineered in detail. Signal level emulation is used to emulate audio circuitry that consists of analog components.
 
The stated aim of the project is to document hardware, and so MAME takes a somewhat purist view of emulation, prohibiting programming [[hack (technology slang)|hacks]] that might make a game run improperly or run faster at the expense of emulation accuracy. Components such as CPUs are emulated at a low level (meaning individual instructions are emulated) whenever possible, and [[high-level emulation]] (HLE) is only used when a chip is completely undocumented and cannot be reverse-engineered in detail. Signal level emulation is used to emulate audio circuitry that consists of analog components.
 +
 +
{{Quotation|We want to document the hardware. Now a lot of people will say; "Where's your document? You just write a bunch of source code." And yes, that's true. One thing I've learned is that keeping documentation synced with source code is nearly impossible. The best proof that your documentation is right is "does this code work".|Aaron Giles|California Extreme 2008}}
  
 
MAME emulates well over a thousand different [[arcade system board]]s, a majority of which are completely undocumented and custom designed to run either a single game or a very small number of them. The approach MAME takes with regards to accuracy is an incremental one; systems are emulated as accurately as they reasonably can be. Bootleg copies of games are often the first to be emulated, with proper (and copy protected) versions emulated later. Besides encryption, arcade games were usually protected with custom [[microcontroller unit]]s (MCUs) that implemented a part of the game logic or some other important functions. Emulation of these chips is preferred even when they have little or no immediately visible effect on the game itself. For example, the monster behavior in [[Bubble Bobble]] was not perfected until the code and data contained with the custom MCU was dumped through the [[decapping]] of the chip. This results in the ROM set requirements changing as the games are emulated to a more and more accurate degree, causing older versions of the ROM set becoming unusable in newer versions of MAME.
 
MAME emulates well over a thousand different [[arcade system board]]s, a majority of which are completely undocumented and custom designed to run either a single game or a very small number of them. The approach MAME takes with regards to accuracy is an incremental one; systems are emulated as accurately as they reasonably can be. Bootleg copies of games are often the first to be emulated, with proper (and copy protected) versions emulated later. Besides encryption, arcade games were usually protected with custom [[microcontroller unit]]s (MCUs) that implemented a part of the game logic or some other important functions. Emulation of these chips is preferred even when they have little or no immediately visible effect on the game itself. For example, the monster behavior in [[Bubble Bobble]] was not perfected until the code and data contained with the custom MCU was dumped through the [[decapping]] of the chip. This results in the ROM set requirements changing as the games are emulated to a more and more accurate degree, causing older versions of the ROM set becoming unusable in newer versions of MAME.

Please note that all contributions to Mod My Classic Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Mod My Classic Wiki:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)