As I finished typing up this long-winded reply, DarthMarino posted what looks like the easy answer.
I'm posting this anyways because someone might find the script idea useful for playing single-switch shifter games on a
progressive sequential shifter setup.
-------------------------
The stickied driving cab thread has some related info.
There is an issue with the way shifter input is handled in MAME.
A lot of the original arcade Hi/Lo shifters had only one switch that was held closed while in high gear.
The game would just default to Lo if that swich wasn't closed. For the sake of testing and ease
of use by the majority of people, MAME developers chose to make the shifter a toggle so the
button/key wouldn't have to be held down while trying to work all the other controls.
This causes problems when using the original controls. Most people end up adding a second switch to the
shifter and mapping the single toggle button in MAME to both the Hi and Lo switches in their shifter.
This works, but the shifter easily becomes out of sync (backwards)....very confusing for guests.
Dmod made a diff patch for MAME .127 that may work on other versions.
(You'll have to compile MAME yourself to install the patch)
There are some builds in this thread with Dmod's shifter fix applied:
http://forum.arcadecontrols.com/index.php/topic,134889.0.html
ShifterMAME and RacerMAME are other options - see below.
As of MAME v.151, the shifter toggle can be disabled in the game's individual cfg file!
More info here:http://forum.arcadecontrols.com/index.php/topic,135345.msg1397466.html#msg1397466
Shiftermame - minwah did a custom MAME build specifically for driving games based on v.125.
This build addresses shifter issues related to older games with Hi/Lo shifters.
Keep in mind v.125 might not include support for some popular games of the 90's.
RacerMAME - Similar to Shiftermame. Based on v.106 and
makes games compatible with any shifter. The author's shifter utility also allows sequential
shifters to be used with Sega Model 2 emulator.
Newer version based on MAME v.160 with groovymame patches now available!!
Just spitballing here, but maybe there's a way to combine disabling the shifter toggle in the game's individual cfg file with a LUA or AHK script that does two things:
1. Outputs a software button press or release of "space bar" to control the shifter in MAME, based on a shifter-controlled encoder button press/release like "N" that MAME doesn't use.
- The software button press keystroke
must be different than the button press sent by the encoder so the script's "space bar" is controlling MAME, not the encoder's "N" output.
- When "N" changes state, toggle the "space bar" state.
- By isolating the encoder output state from MAME control state, you can control both "active high" and "active low" games.
2. Compare the MAME output that controls the on-screen shifter position artwork (i.e. what MAME *thinks* is the position of the shifter) to the encoder "N" button press/release state (i.e. the actual position of the shifter) and re-sync them when needed by toggling the "space bar" state.
This type of script could also adapt
progressive sequential shifters for single switch shifter games.
Scott