Easy & Advanced Arcade

This page is dedicated to beginners for helping them to easily play arcade games on Batocera.

Arcade has long been the most complicated of emulations due to its very own nature: arcade machines don't all use the same hardware, so they all have to be emulated independently. Imagine you want to play 5 different arcade games, you could have to use 5 different hardware emulators, whereas playing 5 different SNES games will only need the one and only SNES emulator.

That's why MAME has been invented: MAME is kind of a meta-emulator, it brings all the different emulated hardwares of arcade machines into one system, making it simpler for the user to play arcade games without any knowledge of the underlying arcade machine on which the games are launched. It is no small feat and this is why MAME is so complicated to use.

MAME is a fantastic piece of software, that evolved from being a Multi Arcade Machine Emulator into a framework whose goal is to emulate as many vintage computer systems as possible.

MAME's focus is emulation accuracy, rather than performance. As a result, it emulates a lot of gaming systems, but often times, the performance is better when you use other cores, like FBNeo or dedicated Naomi or Atomiswave emulators.

There are only two main principles to know to get a good grasp of how to use MAME on your recalbox: Romsets and BIOS/driver files

What is a romset

A romset is a set of all the different game roms emulated by a MAME version.
A romset contains parent game roms wich are roms corresponding to the 'main' version of a game and clone game roms which are 'alternative' versions of a parent rom. As you can guess, in most cases we will discard all clone roms and only used the main (or parent) ones.

Most of the code used to make those game roms playable is included in the MAME emulator. Sadly this means that there is a strong and close relationship between a MAME version and the game roms versions : When MAME releases a new version, game roms may need to be updated to fit to the new emulator version.

To keep it simple: if you use a certain MAME emulator, say version 0.78, you also have to get your hands on and use the 0.78 version of the romset.
Some games from another romset may work with your version but the only way to be sure that the most games are working is to use only a MAME version in conjunction with the romset of the same version.

For recent versions (such as the one used by FBNeo, see below) there are less and less modifications of game roms, so it is sometime possible to use an older set and still have most of the games playable, but once again : the only way to be sure that the most games are working is to use only a MAME version in conjunction with the romset of the same version.

This is because with each new versions, MAME can take new ROM dumps as their reference for emulators. A ROM dump that worked with an earlier version of MAME might not work with a recent version any longer.
So each version of MAME has its specific romset, see the table in Advanced section for a full list.


Types of romsets

In addition to having a version number, romsets can be found in three different flavours :

  • 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.
  • 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 Batocera the recommanded type of romset is the non-merged version

BIOS / Drivers

Some of the game roms from a romset may additionaly need BIOS files, the most well known case beeing neogeo games.
Let's use that as an example : If you want to use neogeo games, you'll have to copy the needed bios/driver file (in that case _neogeo.zip_) in the same folder as the game.
That's all !

Off course if you use different subfolders for your games (genre subfolders or hardware type subfolders for instance) you'll have to copy the BIOS file in every folder containing games which may need it.
Given that they are pretty small files, it's better to copy them all in each of your subfolders.

Where do i find the BIOS files do you say ? Well it's very simple : they are included in your romset !
So if a game doesn't launch and goes back right away to the Emulation Station screen, just try to find the relevant BIOS file and copy it in the game folder.


Default emulators

There are several arcade emulators included in Batocera, but just using the default one will be enough for running the majority of games on your Raspberry Pi. For pi3, those two systems are :

  • Mame 2003Plus
    • mame/romset version : 0.78Plus
    • roms folder : mame
  • FBNeo
    • FBNeo is kind of an alternative version of MAME (emulating less arcade machines), but it follows exactly the same principles which I just explained
    • FBNeo romset version : FBNeo 0.2.97.44 this corresponds to MAME 0.187 more or less but not entirely, once again it's better to use the FBNeo 0.2.97.44 romset
    • roms folder : fbneo

Now some games will only work on Batocera with Mame and some others only with FBNeo.

For PC, the default emulator is regular latest stable mame, available at the time of release

Batocera version Latest MAME core RetroArch version
Batocera 29 MAME 0.225 RetroArch 1.9.0
Batocera 5.27 MAME 0.223 RetroArch 1.9.0
Batocera 5.26 MAME 0.220 RetroArch 1.8.6
Batocera 5.25 MAME 0.219 RetroArch 1.8.4
Batocera 5.24 MAME 0.214 RetroArch 1.7.9.2
Batocera 5.23 MAME 0.212 RetroArch 1.7.7
Batocera 5.22 MAME 0.212 RetroArch 1.7.7
Batocera 5.21 MAME 0.206 RetroArch 1.7.6


For further details on all the different arcade emulators in Batocera, see the list in Advanced section


Use arcade emulation on Batocera !

First download the full romsets for both emulators : romset 0.78 for Mame and latest romset 0.2.97.44 for FBNeo.
You may rather download each game one by one because full romsets are quite large, but it's usually very difficult to find individual roms and to be sure that they are in the right version. Full Romsets are the only way to avoid headaches !
The romset files must be in zip format, 7z is not supported and in the next section, when you are told to copy your bios or roms, you must copy the zip files without decompressing them, otherwise, it will not work.

Copy your Bios/drivers

First we are going to copy BIOS/drivers files from our romsets. Contrary to other systems, these files must not be copied into the bios folder but inside the dedicated roms folder.

  • Get these BIOS/Drivers files from your MAME 0.78 romset and copy them into the mame roms folder: acpsx.zip, cpzn1.zip, cpzn2.zip, cvs.zip, decocass.zip, konamigx.zip, megaplay.zip,megatech.zip, neogeo.zip, nss.zip, pgm.zip, playch10.zip, skns.zip, stvbios.zip, taitofx1.zip, tps.zip
  • Copy these BIOS/Drivers files from your FBNeo (0.2.97.44) romset and copy them into the fbneo roms folder, I only needed three of them: neogeo.zip, pgm.zip and skns.zip


Copy games

  • Copy your mame roms from the complete 0.78 romset to the mame roms folders
  • Copy your FBNeo roms from the complete complete FBNeo 0.2.97.44 romset (or any other close to that) into the fbneo rom folders
  • PLAY ! (or not)

You can also use this list to see if a given mame works on a given emulator or not : BestArcade and determine more easily which emulator is the best for the game you want to play.


Further Tricks

  • If you want to hide your BIOS files in Emulation Station, edit their metadata with the select menu, add a tag <hidden>true</hidden> to your game
  • Remember, if you want to use subfolders in your roms folders, just make a copy of BIOS/drivers files into every subfolder and then move your game into the subfolder


Changing the arcade emulator on Batocera

There are two ways to change the emulator for a system on Batocera : either through EmulationStation or by editing directly your configuration file located in /userdata/system/batocera.conf. For arcade emulation, you can change the emulator used for system mame or for neogeo, but not for fbneo The emulator you chose will then be used for all games of the system

Editing batocera.conf

If you want to change your mame core you need to either modify or add the values for those two lines in batocera.conf:
mame.core=mame0139
mame.emulator=libretro

Changing the emulator through EmulationStation

Press Start in your controller, then go in the Games Settings menu, then choose Per System Advanced Configuration

Then seek the mame or neogeo system :

And you will see the list of emulators you can choose from :


All the arcade emulators on Batocera

Arcade emulator Alternative name Romset Roms folder Default on hardware Purpose Extras Notes
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 Pi0 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 powerfull boards like Pi3
libretro/mame078plus Mame2003Plus 0.78+ mame PC All arcade hardware highscores, samples, overlays Good port for less powerfull 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 0.2.97.44 fbneo All All 2D arcade hardware highscores 0.2.97.44 romset is always evolving, it is mostly base on mame 0.187 romset, but some roms are different
libretro/neogeo Neo Geo 0.2.97.44 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



ClrMamePro

In order to verify the roms you have are in the right romset version, you can use some softwares to check your them, like ClrMamePpro or RomCenter

CHD

Some more recent arcade games can use extra files called CHD, a copy of the harddrive the game was using at the same time. To use CHD for a game, just place the CHD folder alongside your rom zip, at the same level.

NeoGeo system

The Neogeo system is not an emulator itself, but uses FBNeo emulator in the background.
You can use this system to visually separate the NeoGeo games from the other arcade games, they will appear as a dedicated system in Emulation Station It uses off course the same romset than the FBNeo emulator.

Setting a Rotary Joystick with 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.

Samples

Some games needs extra samples files, place them in :

  • For FBNeo: /userdata/bios/fbneo/samples
  • For MAME2003plus: /userdata/bios/mame2003-plus/samples
  • For MAME2010: /userdata/bios/mame2010/samples


Highscores

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


  • arcade.txt
  • Last modified: 41 hours ago
  • by lbrpdx