I now have a problem with MAME playing some old arcade titles. I tried to search for the issue on google first but I still haven't got a viable answer.

My problem is this:

I've downloaded MAME by using apt-get install mame command on my Debian Linux. The installation process went smoothly and I did the right setup afterwards. I've acquired several ROM files including 'Street Fighter III 3rd Strike', 'Street Fighter II': Champion Edition', 'The King of Fighters '97', etc and put them in the rom folder which was specified correctly in the mame.ini file.

I can see the entries for those ROM files once I started MAME (without a GUI frontend as I started MAME in xterm), but when I select any one of the ROMs, I got the same error message. The neogeo.zip file (Neo Geo ROM for MAME) is in my roms folder.

What seems to be the problem? Please help me. Thank you.


2 Answers 2


Some things that might have tripped you up:

MAME will show a lot of games as "available" that aren't really. I think they mean "compatible" more than "available" here. You can run MAME with the name of a ROM to start right into that game, or fail immediately if it isn't present.

You might start with one of the publicly available ROMS on the MAME website, since those are pretty much guaranteed to work. Files you find on ROM sites are a bit more suspect.

For some games (like Street Fighter 3 Third Strike), a .CHD file is required in addition to the ROM. There are rules about where this CHD file lives, you can read up on this at the FAQ.

NeoGeo games (Like King of Fighters '97) require neogeo.zip in your roms folder, but it seems like you've done that already.

Note that MAME is very picky about ROM file names - they must match exactly what MAME expects them to be. If you've renamed the files, or they downloaded with the wrong names, you'll need to fix them. mame -listfull can tell you the game name and the expected ROM name that matches, although you'll probably want to pipe this to grep or similar due to the large number of supported ROMs.

  • Thanks for you help. I tried one of those publicly available roms on the MAME website and it did work for me. It makes the issue clearer that it was the roms I downloaded that was the problem. I might try to find the solution toward that way. Thanks again. Commented Apr 29, 2016 at 2:34

The MAME FAQ covers this.

Why does MAME report "missing files" even if I have the ROMs?

In brief,

  • ROMs can change as better ROM-dumping techniques are invented or as details of game behaviour are more meticulously recorded. The latest version of MAME generally is optimised for the latest versions of game ROMs and may not work with older ROMS that lack some data.
  • ROMs for different games sometimes had a lot in common (e.g. Galaga and Galaxians) so to save space, ROMs were split so that one ROM depended on resources in a "parent" ROM. Disk space is no longer an issue but old ROMs survive. There are "unmerged", "split" and "merged" ROMS. You need the right ones.
  • ROMS sometimes depend on external data that was originally stored separately these are sometimes in CHN files.
  • Some ROMs depend on a common platform ROM, e.g. a common Atari system-ROM.
  • MAME's original objective was to document old arcade games. Providing backwards compatibility with older ROMs isn't a top priority and this is complicated by the fact that IP issues mean that MAME cannot be supplied by the developers with ROMs.

As someone else once said: "MAME's primary goal is preservation. The ability to play the games is just a nice side effect."

I find the best solution is to put those problematic ROMs to one side and obtain some better non-split unmerged ROMs for the same game from somewhere else. This is what worked for me.

There are also ROM management tools that may be able to reorganise ROMs to create new ROMs that don't have some of these problems and are playable with current MAME.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .