MAME (Multiple Arcade Machine Emulator) was born in February 1997 under the impulse of Nicola Salmoria. Its goal has never been mere entertainment: MAME is first and foremost a documentation and preservation project, aiming to faithfully reproduce the inner workings of arcade boards before the original hardware disappears for good.
Over the years the project has absorbed the work of hundreds of contributors and now covers thousands of machines, from the vector cabinets of the early 1980s to the 3D systems of the 1990s. In 2015 MAME merged with MESS, its counterpart for home computers and consoles, and became a general-purpose emulator — but it is its arcade side that is used in Recalbox.
This longevity has a direct and fundamental consequence for the user: every MAME version has its own set of roms. As the emulation of a machine improves, the files making up a game get renamed, split, completed or fixed. A romset made for MAME 0.78 will therefore not work with MAME 0.278, and vice versa. This is why Recalbox ships several MAME versions side by side, each with its own roms folder.
The older versions are not there out of nostalgia: they are far lighter and remain the only way to run some games at full speed on the least powerful machines. On recent boards, on the other hand, recent MAME runs the whole catalogue and makes the old cores unnecessary.
Removed in Recalbox 10.1: on RPi5/500, the MAME 2003, MAME 2010, MAME 2015 and AdvanceMAME cores are no longer shipped. The board is powerful enough for recent MAME (0.258 / 0.278) to run every game: use a modern romset. MAME 2000, for its part, is only available on RPi3 and RPi Zero 2. There is no generic "MAME" core in Recalbox any more: the two recent versions are explicitly mame0258 and mame0278.
Emulator availability per board:
| Emulator | RPI3/RPI02W | RPI4/400 | RPI5/500 | OGA/OGS/RG351 | PC | RG353 |
|---|---|---|---|---|---|---|
| Libretro mame0258 | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Libretro mame0278 | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Libretro mame2003_plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro mame2003 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Libretro mame2000 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Libretro mame2010 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Libretro mame2015 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| AdvanceMAME | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
On RPi5/500 and PC, the default emulator is mame0258. On RPi4/400, as well as on RPi3, RPi Zero 2, OGA/OGS/RG351 and RG353, mame2003_plus is used by default, as it offers the best speed/compatibility trade-off on those machines. You can switch emulator for the whole system or game by game, but keep in mind that the romset has to follow.
Netplay is supported by mame0258, mame0278, mame2003_plus, mame2003 and mame2000; it is available neither on mame2010, nor on mame2015, nor on AdvanceMAME. CRT output is handled by every libretro core except mame2000; AdvanceMAME does not use it. RetroAchievements are supported and a light gun is recommended on this system. No core supports softpatching.
To get the original feel, Recalbox plugs straight into a cabinet thanks to the Recalbox RGB JAMMA 2 complete kit.
Put your games in:
/recalbox/share/roms/mame/
Each MAME version only reads its own subfolder. A game dropped directly into mame/ will not start: it must be placed in the subfolder matching the emulator version — and therefore the romset version — you are using.
| Emulator | Expected romset version | Subfolder | Extensions |
|---|---|---|---|
| Libretro mame0258 | MAME 0.258 | mame0258/ |
.zip .7z .cmd |
| Libretro mame0278 | MAME 0.278 | mame0278/ |
.zip .7z .cmd |
| Libretro mame2003_plus | MAME 0.78 (MAME 2003-Plus variant) | mame2003plus/ |
.zip |
| Libretro mame2003 | MAME 0.78 | mame2003/ |
.zip |
| Libretro mame2000 | MAME 0.37b5 | mame2000/ |
.zip |
| Libretro mame2010 | MAME 0.139 | mame2010/ |
.zip .7z |
| Libretro mame2015 | MAME 0.160 | mame2015/ |
.zip .7z .cmd |
| AdvanceMAME | MAME 0.106 | advancemame/ |
.zip |
The complete tree therefore looks like this:
/recalbox/share/roms/mame/
├── mame0258/
├── mame0278/
├── mame2003plus/
├── mame2003/
├── mame2000/
├── mame2010/
├── mame2015/
└── advancemame/
A romset that does not match the core version will not work: the game stays on a black screen, drops back to the game list, or reports missing roms. In 99 % of cases, a MAME game refusing to start is a romset version problem, not a Recalbox problem.
A few rules for a healthy MAME folder:
.zip file name is the game identifier in MAME (sfiii3.zip, dkong.zip…).neogeo.zip, qsound.zip, the "parent" games of clones…) go in the same subfolder as the games, not in /recalbox/share/bios/..zip contains everything needed to run the game.Also have a look at the MAME guide for configuration, controls and cheat questions.