Wrote up a bunch of perl scripts to automate joymap creation for mame. Badly needed for my own usage as the controls.dat project I was using is very out of date.
Useful as well for using programs like rotator from ledspicer or any other joystick mode selector software you may use.
You obviously need perl installed to use as well as the perl XML::LibXML package.
I use these on linux but they should work fine on windows as well.
- parse_mamexml.pl - Takes the mame.xml file you either generate using -listxml or download and parses it to create a joymodes file with the correct joystick mode for each rom.
- joymap.pl - Uses the ini generated above (plus an overrides file if desired) to generate and output a proper joymap entry for mame.
- rotator.pl - Using the same ini and override file, this automates the usage of rotator from the LEDSpicer project to select modes per game rom. Easily modified for any other rotation or control program.
I have also made a patch for mame to use 7x7 maps instead of the regular 9x9. This allows 49 way joystick users (with an output device like the GPWiz-49 set to Progressive49 mode) to make and use maps that correctly match their joystick output. Without this patch the default 9x9 maps don't line up properly with a 7x7 output device.
https://github.com/markalston/set49mode