By default Retroarch has a limited MAME support, particularly for software lists that supports loading carts only by default, basically limiting us to cart consoles (I eventually understood this from https://www.libretro.com/index.php/mamemessume-cores/). To use it you need to specify the full rompath in each call. I didn't like either of those things, I wanted to be able to use full MAME from RetroArch: to make calls from Retroarch to MAME just as if I were calling MAME directly. Which you CAN DO like so, so these steps are required to use the MAME functionality in QuickPlay with RetroArch's MAME emulator (and it has to be the straight MAME emulator, not MAME2003 etc)
- go into your RetroArch root folder. Open up or make retroarch-core-options.cfg. You need to change/set these 4 things, as they are not the defaults (everything else is fine at default):
mame_read_config = "enabled" mame_saves = "game" mame_boot_to_osd = "enabled" mame_boot_from_cli = "enabled"
- Once you've enabled those settings and saved the config, if you don't have one already, create yourself a mame.ini file using RetroArch. Open a command-line window in RetroArches root directory and enter:
retroarch_debug.exe -L cores\mame_libretro.dll " -createconfig"
- That will make a mame.ini in that folder, move it to RetroArchs folder: system\mame\ini ie so in your RetroArch root folder you now have a system\mame\ini\mame.ini. (retroarch will now read this,
but overrides some of the settings in the ini, like read_config, with the settings in its retroarch-core-options.cfg)
- Put the path to your mame roms in that ini file, so in my case i went
rompath "F:\MAME\ROMS"
(your software list roms should be in that path). Setup additional stuff as you like
- Now retroarch knows where your games are, you can send MAME arguments as you would do with MAME natively, and you can access the MAME menu when you're playing games. Which means you can play all emulators
and load all softlists