Professional Documents
Culture Documents
MAME stands for Multiple Arcade Machine Emulator. MAME can emulate thousands of games that
otherwise would have been lost in the ash-heaps of history.
There are a variety of arcade emulator versions available in RetroPie. There are significant
differences in performance, compatibility, and configuration between them. If you're getting started
with an arcade emulation project, begin by reading the Arcade page.
This page is a resource for additional details on RetroPie's MAME emulators including
configuration paths, controls, and the ROM sets which each emulator requires.
To avoid having several menus for different arcade emulators, all arcade-based ROMs can be
placed in the arcade ROM folder, but you will have to specify which emulator each zipped ROM set
will use from the Runcommand Menu.
Emulators
mame4all-pi
Folder Location
Roms /home/pi/RetroPie/roms/mame-mame4all
Binary /opt/retropie/emulators/mame4all
Configuration /opt/retropie/configs/mame-mame4all
Samples /home/pi/RetroPie/mame4-all/samples/
BIOS: 1
CHDs: 0
Samples: 35
MAME 0.37b5 XML File: mame4all-no-clones-no-neogeo Does not include clones or NeoGeo
romsets.
Controls
While in a game press Tab to open the menu to set up controls. The MAME4ALL configuration is
saved in:
/opt/retropie/configs/mame-mame4all/cfg/default.cfg
Note: If configuration or other aspect of the configuration need resetting to defaults, remove the
default.cfg or ROM specific .cfg file, and it will be re-created with default values next time
MAME4ALL is started or the ROM configuration modified.
lr-mame2000 (MAME 2000)
Folder Location
Roms /home/pi/RetroPie/roms/mame-mame4all
/home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2000
Configuration /opt/retropie/configs/mame-mame4all/retroarch.cfg
Samples /home/pi/RetroPie/BIOS/mame2000/samples/
BIOS: 1
CHDs: 0
Samples: 35
MAME 0.37b5 'Lite' DAT File: mame4all-no-clones-no-neogeo - Does not include clones or NeoGeo
romsets.
Controls
MAME 2000 uses RetroArch control configuration. Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
Folder Location
Roms /home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2003
Configuration /opt/retropie/configs/mame-libretro/retroarch.cfg
Samples /home/pi/RetroPie/BIOS/mame2003/samples/
BIOS: 15
CHDs: 30
Samples: 56
MAME 0.78u5 DAT File: mame2003-lr-working-no-clones - Working romsets only. Does not include
clones.
MAME 0.78u5 'Lite' DAT File: mame2003-lr-lite - Working romsets only. Does not include: clones,
NeoGeo, PlayChoice NES/multiplay, romsets with rotary/dial/trackball/light gun controls, or
romsets classified as casino/quiz/mahjong/fruit_machines/rhythm/mature.
Mame 2003 catver.ini also contains data on games definitively known not to work, as well as
sorting data for mature games and other, less desirable, romsets.
Controls
MAME 2003-Plus uses both RetroArch control configuration and the MAME input configuration
menu (accessible by pressing Tab ). Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
MAME 2003-Plus (also referred to as MAME 2003+ and mame2003-plus) is a libretro arcade
system emulator core with an emphasis on high performance and broad compatibility with mobile
devices, single board computers, embedded systems, and similar platforms.
In order to take advantage of the performance and lower hardware requirements of an earlier
MAME architecture, MAME 2003-Plus began with the MAME 2003 codebase, which is itself derived
from xmame 0.78. Upon that base, MAME 2003-Plus contributors have back-ported support for
several hundred additional games as well as other functionality not originally present in MAME
0.78.
Please see the libretro MAME 2003-Plus core documentation for information on how to configure
specific features of this emulator.
Folder/File Location
Roms /home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2003-plus
Configuration /opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
Samples /home/pi/RetroPie/BIOS/mame2003-plus/samples/
MAME Version: 0.78-0.188 (MAME 0.78 as a baseline with other ROMs back-ported from later
MAME romsets)
BIOS: 15
CHDs: 30
Samples: 66 + 6 Optional "Soundtrack Samples"
MAME 2003-Plus DAT File: Github project page. An XML "DAT" file can be generated from the
emulator, directly from the MAME menu.
The MAME 2003-Plus catver.ini also contains data on games definitively known not to work, as
well as sorting data for mature games or other, less desirable, romsets.
Controls
MAME 2003-Plus uses both RetroArch control configuration and the MAME input configuration
menu (accessible by pressing Tab ). Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
Some notes about extra controls options and configuration available in MAME 2003-Plus:
MAME 2003-Plus can use different RetroPad layouts, chosen with the Device Type
configuration option in the Controls menu in RetroArch:
Classic Gamepad, based on mainline MAME's default Xbox 360 controller layout, likely to
suit DualShock or SNES-style gamepads.
Modern Fightstick, a fight stick and pad layout popularised by Street Fighter IV and
assumes an 8+ button controller.
6-Button, a layout intended for SNES-type RetroPad controls as well as 6-button arcade
panels arcade panels.
MAME 2003-Plus maps the analog controls to joystick control by default, instead of the D-Pad.
This can be changed from the Core Options, switching the Control mapping option to digital.
MAME 2003-Plus disables the MAME menu by default (usually mapped to Tab ). It can be
enabled by changing the Input interface Core Option to simultaneous .
Folder Location
Folder Location
Roms /home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2010
Configuration /opt/retropie/configs/mame-libretro/retroarch.cfg
Samples /home/pi/RetroPie/BIOS/mame2010/samples
BIOS: 67
CHDs: 406
Controls
MAME 2010 uses RetroArch control configuration. Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
Note: This emulator is considered 'experimental' in RetroPie and has limited functionality. It
requires more processing power than earlier MAME versions and will not run as many games at full
speed on Raspberry Pi hardware.
Folder Location
Roms /home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2015
Configuration /opt/retropie/configs/mame-libretro/retroarch.cfg
Folder Location
Samples /home/pi/RetroPie/BIOS/mame2010/samples
Active Sets: ??
BIOS: ??
CHDs: ??
Controls
MAME 2015 uses RetroArch control configuration. Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
Note: This emulator is considered 'experimental' in RetroPie and has limited functionality. It
requires more processing power than earlier MAME versions and will not run as many games at full
speed on Raspberry Pi hardware.
Folder Location
Roms /home/pi/RetroPie/roms/mame-libretro
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/libretrocores/lr-mame2016
Folder Location
Configuration /opt/retropie/configs/mame-libretro/retroarch.cfg
Active Sets: ??
BIOS: ??
CHDs: ??
Controls
MAME 2016 uses RetroArch control configuration. Custom Retroarch controls can be added to the
retroarch.cfg file in
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg
AdvanceMAME 0.94
Folder Location
Roms /home/pi/RetroPie/roms/mame-advmame
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/emulators/advmame/bin
Configuration /opt/retropie/configs/mame-advmame
Samples /home/pi/RetroPie/roms/mame-advmame/samples
MAME Version: MAME 0.94 (March 2005)
BIOS: 25
CHDs: ?
Samples: ?
Controls
While in a game, press Tab to open the menu and set up controls. AdvanceMAME configuration
for controls is stored in /opt/retropie/configs/mame-advmame/advmame-0.94.0.rc . Changes to
specific games result in .rc file entries with a prefix for the ROM (i.e.
bwidow/input_map[p1_doubleleft_up] keyboard[0,up] for the bwidow game).
Note: The .rc file can also be edited manually, with a text editor. Any config can be made ROM-
specific using a romname/ prefix which is handy for overriding a setting for a specific ROM or class
of ROMs, such as vertical/ . However, a single mistake in the .rc file will stop AdvanceMAME
from launching. It is always best to make a backup of the configuration file before manual edits.
AdvanceMAME 1.4
Folder Location
Roms /home/pi/RetroPie/roms/mame-advmame
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/emulators/advmame/bin
Configuration /opt/retropie/configs/mame-advmame
Samples /home/pi/RetroPie/roms/mame-advmame/samples
CHDs: 86
Controls
While in a game press Tab to open the menu to set up controls. AdvanceMAME configuration for
controls is stored in /opt/retropie/configs/mame-advmame/advmame-1.4.rc . Changes to specific
games result in .rc file entries with a prefix for the ROM (i.e.
bwidow/input_map[p1_doubleleft_up] keyboard[0,up] )
Note: The .rc file can also be edited manually. Any config can be made ROM-specific using a
romname/ prefix which is handy for overriding a setting for a specific ROM or class of ROMs, such
as vertical/ . However, a single mistake in the .rc file will stop AdvanceMAME from launching.
It is always best to make a backup of the configuration file before manual edits.
AdvanceMAME 3
Folder Location
Roms /home/pi/RetroPie/roms/mame-advmame
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/emulators/advmame/bin
Configuration /opt/retropie/configs/mame-advmame
Samples /home/pi/RetroPie/roms/mame-advmame/samples
BIOS: 26
CHDs: 86
Samples: 64 (3 more samples are not in circulation)
Controls
While in a game, press Tab to open the menu and set up the controls. AdvanceMAME
configuration for controls is stored in /opt/retropie/configs/mame-advmame/advmame.rc .
Changes to specific games result in .rc file entries with a prefix for the ROM (i.e.
bwidow/input_map[p1_doubleleft_up] keyboard[0,up] )
Note: The .rc file can be edited manually. Any config can be made ROM-specific using a romname/
prefix, which is handy for overriding a setting for a specific ROM or class of ROMs, such as
vertical/ . However, a single mistake in the .rc file will stop AdvanceMAME from launching. It is
always best to make a backup of the advmame.rc file before manual edits.
MAME
Note: This emulator is considered 'experimental' in RetroPie. It requires more processing power
than earlier MAME versions and will not run as many games at full speed on Raspberry Pi
hardware.
Folder Location
Roms /home/pi/RetroPie/roms/mame
/home/pi/RetroPie/roms/arcade
Binary /opt/retropie/emulators/mame/bin
Configuration /opt/retropie/configs/mame
BIOS /home/pi/RetroPie/BIOS/mame
Samples /home/pi/RetroPie/roms/mame/samples
MAME Version: MAME has monthly versioned releases, there is no single version. Version 0.221
was released for May 2020, 0.222 for June 2020, etc.
Installing from binary will probably get a version that's a little behind the current MAME, installing
from source will always get the latest monthly release.
NOTE: installing from source requires a lot of RAM and CPU power, on Pi3 and lower end systems
could take more than one day - use the binary release when available, instead of installing from
source.
MAME Dat Files: ProgettoSnaps MAME .dat page has versions for each MAME release.
Controls
While in a game, press Tab to open the MAME menu, then choose the Input configuration. MAME
controls configuration is saved in /home/pi/RetroPie/roms/mame/cfg :
lr-mame
Note: This emulator is considered 'experimental' in RetroPie. It requires more processing power
than earlier MAME versions and will not run as many games at full speed on Raspberry Pi
hardware.
Folder Location
Roms /home/pi/RetroPie/roms/mame
/home/pi/RetroPie/roms/mame-libretro
Binary /opt/retropie/libretrocores/lr-mame
Configuration /opt/retropie/configs/arcade
BIOS /home/pi/RetroPie/BIOS/mame
Samples /home/pi/RetroPie/roms/mame/samples
MAME Version: Similar to MAME, lr-mame follows the monthtly MAME releases, so there is no
single version. Installing from binary will probably get a version that's a little behind the current
MAME, but the upstream Libretro repository tries to keep up with MAME's monthly releases, so
installing from source
NOTE: installing from source requires a lot of RAM and CPU power, on Pi3 and lower end systems
could take more than a day. Use the binary release when available.
MAME Dat Files: ProgettoSnaps MAME .dat page has versions for each MAME release.
Controls
/opt/retropie/configs/mame-libretro/retroarch.cfg
/opt/retropie/configs/arcade/retroarch.cfg