Changes

Jump to navigation Jump to search

MAME

11,656 bytes added, 21:38, 14 May 2019
External Links: Added 1 more new Dev blog. Mistaken mixup of another dev.
{{Infoboxemulator|title = Multiple Arcade Machine Emulator|image logo = MAME.jpg|first logowidth = 135|version = {{MAMEVer}}|second active = Yes|third platform = Multi-platform|fourth target = Nicola Salmoria, Thousands of electronics|developer = [https://github.com/mamedev/mame/graphs/contributors MAME Team]|fifth prog-lang = C++ (C & Python for some drivers)|website = [http://mamedev.org/ MAMEDev.org]|sixth source = [https://github.com/mamedev/mame GitHub]}}'''[[wikipedia:MAME|MAME]]''' (an acronym of for '''Multiple Arcade Machine Emulator<u>M</u>ultiple <u>A</u>rcade <u>M</u>achine <u>E</u>mulator''') is an a multi-platform, open-source, [[Multi-system emulators|multi-system emulator for arcade game systems]] written in C++. The aim of MAME philosophy behind the project is to be a reference to recreate the inner workings of the emulated arcade machines; through emulation, and thus the ability to actually play the games is considered "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 many alternative front-ends available.
The emulator supports over seven thousand unique games Much like the name says, MAME was supposed to be for arcade machines like Pac-Man back when it was released in 1997. A similar project called [[MESS]] was made to do essentially the same thing for home consoles and ten thousand actual ROM image setsother esoteric devices that never got emulated, though not all but it has since been merged into MAME by the end of the supported games are playableMay 2015 in version 0. There are many MAME front-ends available162, and now it supports ''a whole lot more'' than arcade machines.
==Downloads=====Windows===* [http://www.mamedev.org/release.html '''Official release''']* [MESShttp://ashura.mameworld.info/nightlybuilds/builds.html Nightly builds](compiled by Ashura-X)* [http://www.emucr.com/search/label/MAME-SVN Nightly builds] (up to November 27, 2015)* [http://www.t2e.pl/pl/466/134/466/Automatyczne-edycje?tsearch=mame,svn,not|plus,not|mameui,not|mewui T2E builds] (Polish, up to March 2015) ===macOS===* [http://sdlmame.lngn.net/ SDLMAME port] (64-bit, provided by lngn.net)* [http://ashura.mameworld.info/nightlybuilds/sdl_builds.html Nightly builds] (compiled by Ashura-X) ==Overview==MAME was first put out on February 5, 1997 by Nicola Salmoria as a now defunct separate 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 work on the project , he handed it over to Mirko Buffoni in April 1997 after requiring to create 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 application. However... don't expect support for more recent boards like Atomiswave; the project and its team focuses on [[multiEmulation 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 emulator, they'll often have to dump more components like ROMs and BIOSes if necessary, and obtaining newer dumps from the boards isn't exactly the easiest thing in the world for users who only have traditional desktops, and the same goes for anyone with the actual arcade boards. Something as popular as Pac-Man will probably never need newer dumps beyond the current ones because it's been continually researched, 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 may not have everything implemented. The native interface will tell you about the emulation status of the chosen romset, and whether the one you're using is even emulated at the current time. Also see the incomplete [[MAME compatibility list]]internally here. And the latest in-progress [http://mameinfo.mameworld.info/ changelog update] . ===ROM dumps===MAME either has lots of standardization on how to organize the ROM dumps, or it has very little, and sometimes the given information can be vague and confusing. A single game may need lots of files for the dump to even register, and separate folders for the BIOS files of consoles . For machines that use stuff like hard drives and optical disks to store its data, MAME has since been merged a special format called Compressed Hunks of Data (CHD) which uses a number of compression methods to reduce the size of a raw image file. It is highly recommended to use a ROM management tool such as RomCenter or ClrMamePro. Without all the required files and file versions, the game simply will not work. ==How To=====Convert Bin/Cue files to CHD===Many emulators other than MAME are beginning to support Compressed Hunks of Data, mainly because compared to the alternatives, it offers compression (or ''better'' compression) on all fronts. [[Libretro]] is making an initiative to support them thanks to a successful bounties initiative, and in many cores such as their [[Mednafen|Beetle]] fork, they've begun rolling it out for certain platforms like Saturn and PlayStation so people can test it. If you're interested in trying it out for yourself, this guide will show you how to convert to the format using MAME's command-line tool called <code>chdman</code>. We'll warn you now that you will need to know how to use either a Unix shell or the command prompt in order to use it. The developers of MAME seemingly don't have plans to give <code>chdman</code> an interface so if the thought of going back to the DOS days scares you too much, you may have to wait. {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"|+How To <small>(Terminal)</small>||-|:''Note: Unless explicitly stated, don't type the commands word for word because you'll need to replace some values with your own.'':''Also: Make sure the cue sheet points to the relative location of the binary and that it works.'' On Windows, download MAME from the official website (linked above). The Linux guides on emugen will usually provide these locations. <!-- todo: macOS instructions --> On Windows, there should be an executable in the main directory called <code>chdman</code>. If you don't intend to keep MAME on your drive, you should type out the full path of the folder. If you intend to keep MAME, [https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/ add its directory to your path]. Because Linux packages insert shortcuts into folders assigned to the environment path, we can call it from any folder. Open up the terminal and navigate to the folder containing the BIN/CUE files.  $ cd "''path/to/folder''" <code>chdman</code> has a command called <code>createcd</code> that we'll use to create a CD-type CHD.<ref>http://manpages.ubuntu.com/manpages/trusty/man1/chdman.1.html, see createcd.</ref> Note that in the example below, "test (!)" is a placeholder and should be renamed to the name of the file.  >''C:\path\to\''chdman createcd -o "test (!).chd" -i "test (!).cue" $ chdman createcd -o "test (!).chd" -i "test (!).cue" <code>chdman</code> will now compress the cue file, and it should complete with just one CHD for you to use, either in MAME or an emulator that supports it.|} ===Recompressing ZIPs to 7-Zip===:''Note: If you're confident, you can delete files immediately instead of sending them to the recycle bin or trash bin using the keyboard shortcut <code>Shift</code> + <code>Delete</code>. Always back up the files if you're worried you might do it wrong.'' MAME keeps a database of romsets including what each file should be named. If the ROM dump is obtained through a ZIP file, you can uncompress the files inside and transfer them to a 7-Zip file for better compression. The 7-Zip archive HAS to have the exact same name (not the same file extension obviously). In case you're wondering why 7-Zip is supported in MAMEand not RAR, it's because the LZMA development kit that's developed alongside 7-Zip is in the public domain, and the MAME team uses it for CHDs along with FLAC for audio and data compression; RAR is a proprietary format that can only be decompressed by 7-Zip, not compressed to, as per an agreement with both development teams{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"|+How To| colspan=2 ||-! Graphical|Take the zip file:
[[MAME compatibility list]] roms/ (romset).zip/ (game).(rom) (lle1).(rom) (lle2).(rom)
==Downloads==And uncompress it to a folder of the same name.*[http: roms/ (romset).zip/www (game).(rom) (lle1).mamedev(rom) (lle2).org(rom) (romset)/release (game).(rom) (lle1).html MAME](rom)*[http://www (lle2).emucr(rom) At this point, you can safely delete the zip file.com/search/label/MAME-SVN SVN Builds]*[http://wwwGo into the folder, select all the files, and add them to a .t2e7z archive using 7-Zip.pl/pl/466/134/466/AutomatyczneAssuming you've installed 7-edycje?tsearch=mameZip with the default settings on Windows,svnthe option to do this should come up when you right-click the files. The name of the archive must be the romset's name. The config screen may show an option to "delete files after compression". You can safely select this and,not|plusassume you do,not|mameui,not|mewui T2E SVN BUILDS]the archive will now appear in the folder (unless you've specified a different location):  roms/ (romset)/ (romset).7z
==History==Take the 7-Zip archive, move it into the roms folder, and you can safely delete the romset's folder. It should look like this.
Nicola Salmoria started MAME in 1997 as a Pac-Man emulator.<ref name="worldofstuart">http://worldofstuart.excellentcontent.com/mameover.htm< roms/ref> Salmoria handed the project over to Mirko Buffoni in April 1997 because he had to do his National Service in the Italian army (romset).<ref name="worldofstuart"/>7z
==Overview==MAME is very extensive, with the majority of arcade system boards from the 1970's, 1980's Rinse and early 1990's supported. Do not expect support repeat for more recent boards, such as atomiswaveany other romsets you want to do. MAME focuses on [[accuracy]] and archiving arcade games, which means should be able to read it does not always focus on usability for the end user. Only the most up to date romdumps will |-! Terminal|Something like this should work in the latest MAMEtheory. '''It has not been tested, proceed with caution.'''
==ROM dumps==Due to the design of MAME, it is often confusing how ROMs work under it and what's needed 7z e (romset). A single game may require numerous files inside its zip, samples for missing sounds, CHD -o (Compressed Hunks of Dataromset), and BIOS. To help manage all these files, it is highly recommended to use / && 7z a ROM management tool such as RomCenter or clrmamepro. Without all the required files and file versions, the game simply will not work(romset).7z (romset)/*
When handling MAME files, do not rename Just make sure that you've installed 7-zip and it registers to the game files or unzip them. MAME requires each file to be named according to its databaseenvironment path, or else it wonthat you't know where to look. CHD files need to be re in your rom the folder in its own directory with , and that you substitute (romset) for the same name of the CHD such as C:/MAME/Roms/gamename/gamename.chdromset in the command.|}
==List of Arcade systems emulated==
* [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 fullspeedfull 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.
==Frontends==
MAME uses has many third-party front ends. Please help expand this section. ===ARCADE===[http://arcade.mameworld.info/ ARCADE]ARCADE is a continuation of the MAMEUIFX project. Arcade games only*NO mechanical games (pinball, crane games, etc)*NO poker, fruit, slot or gambling games*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. ===MAME UI 32MAME32 (now MAMEUI)===[http://www.progettosnapsmameui.netinfo/mameui_en.html MAMEUI32MAMEUI]
===MAME UI===[http://www.mameuiprogettosnaps.infonet/ MAME UImameui_en.html all versions]No longer maintained.
UNOFFICAL UNOFFICIAL BUILDS[http://www.t2e.pl/pl/466/134/466/Automatyczne-edycje?tsearch=mameui,not|plus,not|mewui,not|mameuifx MAMEUI x86/x64 unoffical 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.
*Display full list of games
*Display snapshot, cabinets, etc... in game selection menu
*Display history, mameinfo in ingame in-game menu
*Options to filter the list of games
[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 monitorsfor AMD cards.
http://forum.arcadecontrols.com/index.php/topic,128879.0.html?PHPSESSID=domm2c4q77esu0j9uohc5vrqn5
===Downloads===
*[http://www.kaillera.com/files/mameppk_bin_gcc-0.119-20070914.zip MAME32 Plus Plus]
*[http://www.mediafirekaillera.com/?3bf1c4ds5rl3yfc/ download.php Kaillera]
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
! colspan=2 width="250"|Review
==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]. 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. 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 'MooglyGuy' Holtz], [https://minecraft.gamepedia.com/Ryan_Holtz former Minecraft developer] (Note: His Twitter feed has lots of fillers unrelated to his MAME work)
[[Category:Arcade emulators]]
[[Category:Multi-emulators]]
[[Category:Windows emulation software]]
[[Category:Linux emulation software]]
[[Category:OS X emulation software]][[Category:Windows macOS emulation software]]
[[Category:Emulators]]
[[Category:Netplay]]
1,359
edits

Navigation menu