MAME (Multiple Arcade Machine Emulator) est né en février 1997 sous l'impulsion de Nicola Salmoria. Son objectif n'a jamais été le simple divertissement : MAME est avant tout un projet de documentation et de préservation, dont le but est de reproduire fidèlement le fonctionnement interne des cartes d'arcade avant que le matériel d'origine ne disparaisse définitivement.
Au fil des années, le projet a absorbé le travail de centaines de contributeurs et couvre aujourd'hui des milliers de machines, des bornes vectorielles du début des années 1980 aux systèmes 3D des années 1990. En 2015, MAME a fusionné avec MESS, son équivalent pour les ordinateurs et consoles domestiques, pour devenir un émulateur généraliste — mais c'est bien sa partie arcade qui est utilisée dans Recalbox.
Cette longévité a une conséquence directe et fondamentale pour l'utilisateur : chaque version de MAME a son propre jeu de roms. À mesure que l'émulation d'une machine progresse, les fichiers qui composent un jeu sont renommés, découpés, complétés ou corrigés. Un romset prévu pour MAME 0.78 ne fonctionnera donc pas avec MAME 0.278, et inversement. C'est pourquoi Recalbox propose plusieurs versions de MAME en parallèle, chacune avec son propre dossier de roms.
Les versions anciennes ne sont pas là par nostalgie : elles sont beaucoup plus légères et restent le seul moyen de faire tourner certains jeux à pleine vitesse sur les machines les moins puissantes. Sur les boards récentes, en revanche, le MAME récent fait tourner l'ensemble du catalogue et rend les vieux cores inutiles.
Retiré en Recalbox 10.1 : sur RPi5/500, les cores MAME 2003, MAME 2010, MAME 2015 et AdvanceMAME ne sont plus fournis. La puissance de la board permet au MAME récent (0.258 / 0.278) de faire tourner l'ensemble des jeux : utilisez un romset moderne. MAME 2000 n'est quant à lui disponible que sur RPi3 et RPi Zero 2. Il n'existe plus de core « MAME » générique dans Recalbox : les deux versions récentes sont explicitement mame0258 et mame0278.
Disponibilité des émulateurs par board :
| Émulateur | RPI3/RPI02W | RPI4/400 | RPI5/500 | OGA/OGS/RG351 | PC | RG353 |
|---|---|---|---|---|---|---|
| Libretro MAME 0.258 | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Libretro MAME 0.278 | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Libretro MAME 2003-Plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Libretro MAME 2003 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Libretro MAME 2000 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Libretro MAME 2010 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| Libretro MAME 2015 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| AdvanceMAME | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
Sur RPi5/500 et sur PC, l'émulateur par défaut est mame0258. Sur RPi4/400, ainsi que sur RPi3, RPi Zero 2, OGA/OGS/RG351 et RG353, c'est mame2003_plus qui est utilisé par défaut, car il offre le meilleur compromis vitesse/compatibilité sur ces machines. Vous pouvez changer d'émulateur pour l'ensemble du système ou jeu par jeu, mais n'oubliez pas que le romset doit suivre.
Le netplay est pris en charge par mame0258, mame0278, mame2003_plus, mame2003 et mame2000 ; il n'est disponible ni sur mame2010, ni sur mame2015, ni sur AdvanceMAME. La sortie CRT est gérée par tous les cores libretro sauf mame2000 ; AdvanceMAME ne l'utilise pas. Les RetroAchievements sont pris en charge et le lightgun est recommandé sur ce système. Aucun core ne gère le softpatching.
Pour retrouver les sensations d'origine, Recalbox se branche directement sur une borne grâce au kit complet Recalbox RGB JAMMA 2.
Placez vos jeux dans :
/recalbox/share/roms/mame/
Chaque version de MAME lit uniquement son propre sous-dossier. Un jeu déposé directement dans mame/ ne sera pas lancé : il doit être rangé dans le sous-dossier correspondant à la version d'émulateur — et donc de romset — que vous utilisez.
| Émulateur | Version du romset attendue | Sous-dossier | 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 (variante MAME 2003-Plus) | 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 |
L'arborescence complète ressemble donc à ceci :
/recalbox/share/roms/mame/
├── mame0258/
├── mame0278/
├── mame2003plus/
├── mame2003/
├── mame2000/
├── mame2010/
├── mame2015/
└── advancemame/
Un romset qui ne correspond pas à la version du core ne fonctionnera pas : le jeu reste sur un écran noir, se relance sur la liste des jeux, ou signale des roms manquantes. Dans 99 % des cas, un jeu MAME qui refuse de démarrer est un problème de version de romset, pas un problème de Recalbox.
Quelques règles à respecter pour un dossier MAME sain :
.zip est l'identifiant du jeu dans MAME (sfiii3.zip, dkong.zip…).neogeo.zip, qsound.zip, les jeux « parents » des clones…) se placent dans le même sous-dossier que les jeux, et non dans /recalbox/share/bios/..zip contient tout ce qu'il faut pour lancer le jeu.Consultez également le guide MAME et sa FAQ pour les questions de configuration, de contrôles et de codes de triche.