Changes

Jump to navigation Jump to search

MAME

5,449 bytes added, 12:47, 19 October 2020
section reorganization, copyedits
{{Infobox emulator
|title = Multiple Arcade Machine EmulatorMAME|logo = MAMELogo-mame.jpgpng|logowidth = 135254
|version = {{MAMEVer}}
|active = Yes
|target = Thousands of electronics
|developer = [https://github.com/mamedev/mame/graphs/contributors MAME Team]
|prog-lang = C++(C & Python for some drivers)
|website = [http://mamedev.org/ MAMEDev.org]
|source = [https://github.com/mamedev/mame GitHub]}}'''[[wikipedia:MAME|MAME]]''' (originally an acronym for '''<u>M</u>ultiple <u>A</u>rcade <u>M</u>achine <u>E</u>mulator''') is a multi-platform, open-source, [[Multi-system emulators|multi-system emulator]] written in C++. The philosophy behind the project is to recreate the workings of machines through emulation, and thus the ability to actually play the games is "a nice side effect". MAME is incredibly large, [[MAME compatibility list|supporting thousands of machines and ROM sets]], though what is supported is not what's playable; your mileage may vary. In the event you don't like MAME's own interface, there are [[Frontends#MAME|many alternative front-ends frontends]] available.
Much like the name says, MAME was supposed to be for arcade machines like Pac-Man back when it was released in 1997. A Over time, MAME has incorporated similar projects out of a necessity to keep development active and prevent duplication of work (as some arcade machines often shared hardware with consoles to ease development of games); the first project called to be merged was [[MESS]] was made to do essentially at the same thing end of May 2015 starting with version 0.162 and it functioned almost exactly like MAME but for home consoles and other esoteric devices that never got emulatedelsewhere. MAME also had a policy against emulating gambling machines, but it that decision has since been merged into reversed and the project that aimed to get them working, <abbr title="Arcade Gambling Extensions for MAME by the end of May 2015 in version 0.162">AGEMAME</abbr>, and now it supports ''a whole lot more'' than arcade machineshas also been merged.
==Downloads==
{| cellpadding="4"|-|align==Windows===center|{{Icon|Win-big}}*|[httphttps://www.mamedev.org/release.html php '''Official release''']*[http:<br/><small>Stable</www.emucr.comsmall>|-|colspan="3"|<hr/search/label/MAME>|-SVN SVN Builds]*|align=center|{{Icon|Lin|Mac|BSD}}|[httphttps://wwwwiki.t2emamedev.plorg/plindex.php/466/134/466/AutomatyczneSDL_Supported_Platforms SDL Supported Platforms]|-edycje?tsearch|align=mame,svn,notcenter|plus,not{{Icon|mameui,notWin-big}}|mewui T2E SVN BUILDS] ===macOS===*[http://sdlmameashura.lngnmameworld.netinfo/ Unofficial SDLMAME buildnightlybuilds/builds.html Nightly builds]<br><small>Compiled by Ashura-X</small>|}
==Overview==
MAME was first put out on February 5, 1997 by Nicola Salmoria as is the prime example of a Pac-Man emulator,<ref name="worldofstuart">jack of all trades; it can technically emulate consoles like the [[http://worldofstuart.excellentcontent.com/mameover.htm MAME OVERPlayStation emulators|PlayStation]] (0.99)</ref><ref name="History">{{cite weband [[Nintendo 64 emulators|url=https://www.youtube.com/watch?v=VgJF18Pm7MANintendo 64]], but for those consoles you're better off going with our [[Recommended Emulators|title=A Brief History of Emulation: recommended emulators]] as they may be more performant or more compatible than MAME|publisher=Youtube|accessdate=2018-09-14|date=2017-12-02}}</ref> but before he could do any more work on the project, he handed it over to Mirko Buffoni in April 1997 after requiring to do National Service in the Italian army.<ref name="worldofstuart"/> Since then, even as early as 2003, the emulator has become very extensive, with the majority of arcade system boards from the 1970's, 1980's and early 1990's supported. On February 2016 in version 0.171, a new GUI was integrated into MAME which allowed users to launch games in it without the need for a third-party GUI applicationown drivers.
However... don't expect support for more recent boards like Atomiswave; the The project and its team focuses on [[Emulation Accuracy|accuracy]] (preferably cycle-accuracy) and preservation, which often puts usability at a much lower priority for end users. The program is also '''very strict''' about what components of a ROM dump it needs to even function, and it may tell you if something is wrong with the files (i.e. a failed checksum); once developers know more about a system, they'll often have to dump more components like ROMs and BIOSes if necessary, and obtaining newer dumps from the boards isnso don't exactly the easiest thing in the world expect support for users who only have traditional desktops, and the same goes for anyone with the actual arcade more recent boardslike Atomiswave. Something as popular as Pac-Man will probably never need newer dumps beyond the current ones because it's been continually researchedFor some systems, and the dumps have been pretty widespread, but other machines you've probably only seen once at an arcade will probably need new dumps for a reason. Only ROM dumps with all the newest information will work in new versions of MAME. Even then, programmers developers may not have everything implemented. The native interface will tell you about the emulation status of the chosen romsetdriver, and whether the one you're using is even emulated at the current timewhat components are considered lacking.
Also see the incomplete We have an outdated compatibility list [[MAME compatibility list|here]] internally here. And You can see the latest in-progress upcoming version's changelog [http://mameinfo.mameworld.info/ changelog updatehere]. Other compatibility lists: * [http://unmamed.mameworld.info/ List of arcade games that DON'T work] Last updated February 2014. Don't expect the most recent games (like [[Sega NAOMI and variants|Sega Naomi]] ones) to run at full speed, MAME is very resource intensive.* [http://nonmame.retrogames.com/ NonMAME] ([http://web.archive.org/web/20150306213522/http://consume.retrogames.com/ 2015 Mirror]) This is a list of arcade systems that currently are not emulated by MAME or are emulated better by other emulators.
===ROM dumps===
MAME either has lots of standardization on how When developers know more about a system, they often have to organize the ROM dumps, or it has very little, dump more components like ROMs and sometimes the given information can be vague and confusingBIOSes if necessary. A single game may need lots of files for the dump It's highly recommended to even register, and separate folders for the BIOS files of consolesuse a ROM management tool such as RomCenter or ClrMamePro. For machines that use stuff like hard drives and optical disks to store its dataWithout these programs, MAME has a special format called Compressed Hunks of Data (CHD) which uses it'll take you a number of compression methods lot longer to reduce find the size of necessary files for a raw image filegame.
It Something as popular as Pac-Man will probably never need newer dumps beyond the current ones because it's been continually researched from the beginning, and the ROMs have been pretty widespread, but for very rare machines, MAME will see continuous changes in the files it needs as more information is highly recommended discovered about the system. You can expect these ROMs to use surface online in some form, but you may as well never get them directly from the developers themselves. MAME is '''very strict''' about what components of a ROM management tool such as RomCenter or ClrMameProdump it needs to even function, and it may tell you if something is wrong with the files (i.e. Without a failed checksum); only a ROMset with all the required files newest information will work in recent versions of MAME. For machines that use stuff like hard drives and optical disks to store its data, MAME has its own format called Compressed Hunks of Data (CHD) which uses a number of compression methods to reduce the size of a raw image file versions. This format also allows MAME to use 7-Zip archives for ROMsets in place of Zip files. ===Frontends===MAME used to be a command line application that was launched by a separately licensed frontend. However, with MAME relicensing as open source in 2016, the game simply will not developers have since incorporated MEWUI as its built-in interface. However, it still accepts command-line parameters, allowing most frontends to keep working. You can see a list of them '''[[Frontends#MAME|here]]'''. ===History===MAME was first released on February 5, 1997 by Nicola Salmoria as a Pac-Man emulator,<ref name="worldofstuart">[http://worldofstuart.excellentcontent.com/mameover.htm MAME OVER] (0.99)</ref><ref name="History">{{cite web|url=https://www.youtube.com/watch?v=VgJF18Pm7MA|title=A Brief History of Emulation: MAME|publisher=Youtube|accessdate=2018-09-14|date=2017-12-02}}</ref> but before he could do any more workon the project he handed it over to Mirko Buffoni in April 1997 after being required to do National Service in the Italian army.<ref name="worldofstuart"/> Since then, even as early as 2003, the emulator has become very extensive, with the majority of arcade system boards from the 1970's, 1980's and early 1990's supported. MAME originally used a custom BSD license that prohibited commercial use in a few ways. This was mainly used to deter arcade operators from monetizing an emulated version of a widely available commercial title like Pac-Man. However, the MAME team didn't have the funds to afford prosecutors, so this was never effectively enforced. Through an extensive relicensing process in 2016, the project completely changed to a combination of GPL/BSD where applicable. This allowed them to merge the codebase for the MEWUI frontend into the main application starting with version 0.171.
==How To==
|-
! Terminal
|Something like this should work in theoryThe following is a non-destructive one-liner to decompress and recompress your files from zip to 7z. '''It has not been testedPlease account for at least a 3:1 space requirement, and about 3 seconds time per file (give or take). Keep in mind, proceed with cautionif you have any other folders present in the working directory it'll snag those too during the second step.'''
7z e (romset)for y in *.zip ; do 7z x "${y%}" -o (romset)/ *; done && for i in */; do 7z a (romset)"${i%/}".7z (romset)"./${i%}*"; done
Just After it's done, be sure to check and make sure that you've installed 7-the 7z and zip and it registers to the environment path, that youfiles're in contents match before deleting both the folder, zips and that you substitute (romset) for the name of the romset in the commandtheir extracted folders.
|}
==List of Arcade systems emulatedForks=====MAMEUI64===* [http://unmamedMAMEUI64 is the current name of MAME32, the original MAME GUI for Windows.mameworldAs it traces its lineage to MAME32 0.info/ List 27 from 1997, it has additional bugs compared to mainline MAME, lacks several features of arcade games that DON'T work] Last updated February 2014modern MAME or makes it difficult to use them via GUI, and does not scale properly to high resolutions. Don't expect The MAME developers do not recommend using any derivative of MAME32 for these reasons, instead suggesting mainline MAME with an external frontend if the most recent games (like internal MEWUI is not sufficient. ===[[Sega NAOMI and variants|Sega NaomiGroovyMAME]] ones===GroovyMAME (or GroovyUME) is a fork of MAME/UME made primarily to run at full speed, MAME is very resource intensivesupport arcade CRT monitors for AMD cards. It also includes input lag reductions that can be taken advantage of on CRTs or LCDs.* [http://nonmameforum.retrogamesarcadecontrols.com/ NonMAME] ([http://webindex.archive.orgphp/web/20150306213522/http://consumetopic,128879.retrogames.com/ 2015 Mirror]) This is a list of arcade systems that currently are not emulated by MAME or are emulated better by other emulators0.html?PHPSESSID=domm2c4q77esu0j9uohc5vrqn5
==Frontends=PinMAME===PinMAME is a fork of MAME32 0.76 that exclusively runs ROMs for pinball machines. It can be used to launch these ROMs standalone, like with MAME . However, unlike MAME, it also has many third-party front ends. Please help expand this sectiona COM module called VPinMAME that can be used with the pinball simulator Visual Pinball, or to drive real hardware.
===ARCADE===
[http://arcade.mameworld.info/ ARCADE]ARCADE is a maintenance-only continuation of the MAMEUIFX project, which was in turn forked from MAMEUI/MAME32. MAMEUIFX included unique drivers and games compared to mainline MAME, but these are now integrated into [[HBMAME]] instead.
Arcade games only
*NO computers, consoles, terminals, appliances, etc
*NO games that display a black screen (skeleton drivers etc)
 
===M+GUI===
[http://www.emucr.com/search/label/MAMEPGUI?&max-results=12 M+ GUI]
 
No longer maintained.
 
===MAME32 (now MAMEUI)===
[http://www.mameui.info/ MAMEUI]
 
[http://www.progettosnaps.net/mameui_en.html all versions]
 
UNOFFICIAL BUILDS
[http://www.t2e.pl/pl/466/134/466/Automatyczne-edycje?tsearch=mameui,not|plus,not|mewui,not|mameuifx MAMEUI x86/x64 unofficial builds]
 
===Emu Loader===
[http://emuloader.mameworld.info/ Emu Loader]
 
===MEWUI===
[http://sourceforge.net/projects/mewui/ MEWUI]
 
0.171 MEWUI merges with MAME replacing default MAME UI for most platforms.
 
MEWUI is an extension of the internal interface of the MAME / MESS with additional features.
====Features====
*Display full list of games
*Display snapshot, cabinets, etc... in game selection menu
*Display history, mameinfo in in-game menu
*Options to filter the list of games
 
===Attract-Mode===
[http://attractmode.org/ Attract-Mode]
 
===QMC2===
[http://qmc2.batcom-it.net QMC2 – M.A.M.E./M.E.S.S./U.M.E. Catalog / Launcher II]
 
QMC2 is a multi-platform MAME/MESS/UME frontend.
 
===gnome-arcade===
 
A minimal MAME frontend using GTK+ 3 : [https://github.com/strippato/gnome-arcade GitHub].
 
On some Linux distros, you have '''gnome-video-arcade''' package: Simple MAME frontend. Available on Ubuntu 16.04+ on official repo.
 
==Versions==
===GroovyMAME===
{{Main|GroovyMAME}}
Also known as '''GroovyUME'''. It's a fork of MAME/UME made to support arcade CRT monitors for AMD cards.
 
http://forum.arcadecontrols.com/index.php/topic,128879.0.html?PHPSESSID=domm2c4q77esu0j9uohc5vrqn5
==Netplay==
==References==
<references/>
 
==External Links==
* [https://wiki.mamedev.org/index.php/Developer_WIPs Developer WIPs] (Official MAMEDEV.org page showcasing lists pointing to profiles and links of many MAME developers)
* [https://mamedev.emulab.it/haze/ Developer coverage] from [https://wiki.mamedev.org/index.php/David_Haywood David 'Haze' Haywood]. (A media-heavy blog with few articles per month on average. Goes more in-depth than MAME's changelogs and can be fun to read. Also see his [https://www.youtube.com/user/ShootBoomBoom YouTube channel] & [https://twitter.com/MameHaze Twitter feed]. Former project coordinator, 2003-2005.)
* [https://mamedev.emulab.it/kale/ Developer coverage] from [https://wiki.mamedev.org/index.php/Angelo_Salese Angelo 'Kale' Salese]. (Former project coordinator, 2011-2012. He mainly developed the ST-V arcade core. Also see his more regularly updated [https://www.youtube.com/user/LordKale4 YouTube channel].)
* [http://www.bryanmcphail.com/wp/?cat=25 Dev coverage] from Bryan 'Mish' McPhail
* [https://redump.net/ Dev coverage] from [http://mess.redump.net/people/duke Dirk 'Duke' Best]
* [https://mamedev.emulab.it/etabeta/ Dev coverage] from Fabio 'etabeta' Priuli
* [http://avoidspikes.blogspot.com/ Dev coverage] from Frank 'Knarfian' Palazzolo
* [http://members.iinet.net.au/~lantra9jp1_nbn/gurudumps/ Dev coverage] from Guru (Mainly repairs/decaps arcade boards and provides dumps of them for MAME. [http://members.iinet.net.au/~lantra9jp1_nbn/gurudumps/decap/index.html Decapping status page], [http://members.iinet.net.au/~lantra9jp1_nbn/gurudumps/DumpingProject/wantedlist/wanted.html Wanted dumps list].)
* [http://www.lucaelia.com/mame.php Dev coverage] from Luca Elia
* [http://rbelmont.mameworld.info/ Dev coverage] from R. 'Arbee' Belmont (Worked often on Apple ][, /// and early Mac's emulation)
* [http://robbie.mameworld.info/ Dev coverage] from Roberto 'Robbie' Fresco (He usually reverse-engineers boards of old gambling games (casino/cards and pokies-style) and some arcade games, especially in foreign languages. He often works with other programmers like Grull Osgo, and occasionally with Andreas Naive, ElSemi, Tomasz Slanina, etc.)
* [https://mamedev.emulab.it/robiza/ Dev coverage] from Roberto 'Robiza' Zandonà (Italian blog)
* [http://slanina.pl/mame.html Dev coverage] from Tomasz 'Dox' Slanina
* [http://rants.vastheman.com/category/technology/mame/ Dev coverage] from Vas 'cuavas' Crabb (Few posts)
* [https://www.youtube.com/user/LambShanks YouTube channel] from [https://wiki.mamedev.org/index.php/Phil_B%27s_To-Do_List Philip Bennett] (His [http://philwip.mameworld.info/ website] is not updated anymore, but his [https://twitter.com/PhilBennett3D Twitter feed] is active. He tends to research early 3D arcade systems from the mid-1980's to 1990's, and uploads some dumps of machines and clones to MAME.)
* [https://m.youtube.com/channel/UCVnS-HQL-pzFku5ZVCGnvBA/videos YouTube channel] from [https://wiki.mamedev.org/index.php/MooglyGuy%27s_To-Do_List Ryan 'TheMogMiner' Holtz], [https://minecraft.gamepedia.com/Ryan_Holtz former Minecraft developer] (Note: His Twitter feed has lots of fillers unrelated to his MAME work)
* [https://www.youtube.com/Sterophonick YouTube channel] from [https://sterophonick.github.io/sites Sterophonick] (Began working on 2018 Gigatron TTL Microcomputer for MAME on [https://twitter.com/sterophonick/status/1290524729825062913 Aug 4, 2020].)
* [https://twitter.com/aaronsgiles Twitter feed] from [https://aarongiles.com/ Aaron Giles] (His older [https://aarongiles.com/old/ Aaron's Almanac] website for MAME work was last updated in 2012. However, he "came back from the dead" to work on MAME again on [https://twitter.com/aaronsgiles/status/1286054480056786944 July 23, 2020]! Former project lead, 2005-2011. Wrote drivers for 11 CPUs, 7 sound chips, and 100+ arcade games.)
* [https://twitter.com/algestam Twitter feed] from Henrik 'algestam' Algestam (He is well noted for dumping and emulating those Nintendo [[Game & Watch]] LCD handheld titles to MAME)
[[Category:Arcade emulators]]
927
edits

Navigation menu