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.
Cleaning the ROMset
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 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 Options → Export 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.
Manager Details
This section provides more detailed information on the ROM management tools.
RomVault
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: https://wiki.romvault.com/doku.php?id=install_and_setup
RomCenter
RomCenter.
⚠️ 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.
ClrMAMEPro
To Do
Crash course on how to use ClrMAMEPro: http://mame.3feetunder.com/clrmamepro-quick-start-guide/
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).
Filter Details
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.
BestArcade
BestArcade.
⚠️ 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.
ROMLister
ROMLister.
⚠️ To Do. This tool is no longer maintained.
All the Arcade Emulators on Batocera
⚠️ 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. Batocera for PC is shipped with the latest stable MAME version available at the time of release, see table up there. |
| libretro/mame | Mame | Latest | mame | PC | All arcade hardware | highscores, samples, overlays | Very old version, good for lower devices like pi0, but not many games supported. |
| libretro/imame4all | iMame4All | 0.37b5 | mame | RPi0 (<v30) | All arcade hardware | highscores, samples, overlays | Good core for medium core for powerful boards like Pi3. |
| libretro/mame0139 | Mame2010 | 0.139 | 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/mame078plus | Mame2003Plus | 0.78+ | mame | PC | All arcade hardware | highscores, samples, overlays | 1.0.0.X romset is always evolving, it is mostly base on MAME 0.187 romset, but some ROMs are different. |
| libretro/fbneo | Final Burn Neo | Latest | fbneo | All | All 2D arcade hardware | highscores | Can also set to use mame emulators, but fbneo is the recommanded way to go. |
| libretro/neogeo | Neo Geo | Latest | fbneo | All | All 2D arcade hardware | highscores | |
| 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 0.2.97.29 | 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). |
NeoGeo System
The NeoGeo system is not an emulator itself, but uses the FBNeo emulator. ?️ Fix Me! 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.
Setting a Rotary Joystick with libretro mame2003plus
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
Highscores can be tracked and kept through the use of highscore.dat which must 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
RetroArch Shortcuts
Accessing advanced features often involves specific shortcut combinations within RetroArch.
Diagnostic Input: Setup via [HOTKEY] + ➡️ Quick Access → Options → Diagnostic Input.
DIP Switches: Setup via [HOTKEY] + ➡️ Quick Access → Options → Dip Switches.
NEOGEO BIOS Setup: Access via [HOTKEY] + ➡️ Quick Access → SPECIFIC NEO GEO BIOS → UNIBIOS or SPECIFIC BY DIP SWITCHES (UNIBIOS).
DIP Switch Options
❓ 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
- Mode: ARCADE or CONSOLE-AES
- Subtitles: English, Japanese, Korean or Portuguese
- Jukebox
MAME Standalone Input Remap Files
? 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.
- Launch the machine in question.
- While in-game, push in [L3] + [R3] at the same time (keyboard alternative: [Tab]) to open the MAME menu.
- Go to "Input for this game".
Press [Enter] (keyboard alternative: [Enter]) to confirm. Inputs can be cleared by double-tapping /[Enter] while hovering over the input.
Remap configuration files are stored at \userdata\saves\mame\mame\cfg\. More info at the remapping page.
Automatic Controller Mapping
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.








