Getting started with arcade emulation
Foreword
Arcade emulation requires a different approach than console emulation.
Please read this entire page before beginning your RetroPie arcade emulation project.
Overview
RetroPie comes with multiple arcade emulators and each emulator requires a specific romset to work.
Each emulator is optimised for different hardware and different games so read the following sections to know which emulator to use and subsequently which romset is required for that emulator.
Step 1: Choose your arcade emulator(s)
RetroPie's arcade emulators come in two main flavors: MAME and FinalBurn.
- MAME is the most well-known and works with thousands of games, its focus is preservation.
- FinalBurn focuses on 2D systems and playability, it includes support for features that have no place in a preservation-focused emulator (netplay, runahead, retroachievements, ...)
RetroPie includes multiple versions of both MAME and FinalBurn. Older versions usually require less processing power, but newer versions support more games and feature more accurate emulation.
Use this table as a guide when choosing an emulator version:
Raspberry Pi version | Recommended MAME Emulator | Recommended FB Emulator |
---|---|---|
2, 3 or 4 | lr-mame2003 |
lr-fbneo |
1 or Zero | mame4all |
pi-fba |
Learn about other available versions on the pages about MAME and FinalBurn Neo.
Other arcade emulators
For certain arcade systems that are not supported by neither MAME nor FinalBurn, there are dedicated emulators available in RetroPie:
- Supermodel - a Sega Model 3 emulator, supporting about 27 games. The list of supported games is at https://www.supermodel3.com/About.html.
- Flycast - a Dreamcast emulator that plays the NAOMI and Sammy Atomiswave arcade games.
Step 2: Select the right ROM set
ROMS are not included with RetroPie. Copyright law varies by country and is up to the user to determine legality.
In general, you will only get good results with a full set of ROMs. Incomplete ROM sets (i.e. smaller collections of individual ROMs) are unlikely to work well. This is because certain roms (known as child roms) are dependent on files in other ROMs (known as parent ROMs) for example Pacman is actually an american clone (child) of the original japanese game Puckman (Parent). Without both files, most games will immediately exit.
There are a number of different rom set versions. Different versions contain different games (although there's plenty of overlap). This table tells you which rom set version you need for each emulator, and which games are in each set:
Emulator | Required ROM Version | # of ROMs |
---|---|---|
mame4all | MAME 0.37b5 | 2270 |
lr-mame2003 | MAME 0.78 | 4720 |
pifba | FB Alpha v0.2.96.71 | 684 |
lr-fbneo | FB Neo v1.0.0.XX | 7030 |
To sum up, for best results:
- use a full ROM set;
- use the ROM set version that matches the emulator you're using.
Step 3: Transfer ROMs to Raspberry Pi
Follow the guide on Transferring ROMs HERE.
Unlike some other system, arcade games should be zipped, if you extract them, they won't work.
You can place any of the rom sets in the arcade
rom folder but you'll be required to pick the correct emulator for your rom set through the runcommand menu.
They can also be placed in their respective emulator rom folders, this information is included in the system pages: MAME, FBNeo
Further Reading
- Arcade games and how to play them, A non-technical MAME and FBNeo (FBA) tutorial by rbaker
- Instructions for how to set up FB Neo as a separate Neo Geo system, by thelostsoul
- RetroPie docs for MAME and FB Neo
- How to use MAME with RetroPie Help Guide by Floob
- Demystifying MAME ROMs Tutorial by ChoccyHobNob (via archive.org)
- Advanced: Validating, Rebuilding, and Filtering ROM Collections