Managing ROMs

markwkidd edited this page Jan 16, 2017 · 107 revisions

Wiki Home Page

Getting Started

Emulators

Ports

Advanced Configuration

Controllers

Troubleshooting

Developers

Clone this wiki locally

Getting Started

Arcade emulation requires a different planning approach than console systems.

  1. Choose an arcade emulator listed in the table below that your system is powerful enough to run
  2. Either download or 'rebuild' a set of arcade ROMs with a version number that exactly matches the emulator you selected

The recommended emulators are:

  • Pi 2 and Pi 3: lr-mame2003 and lr-fbalpha
  • Pi 1 and Pi Zero: mame4all (the native emulator, not the RetroArch core) and pi-fba

If the ROM you wish to play is only supported by other emulator versions, please be aware that earlier arcade emulator versions usually run faster than later versions, but also that earlier versions support fewer games. Native emulators like MAME4ALL or AdvanceMAME perform better than RetroArch cores but they cannot take advantage of global RetroArch configurations so they must be configured individually. Generally 2D games can be emulated by the Pi 3's prococessor, but most 3D and vector games do not run at playable speed or at all.

Emulator Required ROM Version # of ROMs .DAT Files Compatibility List
mame4all MAME 0.37b5 2270 .DAT List
lr-imame4all MAME 0.37b5 2270 .DAT List
lr-mame2003 MAME 0.78 4705 .DAT List
lr-mame2010 MAME 0.139 8782 .DAT List
advmame-.94 MAME 0.94 5563 .DAT List
advmame-1.4 MAME 0.106 6166 .DAT List
pifba FB Alpha v0.2.96.71 684 .DAT List
lr-fbalpha2012 FB Alpha v0.2.97.30 3369 .DAT List
lr-fbalpha FB Alpha v0.2.97.39 4375 .DAT List
gngeopi Varies - read more 203 .DAT List

All Arcade ROMS Compatibility List feel free to contribute to the list.

Crash Course in Arcade ROMs

Arcade ROMs are usually distributed as ZIP files which should not be unzipped or renamed. The version of any given arcade ROM must match the specific version of the arcade emulator because ROMs change from version to version of the emulator. For example, MAME2003 is based on MAME 0.78, so you must use MAME 0.78 ROMs with MAME2003. ROMs from an earlier or later MAME version, such as 0.50 or 0.173, will probably not work with MAME2003.

In addition to having a version number, arcade ROMs can be formatted three ways:

  • Non-merged: All ROMs can be used standalone because each zip contains all the files needed to run that game, including any files from 'parent ROMs'. This is the recommended format for RetroPie arcade emulators.
  • Split: Some ROMS that are considered clones, translations, or bootlegs also require a "parent ROM" to run. The parent ROM is often the first or most common variant of a game. In some cases the parent is not the most popular or best working version of the game, however. For example, in a Split set pacman.zip (a clone), will not work without puckman.zip (its parent).
  • Merged: Clones are merged into the parent ROM zip, meaning that more than one game is stored per file. Merged ROM sets are not recommended.

For further details, see the system-specific wiki pages for MAME and FBA. Recommended external resources for understanding more about MAME/FBA arcade ROMs and their usage are:

Verifying and Rebuilding ROMs

So how do you tell you have the right ROM if you aren't sure that your set matches the version required by the emulator you chose? What if you don't have the right version?

Note: the process of verifying and rebuilding ROMs is complex and requires a substantial investment of time and effort in order to master. If your goal is to have working arcade ROMs, it is almost always simpler to download a full ROM set that has already been verified to match the arcade emulator you chose.

Visit the page on Validating, Rebuilding, and Filtering ROMs to learn more.