Editing MAME
Jump to navigation
Jump to 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 1: | Line 1: | ||
− | {{Infobox | + | {{Infobox |
− | + | |image = MAME.jpg | |
− | + | |first = {{MAMEVer}} | |
− | | | + | |second = Yes |
− | + | |third = Multi-platform | |
− | | | + | |fourth = Nicola Salmoria, MAME Team |
− | | | + | |fifth = [http://mamedev.org/ MAMEDev.org] |
− | |platform | + | |sixth = [https://github.com/mamedev/mame GitHub]}} |
− | + | '''MAME''' ('''<u>M</u>ultiple <u>A</u>rcade <u>M</u>achine <u>E</u>mulator''') is a cross platform [[Multi-System Emulators|multi-system emulator]]. 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 many alternative front-ends 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 similar project called [[MESS]] was made to do essentially the same thing for home consoles and other esoteric devices that never got emulated, but it has since been merged into MAME, and now it supports ''a whole lot more'' than arcade machines. | |
− | |||
− | Much like the name says, MAME was supposed to be for arcade machines like Pac-Man back when it was released in 1997. | ||
==Downloads== | ==Downloads== | ||
− | + | *[http://www.mamedev.org/release.html MAME] | |
− | + | *[http://www.emucr.com/search/label/MAME-SVN SVN Builds] | |
− | + | *[http://www.t2e.pl/pl/466/134/466/Automatyczne-edycje?tsearch=mame,svn,not|plus,not|mameui,not|mewui T2E SVN BUILDS] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
==Overview== | ==Overview== | ||
− | MAME | + | MAME was first put out in 1997 by Nicola Salmoria as a Pac-Man emulator,<ref name="worldofstuart">http://worldofstuart.excellentcontent.com/mameover.htm</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. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | However... don't expect support for more recent boards like atomiswave; 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 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 romdumps 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | The | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===ROM dumps=== | ===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 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== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==How | ||
===Convert Bin/Cue files to CHD=== | ===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 | + | 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 | + | If you're interested in trying this out too, a guide has been provided on how to convert to the format using MAME's very own tool called <code>chdman</code>. A small warning though; it requires just a small bit of knowledge on how to use the terminal; the developers of MAME seemingly don't have plans to give <code>chdman</code> an interface so if it scares you too much, you may have to wait. <!-- Maybe we can work around this with a batch/shell script that people can use? --> |
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" | {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" | ||
− | |+How | + | |+How To <small>(Terminal)</small> |
| | | | ||
|- | |- | ||
| | | | ||
− | :''Note: | + | :''Note: All the commands here work on Windows except <code>man</code>, because Windows doesn't have a system for manuals.'' |
− | |||
− | + | Install the latest version of MAME. There should be an executable in the main directory called <code>chdman</code>. We're going to run it. Open up the terminal and navigate to the folder containing the BIN/CUE files. | |
− | + | $ cd (location of folder) | |
− | + | This is optional, but pulling up the manual will give us this information: | |
− | $ | + | $ man chdman |
+ | (...) | ||
+ | createcd -o filename (...) | ||
+ | Create a new compressed CD image from a raw file. | ||
− | + | Using this, we can type this command in and substitute the placeholder with the name of your ROM. | |
− | + | $ chdman createcd <abbr title="Notice how we're placing the output file before the input file.">-o</abbr> "test (!).chd" "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. | <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. | ||
Line 183: | Line 60: | ||
:''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.'' | :''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 | + | MAME keeps a database of romsets including what each file should be named. If the romdump 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 MAME and 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. | In case you're wondering why 7-Zip is supported in MAME and 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%;" | {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" | ||
− | |+How | + | |+How To |
| colspan=2 | | | colspan=2 | | ||
|- | |- | ||
Line 214: | Line 91: | ||
At this point, you can safely delete the zip file. | At this point, you can safely delete the zip file. | ||
− | Go into the folder, select all the files, and add them to a .7z archive using 7-Zip. Assuming you've installed 7-Zip with the default settings on Windows, the 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, | + | Go into the folder, select all the files, and add them to a .7z archive using 7-Zip. Assuming you've installed 7-Zip with the default settings on Windows, the 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, assuming you do, the archive will now appear in the folder (unless you've specified a different location): |
roms/ | roms/ | ||
Line 228: | Line 105: | ||
|- | |- | ||
! Terminal | ! Terminal | ||
− | | | + | |Something like this should work in theory. '''It has not been tested, so proceed with caution.''' |
− | + | 7z e (romset).zip -o (romset)/ && 7z a (romset).7z (romset)/* | |
− | + | Just make sure that you've installed 7-zip and it registers to the environment path, that you're in the folder, and that you substitute (romset) for the name of the romset 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 most recent games (like Naomi ones) to run at fullspeed, 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 many front ends. Please expand this section. | ||
+ | |||
+ | ===M+GUI=== | ||
+ | [http://www.emucr.com/search/label/MAMEPGUI?&max-results=12 M+ GUI] | ||
+ | |||
+ | ===MAME UI 32=== | ||
+ | [http://www.progettosnaps.net/mameui_en.html MAMEUI32] | ||
+ | |||
+ | ===MAME UI=== | ||
+ | [http://www.mameui.info/ MAME UI] | ||
+ | No longer maintained. | ||
+ | |||
+ | UNOFFICAL BUILDS | ||
+ | [http://www.t2e.pl/pl/466/134/466/Automatyczne-edycje?tsearch=mameui,not|plus,not|mewui,not|mameuifx MAMEUI x86/x64 unoffical builds] | ||
− | + | ===Emu Loader=== | |
− | + | [http://emuloader.mameworld.info/ Emu Loader] | |
+ | ===MEWUI=== | ||
+ | [http://sourceforge.net/projects/mewui/ MEWUI] | ||
− | === | + | 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 ingame menu | ||
+ | *Options to filter the list of games | ||
− | http:// | + | ===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 frontend. | |
− | |||
− | + | ===gnome-arcade=== | |
− | |||
− | |||
− | |||
− | |||
− | + | A minimal MAME frontend using GTK+ 3 : [https://github.com/strippato/gnome-arcade GitHub]. | |
− | |||
− | + | ==Versions== | |
− | + | ===GroovyMAME=== | |
− | + | {{Main|GroovyMAME}} | |
− | + | It's a fork of MAME made to support arcade CRT monitors | |
− | |||
− | + | http://forum.arcadecontrols.com/index.php/topic,128879.0.html?PHPSESSID=domm2c4q77esu0j9uohc5vrqn5 | |
− | |||
==Netplay== | ==Netplay== | ||
Line 293: | Line 185: | ||
*It's slightly (significantly still) prone to freezing | *It's slightly (significantly still) prone to freezing | ||
*Mapping controllers and binding keys can only be done in-game, which might be confusing to first-timers | *Mapping controllers and binding keys can only be done in-game, which might be confusing to first-timers | ||
− | *Incorrectly emulates many games, while outright not being able to emulate others | + | *Incorrectly emulates many games, while outright not being able to emulate others |
*Random, inconsistent FPS drops due to the server trying to keep everyone synched, sometimes stuttering. It's annoying, but rarely does it make it unplayable | *Random, inconsistent FPS drops due to the server trying to keep everyone synched, sometimes stuttering. It's annoying, but rarely does it make it unplayable | ||
*Everyone needs to have the exact same ROM version or Netplay won't work (if it somehow does, it'll desynch rather quickly) | *Everyone needs to have the exact same ROM version or Netplay won't work (if it somehow does, it'll desynch rather quickly) | ||
Line 318: | Line 210: | ||
<references/> | <references/> | ||
− | + | [[Category:Arcade emulators]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Category: | ||
[[Category:Multi-emulators]] | [[Category:Multi-emulators]] | ||
− | [[Category: | + | [[Category:Linux emulation software]] |
− | [[Category: | + | [[Category:OS X emulation software]] |
− | |||
− | |||
− | |||
[[Category:Windows emulation software]] | [[Category:Windows emulation software]] | ||
− | [[Category: | + | [[Category:Emulators]] |
− | |||
− | |||
[[Category:Netplay]] | [[Category:Netplay]] |