MiSTer-devel / Arcade-MCR3_MiSTer

Arcade: Midway MCR3 based games
2 stars 7 forks source link

Disks Of Tron support for 2 Axis Spinner like GRS Spinner #15

Open DNCrosby opened 5 days ago

DNCrosby commented 5 days ago

I know this was asked before, but the issue seemed to devolve into a 2 spinner design, for 2 players, this to me is more of a 1 spinner being able to control height on the wall issue. Forgotten Worlds does this, even though it had a switch as part of the spinner. The GRS Spinner has what some consider a secondary axis, for scroll wheel and or also a left or right mouse button, that the spinner emulates via the USB connection. I have successfully mapped the spinner which doesn't work out of the box, by searching LSUSB for Bus 001 Device 003: ID 32be:1521 Baolian industry Co., Ltd. TS-DOT-02

Now I've seen other posts on this spinner and it seems that you can't just take my 1521 as LAW, and apply it to your spinner, you have to LSUSB the device and find out what the spinner's device ID is that you have, it's likely different with different revisions of the device... then go to the end of the Mister.ini, and add this to the end: spinner_vid=0x32BE spinner_pid=0x1521 #(Use your own code here) spinner_axis=0 spinner_throttle=600

Values of 400-600 seem to get me plausible results for Tron / DOT...

I wish I could specify an X, and Y axis, and then emulate height with the other axis, but I don't know how the device represents itself to the OS, I did a bit of investigation, and I went to /dev/ and typed in cat HidDevice0, and it showed hex symbols but only when spinning and not when pushing and pulling so I'm unsure how that's mapped... it did have a HidDevice1 but no output came from either the Xbox Joystick nor the spinner.

Thank you for bringing DOT to the MiSTer !

sorgelig commented 5 days ago

Spinner's VID and PID are always the same if model is the same. Spinner represent only one axis, that's why you have option to define it.

Some spinners integrate additional functions targeted to specific emulators. MiSTer cannot support all such variations. If you are talking about button-modifier which will switch between functions of spinner, then it's possible to implement on core level - it depends on specific core.