Ctrlr ini files. Once set up, they should work on newer versions of mame, too (unlike the TAB cfg/cfg files sometimes aren't.) Copy & paste text, copy and rename files, controller specific ini files, parent ini file also changes all clones, driver file ini changes all games in the driver.
docs/ctrlr.txt that comes with mame &
easyemu give pretty good help. If you have any questions, ask away.
I read that link several times and I think I got it. In mame how do you switch between the control ini without effecting your default? Can you do it on the fly?
Try the docs/ctrlr.txt file too; it goes a little more into non-default.ini stuff than the easyemu page. (And will make more sense after you get the easyemu page.)
You ctrlr ini files can be:
- general (default.ini),
- game specific (example: wecleman.ini for WEC Le Mans {look near the bottom of the easyemu page}),
- cover parent & it's clones (example: puckman.ini also applies to pacmod since pacmod is a clone of puckman),
- driver specific (example: neogeo.ini applies to all games in the neogeo driver, ie all neogeo games), or
- input specific (example: mouse.ini, but you have to set this in default.ini, covered in dos/ctrlr.ini but not clearly).
- SirPoonga's hacks add number of player specific ctrlr ini files, too.
As for "on the fly", you have to edit the ctrlr ini files outside of mame, and tell mame to use ctrlr ini files when you start mame. Using ctrlr ini does not change the cfg/default.cfg file, so if you start mame the next time without the ctrlr ini files, mame will show what it showed before you used ctrlr ini files.
I hope that addresses your questions, but I didn't go into much depth.