Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Auto joymap generation plus 49way patch for mame.  (Read 1498 times)

0 Members and 1 Guest are viewing this topic.

beernut

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 49
  • Last login:December 10, 2023, 07:13:46 pm
Auto joymap generation plus 49way patch for mame.
« on: March 13, 2021, 12:33:27 pm »
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