I was previously changing mappings using the tab menu, so I need to get rid of my default.cfg in my cfg folder and add that 'default' info to my ctrlr.cfg file. This default entry in my ctrlr file needs to come before any of my neogeo type entries which will only need to contain the keycodes that are different from the default (like the code I posted). Correct?
Do I need to get rid of the game specific cfg's in the cfg folder for this to work??
Somewhat related, can I still edit my mappings on a per game basis using the tab menu > Input (this game)??
All cfg files, default.cfg and game specific, override ctrlr files (one exception*), so yes, you'll have to move the default.cfg data into the ctrlr file if you want to neogeo with ctrlr file. (Which IMO is way easier than setting 50 game specific cfg files with same mapping.) OTOH, game specific cfg files override any prior mapping, ctrlr file & default.cfg included, and there's nothing wrong with that. One of the main reasons the game specific cfg files is to hold non-default mapping, and they are editted through the tab menu > Input (this game).
IMO, the best way to make ctrlr file is through using the default.cfg via tab > Input (general). The idea is to start with overall default mapping, move the system to ctrlr file, then repeat for the source file level and then parent level (and then maybe game level). By copying the default.cfg to the ctrlr (and renaming as needed) as you go along makes sure only the differences are in the ctrlr file. Details:
- Delete (or backup) all files in the cfg folder
- Start a game in mame and enter tab menu > Input (general)
- Make all default input changes
- Exit mame
- Move cfg/default.cfg to ctrlr folder. Rename to whatever you want.
- Set up mame to use that ctrlr file
- Start a game in mame and enter tab menu > Input (general)
- Make any needed input changes for a desired source file grouped set of games (eg: neogeo)
- Exit mame
- Move or copy the <system..> ... </system> from the default.cfg file into near the end of the ctrlr file, just before the "</mameconfig>"
- Rename the system name to the sourcefile driver name in the section you just moved to the ctrlr file. For example, for the neogeo system, change it to "<system name="neogeo">"
- Delete the cfg/default.cfg
- Repeat the last six steps above for each sourcefile set. Continue putting the changes at the end of the ctrlr file, and naming to the sourcefile set.
- Repeat for each parent set. Continue putting the changes at the end of the ctrlr file, and naming to the parent name.
- (Optional) repeat for specific games, again putting at the end of the ctrlr file and renaming.
- (Optional) if you didn't ctrlr-ize the specific games and backed up the old cfg game specific cfg files, move the old cfg files back to the cfg folder.
Notes:
- If you don't do in the specific order as above (example, a new sourcefile set comes along you want to add to the ctrlr file), make sre the default system remains first, the sourcefile groups before any parents within that sourcefile group, and all parents before any of its clones.
- You can keep the order a couple ways (or mix and match them as wanted):
As described in instructions above:
default
source group AAA
source group BBB
source group CCC
parent AAA111
parent AAA222
parent CCC111
game specific zzz
game specific AAA111xxx
game specific AAA111yyy
or:
Grouped by clones, parents, and sourcefile groups
default
game specific zzz
source group AAA
parent AAA111
game specific AAA111xxx
game specific AAA111yyy
parent AAA222
source group BBB
source group CCC
parent CCC111
Tabs are just to graphically show the different levels. The latter is a little easier to read, as it keeps the clones near the parents, and the parents near the source. The reason to keep the ctrlr file either way is to make it easier to keep the correct order so all games stay mapped as you want.
- *(the exception noted above) If an input is code mapped to a non-default input in the source code, you must remap the input back to, literally, "default" so the ctrlr file mapping work for that input on that game. To set it "default", start that game, tab, Input (this game), and go to the input (it will be highlighted to show it's non-default. Press enter, esc, (wait till mame says None), enter, esc. When you move off the input, it should not be hightlighted anymore and show as the ctrlr file mapped. Example, the rotary left & right in Ikari and related games are source coded mapped to non-default inputs.
- Which is better for game specific mapping, ctrlr or cfg files? IMO, it's a wash. Cfg files are a little quicker to do, and are pretty good at being cross versions. Ctrlr files are a set once and forget, are a little better at being cross version compatable, and are not editted each time mame starts.
Hmmm, am I missing anything?
