Advanced arcade emulation on Batocera

If new to arcade emulation, it is recommended to read the arcade guide first before reading this one.

This section could probably do with an overhaul of its headers.

Often times, ROMsets will include all known releases. You may not have interest in copying over every known arcade game onto your Batocera.

There are two sorts of tools to help out with this. First, getting a full set in the first place can be made easier with the use of a ROM manager, but isn't strictly required if you have a full ROMset all ready to go.

You can create your own custom set of filters using Arcade Italia's search tool. When you're done setting your filters, click OptionsExport the results (most managers will accept the MAME XML format).

ROM Managers:

  • RomVault: Multi-dat manager. Can consolidate ROMs from any set into any working set. Useful to those who randomly grab ROM files from all over the joint without regard to acquiring full sets.
  • RomCenter: A more powerful but slightly more difficult to use multi-dat manager. Useful to those that need to maintain multiple sets at once.
  • ClrMAMEPro: The big daddy. The “everything and the kitchen sink” approach. It is the hardest to use, but also the most powerful.

Once you have a full set, use of a filtering tool can remove clones, non-games, non-working, etc. files from the set. Some ROM Managers also include filtering tools, but dedicated filtering tools are usually better.

ROM filterers:

  • Arcade manager: A simple UI-driven filter. Easiest to use, but is focused on Recalbox/RetroPie.
  • BestArcade: A Python script focused on filtering down the non-merged reference ROMsets (fbneo, mame2003, mame2003plus and mame2010).
  • ROMLister: A simple tool which filters down a given ROMset based on defined attributes.

Step-by-step of how to use these tools. Under construction.


RomVault. If not able to run, may require the installation of .NET 4.7.2.

Works by using a simple three folder system: DatRoot, RomRoot and ToSort. Put the Roms from an unknown set into the ToSort folder and RomVault will organise everything it knows (dat files from the DatRoot folder) into the RomRoot folder.

Crash course on how to use RomVault:



Each database requires its own dat file, but any amount of folders can be assigned to it. There is no distinction between unsorted and sorted ROMs, RomCenter will simply attempt to organise the current working ROM folder. For this reason, it is recommended to back up your ROMs first in case RomCenter or your configuration gets it wrong.

RomCenter Getting Started guide.


To Do


Crash course on how to use ClrMamePro:

Just note that you'd want to set the ROMset type to “Non-Merged Sets” and also probably want to click Advanced and turn off Separate BIOS sets (the equivalent of a “full” non-merged set).

For more in-depth option explanations, refer to the ClrMAMEPro manual.

Arcade manager

Arcade manager.

Was designed for Recalbox and Retropie, thus it's focused on the low powered SBCs like Raspberry Pi. Still a pretty useful tool for understanding conceptually what's going on and a very good filter.



Requires a non-merged set. Acts as a filter which uses a smart score system to decide which ROMs to keep when there are multiple matches for a single game. Somewhat simple to use, but does require Python.



To Do

This tool is no longer maintained.

Too many columns. Information is not accurate. For the actual information here, can it be merged with the table on the regular guide?

Arcade emulator Alternative name Romset Roms folder Default on hardware Purpose Extras Notes
MAME (standalone) Mame Latest mame PC All arcade hardware highscores, samples, overlays The latest and greatest, usually the hardest to run
libretro/mame Mame Latest mame PC All arcade hardware highscores, samples, overlays Batocera for PC is shipped with the latest stable MAME version available at the time of release, see table up there
libretro/imame4all iMame4All 0.37b5 mame RPi0 (<v30) All arcade hardware highscores, samples, overlays Very old version, good for lower devices like pi0, but not many games supported
libretro/mame0139 Mame2010 0.139 mame PC All arcade hardware highscores, samples, overlays Good core for medium powerful boards like Pi3
libretro/mame078plus Mame2003Plus 0.78+ mame PC All arcade hardware highscores, samples, overlays Good port for less powerful boards with back porting of more recent developments
Romset is a bit specific, it's not the same as standard 0.78
libretro/fbneo Final Burn Neo Latest fbneo All All 2D arcade hardware highscores 1.0.0.X romset is always evolving, it is mostly base on MAME 0.187 romset, but some ROMs are different
libretro/neogeo Neo Geo Latest fbneo All All 2D arcade hardware highscores can also set to use mame emulators, but fbneo is the recommanded way to go
libretro/flycast Flycast Latest atomiswave All Atomiswave arcade hardware AtomisWave roms can be picked from the latest mame romset
libretro/flycast Flycast Latest naomi All Naomi arcade hardware Naomi roms and CHD can be picked from the latest mame romset
Hypseus Daphne Specific daphne All Daphne arcade hardware Emulator for laserdisc arcade games like Dragon's Lair, uses a very specific non-mame based romset
libretro/fbalpha2012 Final Burn Alpha FB Alpha fbneo / neogeo RPi0 (>v31) All 2D arcade hardware Emulator that performs well on low-power boards. Retropietest's excellent page on it (note we aren't using the same romset version).

The NeoGeo system is not an emulator itself, but uses the FBNeo emulator. (FIXME Why do we have this? This doesn't work like this for any other system. This section is also confusing, are we no longer defining systems by their folder? Are settings retained from the general mame and fbneo folder?)

You can use this system to visually separate the NeoGeo games from the other arcade games, they will appear as a dedicated system in EmulationStation.

It uses the same romset as the FBNeo emulator.

If you have a special stick like the Happ Rotary Arcade you need to configure both joystick and keyboard at same time:

Dial :   AZERTY keyboard: "^" (between  "P" and "Enter") -- QWERTY keyboard: "[" (leftbracket)
Dial :   AZERTY keyboard: "$" (between "P" and "Enter")  -- QWERTY keyboard: "]" (rightbracket)
Dial 2 : AZERTY keyboard: "*" (between "m" and "Enter")  -- QWERTY keyboard: "/" (slash)
Dial 2 : AZERTY keyboard: "!" (between "m" and Right)    -- QWERTY keyboard: "\" (backslash)

You must launch your game, open the Retroarch menu with Hotkey + B, go to Input Interface and activate the option Simultaneous. Then you can use your joystick and keyboard keys at the same time.

Highscores can be tracked and kept throughthe use of `highscore.dat` which mus be in the right version for each emulator / emulator version, they can be found or must be placed here :

  • For FBNeo : /userdata/bios/fbneo
  • For mame2003plus : /userdata/saves/mame/mame2003-plus/hi
  • For mame2010: /userdata/saves/mame/mame2010/hi
  • For mame: see temporary solution in following post

This is the per-game menu for accessing the machine's advanced configuration such as its dip switches, service mode and diagnostic input.

FB Neo's one is actually for the game's service menu, which not all games have.

Per-game dipswitch configuration can be accessed via RetroArch's Quick Menu. While in-game, press [HOTKEY] + South button (B SNES), then go to OptionsDip switch settings.

For FB NEO, the default combo is [START] + [L1] + [R1] (old versions (FIXME what older versions? Be specific): Hold [START])

For MAME, the default combo is pushing in [L3] + [R3] (old versions (FIXME what older versions? Be specific. I also don't think this was even removed, ie. you can still press Tab on the keyboard to access the dip switch menu): [Tab] on the keyboard)


Is this actually the per-game service menu and not the dip switch settings provided by the core?

  • For the default (FIXME factory?) NEOGEO BIOS, the default combo is [START] + [L1] + [R1] (old versions (FIXME what older versions? Be specific): Hold [START])
  • For the universal BIOS:
    • At the boot screen, the default combo is holding down West button (Y SNES) + South button (B SNES) + East button (A SNES)
    • During gameplay, the default combo is holding down [START] + [SELECT] or holding down [START] + West button (Y SNES) + South button (B SNES) + East button (A SNES)

Setup a new shortcut via RetroArch:

[HOTKEY] + South button (B SNES)Quick AccessOptionsDiagnostic Input

Setup DIP Switches via RetroArch: [HOTKEY] + South button (B SNES)Quick AccessOptionsDip Switches

Setup NEO-GEO BIOS via RetroArch:


Not all games have a dip switch menu, and may crash when using these commands.

Here you can change number of players, get more lives, switch for arcade or console mode, setup subtitles, or even active the free mode!

Options available (Defaults)
  • Diagnostic Input (shortcut combination):
    • None
    • Hold Start
    • Start + A + B
    • Hold Start + A + B
    • Start + L + R (Default)
    • Hold Start + L + R
    • Hold Select
    • Select + A + B
    • Hold Select + A + B
    • Select + L + R
    • Hold Select + L + R
  • DIP Switches (settings) - may differ from game to game:
    • Autofire: Off* or On
    • Coin Mode: Mode 1*, Mode 2
    • Coin A / Coin B | Coinage | Coin setting : 4 Coins 3 Credit, 2 Coins 1 Credit, 1 Coin 1 Credit*, 1 Coin 2 Credits, 1 Coin 3 Credits, 1 Coin 4 Credits, 1 Coin 6 Credits, Free to Play
    • 2C to Start, 1 to Continue: Yes or No* | Starting Coin: Normal, 2x
    • Difficulty: 1 (Easiest), 2, 3, 4 (Normal)*, 5, 6, 7, 8 (Hardest)
    • Difficulty 2: Easy, Normal*, Hard, Hardest
    • Bonus Life: 100K*, 200K, 100K and every 200K, None
    • Number of Players: 1, 2*, 3, 4
    • Change Lives: 1, 2*, 3, 4, 5
    • Free to play: Yes or No*
    • Freeze: : Yes or No*
    • Flip: Yes or No*
    • Demo Sound | Attractive: Yes* or No
    • Allow Continue: Yes* or No
    • Game Mode: Game* or Test
    • Sound Output: Mono or Stereo
    • Unknown: Off* or On
    • Region: Europe, USA or Japan
    • Subtitles: English, Japanese, Korean or Portuguese
    • Jukebox


For libretro MAME, it is recommended to use RetroArch's remapping instead.

In MAME standalone, machines can be remapped using the built-in MAME menu.

  1. Launch the machine in question.
  2. While in-game, push in [L3] + [R3] at the same time (keyboard alternative: [Tab]) to open the MAME menu
  3. Go to “Input for this game”

Press South button (B SNES) (keyboard alternative: [Enter]) to confirm. Inputs can be cleared by double-tapping South button (B SNES)/[Enter] while hovering over the input.

Remap configuration files are stored at \userdata\saves\mame\mame\cfg\. More info at the remapping page.

Standalone MAME and libretro/MAME have options to automatically map the controls for certain games and controller types. For more information, see Automatic Controller Layouts.

  • advanced_arcade.txt
  • Last modified: 19 months ago
  • by atari