Where are MAME menu settings located?

When you go into the MAME menu and set things like button assignments then exit those settings are autosaved, somewhere. I looked everywhere for them but could not find. I looked in the system folder, the ROM folder, the MAME folder, cfg etc, no luck. I found the big MAME.cfg, and the small cfg files named after ROM (zaxxon.cfg etc.). In the small files named after ROM all that was there was screen rotation parameters, no button remaps.

Where the hell are they? It is driving me nuts and I looked everywhere. I want to back them up in case of crashes or in case I screw something up.

They go in your save folder/mame/cfg. The main config should be called default.cfg. Not sure why you aren’t seeing button assignments in the per game named .cfgs, unless you’re looking at games you didn’t change inputs for. Here’s an example of my mslug.cfg, which I changed some inputs for:

<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="mslug">
        <input>
            <port tag=":edge:joy:JOY1" type="P1_BUTTON1" mask="16" defvalue="16">
                <newseq type="standard">
                    JOYCODE_1_BUTTON4 OR KEYCODE_X
                </newseq>
            </port>
            <port tag=":edge:joy:JOY1" type="P1_BUTTON2" mask="32" defvalue="32">
                <newseq type="standard">
                    JOYCODE_1_BUTTON2 OR KEYCODE_Z
                </newseq>
            </port>
            <port tag=":edge:joy:JOY1" type="P1_BUTTON3" mask="64" defvalue="64">
                <newseq type="standard">
                    JOYCODE_1_BUTTON3 OR KEYCODE_C
                </newseq>
            </port>
            <port tag=":edge:joy:JOY1" type="P1_BUTTON4" mask="128" defvalue="128">
                <newseq type="standard">
                    JOYCODE_1_BUTTON1 OR KEYCODE_V
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>

Unless you’re using an older MAME core and it uses a different config setup. I haven’t used the really old ones to know if they do.

I found some files where you pointed out. They don’t appear to be in human readable form, just text"mamecfg" followed by a bunch of gibberish.

There are also some files in a directory where the ROMS are with the similar format. Then again in retroarch/config/mame but those only have video rotate data (0000 video_rotation=“3”) and nothing else. I am not sure why stuff is in different spots and what does what though.

The retroarch/config/mame ones would be overrides you setup in RetroArch’s interface. Those are specific to RetroArch as a frontend. The ones in your ROM folder are probably just old copies of the MAME core settings from an older version of RetroArch that used the content folder as the save folder. The latest version uses the save folder by default and you have to change a setting if you want to use the content folder.

So on the Vita MAME 2000 is broken, I can’t access the MAME menu to set controls, dip switches etc (It seems the 2000 core is neglected in favor of 2003, but the issue is 2003 runs slower). So I had this (not so) brilliant idea of setting the controls etc in MAME 2003, then copying those config files to somewhere where 2000 would read them. Foiled again! it didn’t work. Is there some special place those config files for 2000 go? There was a MAME 2003 folder with config files but no 2000 folder. I just created a 2000 folder manually in the same spot named the same way but 2000 instead of 2003 and put the configs in there but no luck. Any ideas?