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
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.
In addition to having a version number, romsets can be found in three different flavours :
For Batocera the recommanded type of romset is the non-merged version
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.
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 :
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 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 18.104.22.168|
|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
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
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.
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.
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.
<hidden>true</hidden>to your game
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
For arcade emulation, you can change the emulator used for system
mame or for
neogeo, but not for
The emulator you chose will then be used for all games of the system
If you want to change your mame core you need to either modify or add the values for those two lines in
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 :
|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|
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
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.
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.
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.
Some games needs extra samples files, place them in :
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 :