Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
MAME
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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.
Anti-spam check. Do
not
fill this in!
== Philosophy, accuracy and quality == 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 easier to run 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<ref>{{cite web|last=Giles|first=Aaron|url=https://www.youtube.com/watch?v=Ek2ZGYv__IA| archive-url=https://ghostarchive.org/varchive/youtube/20211211/Ek2ZGYv__IA| archive-date=2021-12-11 | url-status=live|title=Aaron Giles at California Extreme 2008 β Part 2|work=YouTube|date=2009-07-17|access-date=2012-12-20}}{{cbignore}}</ref>}} 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.<ref>{{cite web|last=Salmoria|first=Nicola|url=http://mamelife.blogspot.com/2006_08_01_archive.html |title=Nicola's MAME Ramblings|access-date=2013-07-03}}</ref> 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. Portability and generality are also important to MAME. Combined with the uncompromising stance on accuracy, this often results in high system requirements. Although a 2 GHz processor is enough to run almost all 2D games, more recent systems and particularly systems with 3D graphics can be unplayably slow, even on the fastest computers. MAME does not currently take advantage of hardware acceleration to speed up the rendering of 3D graphics, in part because of the lack of a stable cross-platform 3D API,{{Citation needed|reason=This claim needs a reliable source; OpenGL is a stable cross-platform 3D API since 1997|date=August 2012}} and in part because software rendering can, in theory, be an exact reproduction of the various custom 3D rendering approaches that were used in the arcade games.
Summary:
Please note that all contributions to Niidae 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
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
MAME
(section)
Add topic