MAME - aceituning/retroace GitHub Wiki


mame


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.

See Also: FinalBurn-Alpha, Neo Geo


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.

All Arcade ROMS Compatibility List feel free to contribute to the list.

Emulator ROM Folder Extension Required ROM Set Version Controller Configuration
mame4all-pi arcade or mame-mame4all .zip MAME 0.37b5 /opt/retropie/configs/mame-mame4all/cfg/default.cfg
lr-mame2000 arcade or mame-libretro .zip MAME 0.37b5 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-mame4all/retroarch.cfg
lr-mame2003 arcade or mame-libretro .zip MAME 0.78 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-libretro/retroarch.cfg
lr-mame2003-plus arcade or mame-libretro .zip MAME 0.78-MAME 0.188 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-libretro/retroarch.cfg
lr-mame2010 arcade or mame-libretro .zip or .7z MAME 0.139 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-libretro/retroarch.cfg
lr-mame2015 arcade or mame-libretro .zip or .7z MAME 0.160 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-libretro/retroarch.cfg
lr-mame2016 arcade or mame-libretro .zip or .7z MAME 0.174 /opt/retropie/configs/arcade/retroarch.cfg, or /opt/retropie/configs/mame-libretro/retroarch.cfg
AdvanceMAME 0.94 arcade or mame-advmame .zip MAME 0.94 /opt/retropie/configs/mame-advmame/advmame-0.94.0.rc
AdvanceMAME 1.4 arcade or mame-advmame .zip MAME 0.106 /opt/retropie/configs/mame-advmame/advmame-1.4.rc
AdvanceMAME 3 arcade or mame-advmame .zip MAME 0.106 /opt/retropie/configs/mame-advmame/advmame.rc

Arcade ROM paths

Five of the available arcade ROM paths in RetroPie are shared directories which are used by more than one emulator: arcade, mame-libretro, mame-advmame, fba, and neogeo. In order to successfully load zipped ROM sets in these locations you must specify the arcade emulator version which matches your ROMs.

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

Visit the mame4all homepage on sourceforge

Roms Dir: /home/pi/RetroPie/roms/mame-mame4all
Binary Dir: /opt/retropie/emulators/mame4all
Config Dir: /opt/retropie/configs/mame-mame4all

MAME Version: 0.37b5 (July 2000)

Active Sets: 2241

  • BIOS: 1
  • CHDs: 0
  • Samples: 35

Based on the MAME4ALL-PI Compatibility list below:

  • 1126 Parent Roms
  • 1025 Clones Roms
  • 129 NeoGeo Roms (Parent+Clone)

MAME 0.37b5 DAT File: mame4all-037b5-RetroPie-260.dat

MAME 0.37b5 XML File: mame4all-no-clones-no-neogeo Does not include clones or NeoGeo romsets.

MAME4ALL-PI Compatibility List feel free to contribute to the list.

Controls

While in a game press Tab to open the menu to set up controls. The MAME4ALL tab menu configuration is stored in:

/opt/retropie/configs/mame-mame4all/cfg/default.cfg

Other files in this cfg directory are ROM specific configs.

Note: Should your input 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 you start MAME4ALL or modify the ROM configuration.


lr-mame2000 (MAME 2000)

Visit the mame2000-libretro homepage on github

Roms Dir: /home/pi/RetroPie/roms/mame-mame4all
Binary Dir: /opt/retropie/libretrocores/lr-imame4all
Config Dir: /opt/retropie/configs/mame-mame4all/retroarch.cfg

MAME Version: 0.37b5 (July 2000)

Active Sets: 2241

  • BIOS: 1
  • CHDs: 0
  • Samples: 35

MAME 0.37b5 DAT File: mame4all-037b5-RetroPie-260.zip

MAME 0.37b5 'Lite' DAT File: mame4all-no-clones-no-neogeo - Does not include clones or NeoGeo romsets.

lr-mame2000 Compatibility List feel free to contribute to the list.

Controls

lr-mame2000 utilises RetroArch control configuration. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/lr-mame2000/retroarch.cfg

lr-mame2003 (MAME 2003)

Visit the mame2003-libretro homepage on github

Please see lr-mame2003 on RetroPie for information on how to configure specific features of this emulator.

Roms Dir: /home/pi/RetroPie/roms/mame-libretro
Samples Dir: /home/pi/RetroPie/BIOS/mame2003/samples/
Binary Dir: /opt/retropie/libretrocores/lr-mame2003
Config Dir: /opt/retropie/configs/mame-libretro/retroarch.cfg

MAME Version: 0.78 (December 2003)

Active Sets: 4705

  • BIOS: 15
  • CHDs: 30
  • Samples: 56

MAME 0.78 XML DAT File: MAME 0.78.dat

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/lightgun controls, or romsets classified as casino/quiz/mahjong/fruit_machines/rhythm/mature.

lr-mame2003 Compatibility List feel free to contribute to the list.

The mame2003 catver.ini also contains data on games definitively known not to work, as well as sorting data for pornographic games and other less desirable romsets.

Controls

lr-mame2003 utilises RetroArch control configurations. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/mame-libretro/retroarch.cfg

lr-mame2003-plus (MAME 2003-Plus)

Visit mame2003-plus on github

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 backported 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.

Roms Dir: /home/pi/RetroPie/roms/mame-libretro
Samples Dir: /home/pi/RetroPie/BIOS/mame2003-plus/samples/
Binary Dir: /opt/retropie/libretrocores/lr-mame2003-plus
Config Dir: /opt/retropie/configs/mame-libretro/retroarch.cfg

MAME Version: 0.78-0.188 (MAME 0.78 as a baseline with other ROMs backported from later MAME romsets)

Active Sets: 4850

  • BIOS: 15
  • CHDs: 30
  • Samples: 66 + 6 Optional "Soundtrack Samples"

MAME 2003-Plus XML DAT File

The mame2003-plus catver.ini also contains data on games definitively known not to work, as well as sorting data for pornographic games and other less desirable romsets.

Controls

lr-mame2003-plus utilises RetroArch control configurations. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/mame-libretro/retroarch.cfg

lr-mame2010 (MAME 2010)

Visit mame2010-libretro on github

Roms Dir: /home/pi/RetroPie/roms/mame-libretro
Samples Dir: /home/pi/RetroPie/BIOS/mame2010/samples
Binary Dir: /opt/retropie/libretrocores/lr-mame2010
Config Dir: /opt/retropie/configs/mame-libretro/retroarch.cfg

MAME Version: 0.139 (August 2010)

Active Sets: 8782

  • BIOS: 67
  • CHDs: 406
  • Samples: 70 (4 more samples are not in circulation)

MAME 0.139 DAT File: MAME 0.139.dat

lr-mame2010 Compatibility List feel free to contribute to the list.

Controls

lr-mame2010 utilises RetroArch control configurations. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/mame-libretro/retroarch.cfg

Default Player 1 and 2 Controls:

RETRO_DEVICE_ID_JOYPAD_START        MAME: KEY_START
RETRO_DEVICE_ID_JOYPAD_SELECT       MAME: KEY_COIN
RETRO_DEVICE_ID_JOYPAD_A            MAME: KEY_BUTTON_1
RETRO_DEVICE_ID_JOYPAD_B            MAME: KEY_BUTTON_2
RETRO_DEVICE_ID_JOYPAD_X            MAME: KEY_BUTTON_3
RETRO_DEVICE_ID_JOYPAD_Y            MAME: KEY_BUTTON_4
RETRO_DEVICE_ID_JOYPAD_L            MAME: KEY_BUTTON_5
RETRO_DEVICE_ID_JOYPAD_R            MAME: KEY_BUTTON_6
RETRO_DEVICE_ID_JOYPAD_L2           MAME: KEY_BUTTON_7
RETRO_DEVICE_ID_JOYPAD_UP           MAME: KEY_JOYSTICK_U
RETRO_DEVICE_ID_JOYPAD_DOWN         MAME: KEY_JOYSTICK_D
RETRO_DEVICE_ID_JOYPAD_LEFT         MAME: KEY_JOYSTICK_L
RETRO_DEVICE_ID_JOYPAD_RIGHT        MAME: KEY_JOYSTICK_R
RETRO_DEVICE_ID_JOYPAD_R2           Turbo Button

Default Player 3 and 4 Controls:

RETRO_DEVICE_ID_JOYPAD_START        MAME: KEY_START
RETRO_DEVICE_ID_JOYPAD_SELECT       MAME: KEY_COIN
RETRO_DEVICE_ID_JOYPAD_A            MAME: KEY_BUTTON_1
RETRO_DEVICE_ID_JOYPAD_B            MAME: KEY_BUTTON_2
RETRO_DEVICE_ID_JOYPAD_X            MAME: KEY_BUTTON_3
RETRO_DEVICE_ID_JOYPAD_UP           MAME: KEY_JOYSTICK_U
RETRO_DEVICE_ID_JOYPAD_DOWN         MAME: KEY_JOYSTICK_D
RETRO_DEVICE_ID_JOYPAD_LEFT         MAME: KEY_JOYSTICK_L
RETRO_DEVICE_ID_JOYPAD_RIGHT        MAME: KEY_JOYSTICK_R
RETRO_DEVICE_ID_JOYPAD_R2           Turbo Button

Native MAME UI Controls:

Note: these controls are only operational for Player 1

RETRO_DEVICE_ID_JOYPAD_L3           Test/Service Mode
    RETRO_DEVICE_ID_JOYPAD_R3           Enter MAME UI
RETRO_DEVICE_ID_JOYPAD_A            MAME: IPT_UI_SELECT (Make selections in the MAME GUI)

lr-mame2015 (MAME 2015)

Visit mame2015-libretro on github Note: This emulator is considered 'optional' 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 rPi hardware.

Roms Dir: /home/pi/RetroPie/roms/mame-libretro
Binary Dir: /opt/retropie/libretrocores/lr-mame2015
Config Dir: /opt/retropie/configs/mame-libretro/retroarch.cfg

MAME Version: 0.160

Active Sets: ??

  • BIOS: ??
  • CHDs: ??
  • Samples: ?? (4 more samples are not in circulation)

MAME 0.160 DAT File: Coming soon

Controls

lr-mame2015 utilises RetroArch control configurations. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/mame-libretro/retroarch.cfg


lr-mame2016 (MAME 2016)

Visit mame2016-libretro on github 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 rPi hardware.

Roms Dir: /home/pi/RetroPie/roms/mame-libretro
Binary Dir: /opt/retropie/libretrocores/lr-mame2016
Config Dir: /opt/retropie/configs/mame-libretro/retroarch.cfg

MAME Version: 0.174

Active Sets: ??

  • BIOS: ??
  • CHDs: ??
  • Samples: ?? (4 more samples are not in circulation)

MAME 0.174 DAT File: Coming soon

lr-mame2016 Compatibility List: Coming soon

Controls

lr-mame2016 utilises RetroArch control configurations. Add custom retroarch controls to the retroarch.cfg file in:

/opt/retropie/configs/mame-libretro/retroarch.cfg

AdvanceMAME 0.94

Visit the AdvanceMAME homepage on sourceforge

Roms Dir: /home/pi/RetroPie/roms/mame-advmame
Binary Dir: /opt/retropie/emulators/advmame/bin
Config Dir: /opt/retropie/configs/mame-advmame

MAME Version: MAME 0.94 (March 2005)

Active Sets: 5563

  • BIOS: 25
  • CHDs: ?
  • Samples: ?

AdvanceMAME 0.94 DAT File: advmame-0.94-RetroPie-260.7z

AdvanceMAME 0.94 Compatibility List feel free to contribute to the list.

Controls

While in a game press Tab to open the menu to set up controls. AdvanceMAME configuration for controls are all stored in the .rc file corresponding to the version of AdvanceMAME you are running. 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 MAME from launching. It is always best to make a backup of the .rc file before manual edits.


AdvanceMAME 1.4

Visit the AdvanceMAME homepage on sourceforge

Roms Dir: /home/pi/RetroPie/roms/mame-advmame
Binary Dir: /opt/retropie/emulators/advmame/bin
Config Dir: /opt/retropie/configs/mame-advmame

MAME Version: MAME 0.106 (May 2006)

Active Sets: 6166

  • BIOS: 26
  • CHDs: 86
  • Samples: 64 (3 more samples are not in circulation)

AdvanceMAME 1.4 DAT File: advmame12-106.7z

AdvanceMAME 1.4 Compatibility List feel free to contribute to the list.

Controls

While in a game press Tab to open the menu to set up controls. AdvanceMAME configuration for controls are all stored in the .rc file corresponding to the version of AdvanceMAME you are running. 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 MAME from launching. It is always best to make a backup of the .rc file before manual edits.


AdvanceMAME 3

Visit the AdvanceMAME homepage on sourceforge

Roms Dir: /home/pi/RetroPie/roms/mame-advmame
Binary Dir: /opt/retropie/emulators/advmame/bin
Config Dir: /opt/retropie/configs/mame-advmame

MAME Version: MAME 0.106 (May 2006)

Active Sets: 6166

  • BIOS: 26
  • CHDs: 86
  • Samples: 64 (3 more samples are not in circulation)

AdvanceMAME 3 DAT File: same as AdvanceMAME 1.4 -- see above

AdvanceMAME 3 Compatibility List: same as AdvanceMAME 1.4 -- see above

Controls

While in a game press Tab to open the menu to set up controls. AdvanceMAME configuration for controls are all stored in the .rc file corresponding to the version of AdvanceMAME you are running. 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 MAME from launching. It is always best to make a backup of the .rc file before manual edits.