I have scoured the boards and found much useful info about the Happ Optical Rotary joysticks.
[snip] ... someone had theirs hooked up completely to their ipac encoder (4 directionals, rotate-CW and rotate-CCW) and it was "working fine"... is this a misprint or does that actually work, and if so would the base-level build of MAME recognize it that way, and for both P1 and P2? seems like it would be a much more elegant arrangement - can anyone tell me if they are actually using these joys set up this way in their cab?
Oh boy, "elegant"!?! More like "elephant", on the number of translations the input data will go through.
First, you have an optical rotary. For it to be hooked to the ipac, you need an extra board that translates the "
quaditure signals" to left - right signals.
Next, this left - right will be digital, ie: there will be no "how much left" / "how much right", or "how fast left" / "how fast right".
Then comes the fact that mame is using the "dial" type as the input. Mame is expecting a mouse or other analog input signal. Any digital signal mame gets for analog type inputs, mame simulates analog data.
However, the original rotary was (in most rotary games) a mechanical, 12-way, rotary. That means mame translates the analog data (
simulated analog in the "elegant" left - right digital input) to the 12 values the game expects.
So, for your "elegant" way, you need three translations (raw mouse to digital, digital to analog, analog to 12-way), two more than the straighter dial/mouse input through the optipac you are trying to avoid. And in the extra translations, you lose how fast the stick is rotated, so in the games you spin at one speed.
FWIW, official mame can remap mouse axes: for rotary joystick games, that means mouse X axis for player 1, mouse Y axis for player 2.
Of course the "most elegant" would be an original controller input direct to the game with zero translations. (A MameAnalog+[Zero] coming out tonight that can do this.)