MAME (formerly an acronym of Multiple Arcade Machine Emulator) is a free and open-source emulator designed to recreate the hardware of arcade games, video game consoles, old computers and other systems in software on modern personal computers and other platforms.
[6] In April 1997, Salmoria stepped down for his national service commitments, handing stewardship of the project to fellow Italian Mirko Buffoni for half a year.
[10] MAME has also been ported to other computers, game consoles, mobile phones and PDAs and, at one point, even to digital cameras.
Windows executables in both 32-bit and 64-bit fashion are released on the development team's official website, along with the complete source code.
[14] MAME's source code is developed on a public GitHub repository,[15] allowing those with the required expertise and tools to build the most up-to-date version and contribute enhancements as pull requests.
Historical version numbers 0.32, and 0.38 through 0.52 inclusively, do not exist; the former was skipped due to similar naming of the GUI-equipped MAME32 variant (which itself has since been renamed MAMEUI due to the move to 64-bit builds), while the latter numbers were skipped due to the numerous releases in the 0.37 beta cycle (these version numbers have since been marked next to their equivalent 0.37 beta releases on the official MAMEdev website).
Support for both raster and vector displays, multiple CPUs, and sound chips were added in the project's first six months.
A flexible timer system to coordinate synchronization between multiple emulated CPU cores was implemented, and ROM images started to be loaded according to their CRC32 hash in the ZIP files they were stored in.
[citation needed] MAME's popularity has gone mainstream, with enthusiasts building their own arcade game cabinets to replay old games and even some companies producing illegal MAME derivatives to be installed in arcades.
[17][18] Cabinets inspired by classic games can also be purchased and assembled (with MAME optionally preinstalled).
[26] MAME complied with the request a day later, making both unplayable on the emulator outside of command line, as of version 0.240.
MAME supports arbitrary screen resolutions, refresh rates and display configurations.
The original program code, graphics and sound data need to be present so that the system can be emulated.
MAME ROMs come in three forms, split, non-merged, and merged:[28] Hard disks, compact discs and laserdiscs are stored in a MAME-specific format called CHD (Compressed Hunks of Data).
[29] Some machines use analog hardware, such as laserdiscs, to store and play back audio/video data such as soundtracks and cinematics.
MAME additionally supports artwork files in PNG format for bezel and overlay graphics.
The best proof that your documentation is right is "does this code work".MAME emulates well over a thousand different arcade system boards, a majority of which are completely undocumented and custom designed to run either a single game or a very small number of them.
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.
However, some countries (including the US)[33] allow the owner of a board to transfer data contained in its ROM chips to a personal computer or other device they own.
At one point, various Capcom games were sold with the HotRod arcade joystick manufactured by Hanaho, but this arrangement was discontinued as well.
[34] The Spanish arcade game developer Gaelco has also released World Rally for non-commercial use on their website.
[35] The MAME community has distanced itself from other groups redistributing ROMs via the Internet or physical media, claiming they are blatantly infringing copyright and harm the project by potentially bringing it into disrepute.
[39] Due to this clause, the license is incompatible with the OSI's Open Source Definition and the FSF's Free Software Definition, and as such is not considered an open source, or free software license, respectively.
The non-commercial clause was designed to prevent arcade operators from installing MAME cabinets and profiting from the works of the original manufacturers of the games.