MAME 2014 config directory?


Hello all. MAME reads my controller’s d-pad upside down for some reason, so I fixed the input mappings in the tab menu (I’m using MAME 2014, but this happens with the git version as well). However, none of my settings are ever saved, so I have to change the input for every game I play, every time. I’ve tried creating the /mame/cfg/default.cfg path and file in my save and system directories, and I’ve tried calling the first folder mame 2014, but the file is never written to. I’ve looked around, but I couldn’t find any solutions that worked. Is there something specific I need to do for MAME to write its config to file, or has the config path changed to somewhere different?

Here’s a log from a new copy of the latest nightly. I don’t think there’s anything useful in it, but it can’t hurt. The dpad issue isn’t present in this version, so it might be some weird artifact of past reconfigurations, but I’d still like to be able to configure my MAME library. log.txt (17.1 KB)

So if you can configure MAME…mind telling me where your default.cfg, etc. folder is? Thanks.

[Request for Approval] Create doc page for MAME 2014 core

all the mame folders( at least for mame2014_libretro) is under <retroarch_folder>/saves/mame2014, create the necessary mame-related folders

RetroArch [libretro DEBUG] :: -cfg_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\cfg RetroArch [libretro DEBUG] :: -nvram_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014 vram RetroArch [libretro DEBUG] :: -hiscore_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\hi RetroArch [libretro DEBUG] :: -input_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\input RetroArch [libretro DEBUG] :: -state_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\states RetroArch [libretro DEBUG] :: -snapshot_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\snaps RetroArch [libretro DEBUG] :: -diff_directory RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\saves\mame2014\diff RetroArch [libretro DEBUG] :: -samplepath RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\system\mame2014\samples RetroArch [libretro DEBUG] :: -artpath RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\system\mame2014\artwork RetroArch [libretro DEBUG] :: -cheatpath RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\system\mame2014\cheat RetroArch [libretro DEBUG] :: -inipath RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\system\mame2014\ini RetroArch [libretro DEBUG] :: -hashpath RetroArch [libretro DEBUG] :: G:\EMULATORS\RetroArch\system\mame2014\hash


I tried making those folders, but still no dice. I tried saving a state as a test after input changes didn’t stick, and it won’t even do that (Error: Failed to open file for save operation). Is there a way to see what files the core is trying to access? I can’t find anything useful in the logs.


mine saved, default.cfg and per-game cfg including key config. let mame do the saving and modifying of the cfg


I got it! Sorting savefiles is what broke it. The option “sort_savefiles_enable” must be false, otherwise a “MAME 2014” (note the space) folder gets created (not populated, however). The clues were all there, I should have known. I like to keep my saves and states organized, so I just made an override file (config/mame 2014/mame 2014.cfg) to disable the option for MAME specifically.

That was like a solid hour of changing options one at a time and testing…I think I need to lie down.


[QUOTE=Mr. Figs;51010]I got it! Sorting savefiles is what broke it. The option “sort_savefiles_enable” must be false, otherwise a “MAME 2014” (note the space) folder gets created (not populated, however). The clues were all there, I should have known. I like to keep my saves and states organized, so I just made an override file (config/mame 2014/mame 2014.cfg) to disable the option for MAME specifically.

That was like a solid hour of changing options one at a time and testing…I think I need to lie down.[/QUOTE]

was starting to wonder why too, was thinking you were using defaults config


I’m having these same issue, and MAME2014 is the one I use since MAME (latest) doesn’t work for me for for reason.

When people solve their own issue (the custom config mentioned), people are going to google this topic when they have the same issue, so it’s good to post what you did so others can know.

I made the folders mentioned, anyways I’m looking for save states to work, and if possible a way to disable having L3 make the diagnostic menu open. Since opening that menu on accident means you have to restart the game, combined with no save states, this can be a hassle in longer arcade games. Also would be nice if disabling L2 opening the other menu was possible, but I’ve read it’s hardcoded into retroarch’s MAME.

If anybody can help with any of these (saves working, disabling L3 especially and also L2’s menu button binds), that would be awesome! Thanks


I’m pretty sure that you can rebind L3, maybe L2 as well, from the blue MAME menu. The distinction between keyboard and controller becomes confusing though. If you have savestates/configs/etc working, should just mean a little experimentation.

You can also edit the configs with a text editor I think. I’ve been out of the MAME game for a while.


I don’t have savestates or configs working for MAME 2014 in Retroarch as far as I know. Those work for all the other cores, but MAME seems to do it’s own thing, it has a different little input menu which appears onscreen when in it’s game, and when I try to save a state (in MAME its shift+F7 then pushing another key, the F2 retroarch way isn’t supported in MAME2014), it says it failed the save operation.

Changing the config in MAME doesn’t seem to save, have to redo it when you re-enter the game, and neither the L3 or L2 button thing seem to have a way to be disabled in that MAME input menu. I don’t see the bind for the L3 thing.

Not seeing a blue mame input menu either. I have L3+R3 bound to bring up the blue retroarch menu, but the quick menu doesn’t include any input options for this core. There are a few general options, one of whic his enabling “read configuration”, haven’t done that yet. Googling looks like that will allow a mame ini of some sort to be created, maybe that would let mame keep the input changes. But even so, I don’t know of the way to disable the L3 mame thing etc.


Also, could you let me know how to do that override file thing you mentioned, if you recall? Thanks.


MAME is weird because it manages its saves, states, settings, etc in a single folder, and without using the RetroArch UI. If you have sort_savefiles_enable = "true" in your retroarch.cfg, RA will try to route everything to a folder called MAME 2014, but the folder will stay empty. If you set the option to false, you should see a mame2014 folder populated in your saves or system folder. Once you get this right, you should be able to use the MAME menu (brought up by tab or L2)—not the RetroArch menu (brought up by F1)—and have your changes save.

If memory serves, RA binds L3 on your gamepad to a keyboard key, which MAME picks up. Just look for “reset machine” or something in the MAME menu and unbind it. If you mess up your bindings and can’t fix them (easy to do), delete the MAME settings file in the mame2014 folder.

If you want to keep your saves organized in your other cores, you can use an override file to only change the setting for MAME. In your config directory, make a folder called mame 2014, and within it, a file called mame 2014.cfg. In that file, just put the single line of config you want changed: sort_savefiles_enable = "false". That way, you can keep the option true in retroarch.cfg so that it only affects MAME 2014. That goes for all other cores and options too, fyi.

Just to reiterate: the arcade games MAME emulates are too varied and diverse to be easily managed with RetroArch’s UI. That’s why we still use the MAME menu; reconfiguring your controls for every weird arcade game to fit your weird fightstick or whatever would be a real pain with RA’s rebinding menu. RA also can’t accommodate the resolution, etc options MAME has for each game. And so on. Maybe someday there will be a better solution, but until then, we have two menus, both blue by default.


Much thanks for the info there! Just checked, oddly enough my retroarch.cfg was already at sort_savefiles_enable = false, even though I hadn’t changed that before. But for some reason save states still don’t work, shift+F7 then it prompts me to hit any key, I try various keys like 9 or , it says it failed creating the save file.

The L3 thing isn’t the F3 reset thing, it opens up a test menu that only allows me to exit which restarts the game or mess with other settibngs. I think it might be the thing ib mame other options called “service” which is bound to F2, just a guess, but pressing F2 (the save key in retroarch) just says this core doesn’t support saves. It’s not bound to L3 in the mame menu so I’m guessing retroarch is doing this automatically. Its not in all games, but is in some like Punisher and AvP (Capcom), not in Double Dragon, of the three games I just tested.


That’s right, I forgot that L3 restarts the machine into service mode. Once you sort out MAME saving things to disk, you can re/unbind service and you’ll be good to go. But since something is still wrong with MAME saving, and it’s apparently not the same problem that I had, you’ll have to do the troubleshooting by hand. I have a few tips, but you might need to just try stuff until it works. The standard procedure is to download the latest nightly build of RA, then put it in a folder that is not write protected—not Program Files. Don’t change the default config. If you still can’t save, look in your save and system folders. There might be a folder created by MAME; if it is called mame2014 (no space), then the correct folder is being made (normally, it should have some stuff in it). If you have a folder called MAME 2014, that means you have my problem somehow, where RA takes control of MAME’s saving and messes everything up (this folder will probably be empty). If you have no MAME folders whatsoever, you might be in a write-protected directory (maybe try running RA as administrator?). The next step after this, if you don’t get a good lead, is to change settings in the config file until things work. Usually you do this when you change a setting, but maybe there’s a bad default that the rest of us all changed and you didn’t (maybe???). Also try to experiment with the MAME core options (there are a few, might make a difference).

Hope this helps you find something interesting! MAME on Retroarch is kind of a mess, but if it works for us, I’m sure you can fix your setup too.