aha2940 wrote on 2021-08-19, 21:41:
Shreddoc wrote on 2021-08-19, 21:06:
It would still be very interesting to come up with a solution if possible. After all, at heart we are only talking about a simple reading and translation of inputs. Easier said-than-done but still, it seems hardly "brain surgery", within the realms of computer science!
It's not really that simple the signal conversion. Analog joysticks are simple, however AFAIK, these digital gamepads do not use simple signals, but a complete communications protocol that would require at least an FPGA (or something similar) to decode and translate into analog signals. The best I can think of to understand them is the Linux joystick library, which s opensource and supports this gamepad perfectly well.
I doubt that a dedicated hardware device is necessary, at least for rudimentary operation. With my USB-adaptered revision of the Xterminator pad, I can (with Bret Johnson's software) literally already do what the OP wants to do - natively, in DOS*.
I suspect B.J.'s DOS software (source available) already does much of the heavy lifting vis-a-vis translation of the digital protocols to analog which you speak of. In large part, that is exactly what USBJSTIK.COM exists to do: read the digital inputs from post-analog sticks, and map them to analog joystick functions, natively in DOS.
The attachment grav_xt_dosusb_1.jpg is no longer available
The attachment grav_xt_dosusb_2.jpg is no longer available
The attachment grav_xt_dosusb_3.jpg is no longer available
As per the above ph0tos which I just took for our purposes here, I can confirm that the USB revision of the pad does respond to the software, so chunks of Bret's code are likely going to be highly valid. We "merely" need to be reading our Inputs from the gameport, rather than USB (a change which itself ?may? introduce new limitations - idk).
But the Translate and Output modules literally already exist as DOS TSR source code, and it's conceptually fairly simple to bolt on a Get_Inputs_From_Gameport module.
*The other potential variable is the protocol difference, if any, between the two revisions of Xterminator - which perhaps we can test, given that I seem to have the New revision here, and the OP may have the Old revision...
Supporter of PicoGUS, PicoMEM, mt32-pi, WavetablePi, Throttle Blaster, Voltage Blaster, GBS-Control, GP2040-CE, RetroNAS.