Posted: July 9th, 2009, 1:42 pm
NOTE: These MAME FAQs are based on my experience with helping others here at MAME Addicts. More FAQs may be added as time permits or when the thought occurs, so check back occasionally. In the meantime, if your problem has not been covered here yet, Search the forums. If a thorough search doesn't reveal anything then make a New Topic in MAME Help while paying due attention to the How to Use this Forum guidelines.
Not all questions in this FAQ are stand alone. They may relate to the previous one. If you're new to MAME then it's probably best to just read everything through from the start. Since a lot of newbie's MAME problems stem from MAME version/ROM version incompatibility, I recommend two possible solutions:
1) Current MAME
Matching MAMEUI with fairly up to date sites like planetemu (a French site, so page translation can help navigation).
Advantages/Disadvantages: Using a current version of MAME means you may be able to play some games that were broken or unavailable in older versions. There may be other general benefits from current MAME code as emulation accuracy continually improves. However, like other current builds, MAMEUI has no official Kaillera support for online play. Also keep in mind, MAMEUI has no local archive, they only offer their latest release for download, so, depending on the timing, it may be worth waiting for the official stable release before you start building a serious game collection. More info on releases here - MAME Releases and Updates.
2) Older MAME
Matching MAME32 Plus! Plus! 0.119 with old sites like romnation is still a useful compatibility solution. For any problems getting games to work with this version of MAME, please see my MAME32 Plus! Plus! 0.119 Compatibility Issues thread for further info or to request help.
Advantages/Disadvantages: One of the main reasons MAME32 Plus! Plus! 0.119 remains a popular choice is that it was the last version to include official support from Kaillera for online play. However, while there are plenty of easily found, working games, some may be harder to locate, hence the MAME32 Plus! Plus! 0.119 Compatibility Issues thread.
Also of interest:
- The official FAQ of the MAME Dev Team. Tons of in-depth info from the guys that actually build MAME.
- The game info at CAESAR is an invaluable MAME resource for newcomers and veterans alike.
- The MAME/Configure guide at Strategy Wiki is a very useful reference for the main properties of MAME's Default Game Options menu.
- Incito's MAME tutorial vids, including the ever popular How to Install MAME, and the highly instructive MAME32 Advanced Controls parts 1 & 2. A definite must see for all newbies.
- I've also begun making my own MAME tutorial vids which can be found here: Hiero's MAME Video Tutorials.
Q1. OK, I got MAME and some ROMs. Now what do I do?
- Firstly, most newbies are not going to get very far with a command line/source code version of MAME. Make sure you get a MAME with GUI (Graphical User Interface) such as MAMEUI.
Now put the zipped ROM files in MAME's ROMs folder. MAME is capable of running ROMs in zip format so it's best to leave them that way to save space. Open MAME and press F5 to refresh the Available games list (also do a refresh anytime more games are added to the ROMs folder). A game search will follow and then the games should show up in Available.
Q2. I did all that but some/all games are still not showing.
- There could be a few different reasons for this. Check the following:
a) Make sure the ROM path is set to the correct folder. In MAME go Options > Directories > Browse to the actual folder containing your ROMs > select it with OK > OK again to apply the setting. A game search should follow automatically. If not, press F5. Also check that the name of the ROM zip file in the ROMs folder exactly matches the ROM name in All Games/Arcades. If, for whatever reason, the file isn't named exactly as MAME expects then MAME can't see it. Rename the file correctly and try again.
b) Open All Games/Arcades in MAME and go to a game that you put in the ROMs folder but doesn't show in Available. Go right click > Audit to check for missing files. If there are missing files then there could be a mismatch between your version of MAME and the ROM dumps in the zip file. MAME is a continual WIP. Not all versions of MAME and ROMs are going to be compatible with each other. Refer to the compatibility solutions in the introduction. Also check your MAME version number. If it has a letter "u" in the version number, eg. 0.132u1, that's an intermediate update meant for MAME bug testers. It's best to stick with the official releases which have no letter "u" in the version number, eg. 0.132.
c) The game could require other files like BIOS or CHD in order to work. Check the MAME GUI BIOS/CHD folders or check the game's info at CAESAR. Download any other necessary components and add them to the MAME ROMs folder as per instructions (see Q5 - Q8 for more detailed info on BIOS and CHD).
d) The game could be a clone. Clones are offset in the Grouped list and normally require the parent (original) version of the ROM in order to work. The parent file is usually a much larger size than any of its clones. Get the parent version and try again.
e) (Vista!) Some newbies run into problems when they are on Vista or above. Try MAME32 Plus! Plus! 0.119 or MAMEUI64. Also remember to 'Run as administrator'.
Q3. ROM is in Available but when I launch the game I get a blue or green box that says there are some problems with the game.
- Ignore it. The emulation status of these games is imperfect but MAME Dev Team has done enough work to make the game playable. You may still notice some problems mentioned in the warning while playing, though.
Q4. ROM is in Available but when I try and launch the game all I get is a red warning box and the game doesn't work.
- Not every game that is able to be downloaded is actually playable in MAME. The emulation status of these games is still preliminary. There is nothing you can do to fix it, but MAME Dev Team might get it working in the future.
Q5. I got the ROM for Metal Slug (or any other game for the Neo-Geo MVS hardware) but it doesn't work.
- All Neo-Geo games need the BIOS file, neogeo.zip. Neo-Geo BIOS is a small program element common to all Neo-Geo MVS hardware that is nevertheless essential in order for the games to boot up. No BIOS = no games! You only need one copy of neogeo.zip, though. Leave it zipped and put it in the MAME ROMs folder and all of your Neo-Geo games should be able to work. However, as with ROMs, (see Q2 - b) the BIOS needs to be compatible with the MAME version you're using. If you get missing files on a BIOS audit then you know it's incompatible.
Q6. Is this the same for all games that need a BIOS?
- Yes. neogeo.zip isn't the only BIOS out there, just the most well known. Check the MAME GUI BIOS folder or the game's info at CAESAR for any BIOS requirements, or find a MAME BIOS pack and extract it into the MAME ROMs folder.
Q7. I got the ROM for Street Fighter III 3rd Strike but it doesn't work.
- The ROM for SFIII3S is about 129KB. Seems a bit small doesn't it? That's because most of the game's data is in a CHD file, about 78MB. Some arcade games began using discs to store large amounts of data when the technology became available. A CHD file represents the data from the CD, hard disc, or laser disc of the original. Look at the SFIII3S data section at CAESAR to see the CHD file name, cap-33s-2. How you go about finding a copy of the CHD is between you and Google. To setup the CHD properly in older MAME versions, save it in your MAME folder under 'roms/sfiii3/cap-33s-2.chd'. This basically means make a new folder called 'sfiii3', put the CHD file as is (ie. not zipped) in the new folder, leave the new folder as is and put it in the MAME ROMs folder. However, these steps are no longer necessary in newer versions of MAME and the CHD file can just be placed unzipped in the ROMs folder.
Q8. Is this the same for all CHD games?
- Yes, for older MAME versions the same principle applies. Regardless of the CHD file name, make the new folder that's going to contain the CHD with the exact name of the ROM it pertains to and put it in the MAME ROMs folder. This sets up the CHD as a sub-directory of the ROM. Again, this requirement has been removed from newer versions of MAME.
So now you might be thinking, "Great! Now I can play Gauntlet Legends, or such and such crazy 3D/gigantic CHD game! :D"
Whoa there! Sorry to say it, but unless the screen your reading this FAQ on is attached to some kind of supercomputer, or you're a wiz at computer overclocking/benchmarking with a very expensive gaming rig, you can forget about playing many of these types of games at full performance for the time being. MAME philosophy 101: The emulation philosophy of MAME Dev Team aims for the utmost accuracy with the goal of preserving arcade history. They are not too concerned with the nice side effect of how this makes some games available to us players. Because of this there are certain games such as Gauntlet Legends, etc, that currently will not run in MAME at full capability on average PC technology as the requirements for creating an accurate emulation environment are simply too high. Unless you're on a high-end PC this also applies to many 3D polygon MAME games even if they don't have a CHD, due to the fast RISC processor of the original.
Q9. OK, I can launch a game but where are the controls?
- Games aren't much use if you can't control them.
Short answer, press tab in-game. If you're feeling adventurous you can figure out the rest of the controls for yourself.
Long answer. Assuming you want to use a controller for most games, always have one plugged in before opening MAME and make sure it's recognised in your PC's devices. Then in MAME go Options > Default Game Options > Controllers and tick the checkbox for Enable joystick input > Apply > OK. Launch a game and press tab to open the in-game menu. The main default controls needed for the menu are:
arrow keys = navigate menu
enter = select an input to configure
delete = wipe an input if you need to do it over
esc = cancel out of the menu one window at a time
tab = close the menu at the current window
From here you can configure the controller globally with Input (general) > Player 1 Controls, or on a game by game basis with Input (this Game) > Player 1 Controls. It's best to use both. Setup the controller globally first, then customize the controller for individual games as needed. Also take note of the User Interface section inside Input (general) to start learning the hotkeys, such as 'P' for Pause.
Q10. Can I use more controllers for multiplayer games?
- Sure can. Just plug them in and, so long as the PC recognises them all, use the tab menu to configure each controller separately for Player 1, Player 2, etc.
Q11. What about gun games like Terminator 2?
- The most basic way to control these kinds of games is with the mouse. In MAME go Options > Default Game Options > Controllers and tick the checkbox for Enable mouse input > Apply. Apart from that it's just a matter of configuring inputs as per Q9. The only other thing is that some games like Terminator 2 need aiming to be calibrated before the game can play. This should be easily done with the mouse configured properly and a decent knowledge of the tab menu.
Q12. What about other analogue control games?
- Whether it's a racing game with steering wheel and foot pedals in the original cab, or a game with some other analogue device like a trackball or dial, it can be a matter of personal preference which control method you end up choosing. For example, a racing game with more than one analogue control component would be better suited to a dual analogue style gamepad (or even a proper steering wheel rig) rather than the mouse, whereas a game with a single analogue device like a trackball may be best suited to the mouse after all (unless, of course, you already have either a MAME cab or arcade controller with a trackball). It can take some experimentation to find the particular setup that you prefer for each analogue control game. It's all good because the more you mess around with the tab menu the better you'll get at using MAME. The basic thing to keep in mind when configuring analogue control setup is that the X Axis equals horizontal movement and the Y Axis equals vertical movement
Q13. How do I use cheats?
- For cheat.dat, completely extract it into the MAME root directory, ie. into the main MAME folder containing the .exe and all the other files and folders like the ROMs folder, etc.
On the other hand, cheat.zips containing compressed XML files are designed to be kept zipped in the MAME root directory. This is for newer versions of MAME and comes as a double zip. The original zip needs to be extracted once to open the text files and to access the actual cheat.zip inside. Leave it zipped and copy or drag the cheat.zip into the MAME root directory.
In either case open the MAME GUI and go Default Game Options > Miscellaneous > and tick the Enable game cheats checkbox > Apply. Now launch a game, press tab in-game and you will have a new option in the tab menu, Cheat. (See Q9 for tab menu navigation).
Q14. How do I save my high scores?
- Nearly all games that saved their high scores in the original arcade machine also do the same in MAME. There are other games that don't even have high scores so there's obviously nothing to save with those.
Some games in MAME have Save State support. The option to automatically use the Save State feature will be found in Options > Default Game Options > Miscellaneous. If MAME succeeds in restoring a Save State on the next play it will make it so that the game thinks it was never turned off. As only a limited number of games have Save State support and the format is not always 100% reliable, this is not an ideal fix. That's where the hiscore.dat can come in handy. Keep in mind that hiscore.dat doesn't have support for every single game either, but it's still the best solution available.
Firstly, make sure you're using a MAME build with hiscore.dat support. MAMEPlus! and MAMEUIFX are good for that. The highscore.dat needs to be setup the same as cheat.dat, ie. fully extracted into the MAME root directory. Then go Options > Default Game Options > Miscellaneous > tick the Enable hiscore support checkbox > Apply. Although some game's high scores will not save properly unless their NVRAM file is deleted first, be forewarned, it's not a good idea to go through and delete all your NVRAM files in one hit. The main reason for this is games like Street Fighter III 3rd Strike.
If you've ever set up the parent version of SFIII3S then you'll know about the time consuming CD rewrite operation the game has to run before it can be played. The CD rewrite normally only needs to be done once, unless of course, you delete the 96MB sfiii3.nv file that got created during the CD rewrite. It's fortunate then that SFIII3S is one of those games that will save high scores without first needing to delete it's NVRAM file.
Q15. Why did a bunch of my Capcom games stop working in newer MAME?
- Recently, MAME Dev Team split certain 'devices' off from the game ROMs into their own separate files. In the case of the affected Capcom games, an audit would reveal that qsound.bin is missing. QSound is a device which provides enhanced audio in these games. To remedy this, users simply need to locate a compatible qsound.zip file, add it to the ROMs folder and do a refresh. MAME treats this in much the same way as a system BIOS file; only one copy of qsound.zip is needed to help all of the relevant games to pass audit.
Q16. Is this the same for all games that need extra devices now?
- Yes. The easiest solution would be to locate a MAME Devices Pack, extract it into the ROMs folder and do a refresh.