[Request] Additional Sidewinder Device(s)

Discussion of development and patch submission.
Post Reply
shermanp
Posts: 175
Joined: Sat 18 Feb, 2017 2:09 am

[Request] Additional Sidewinder Device(s)

Post by shermanp »

Hi all

I was wondering if anybody would be interested in adding support for MS Sidewinder joysticks such as 3D Pro and/or Precision Pro. PCem already supports the SW gamepad, and from the limited reading I've done (skimmed the Linux driver and Patent US5628686) the protocol is the same or similar for all the Sidewinder devices, so it may be possible to use the existing SW game pad code as a starting point.

Why would this be nice? Because currently PCem does not emulate any joystick with 4-axis and 5+ buttons. The SW 3D Pro and Precision Pro are both 4-Axis 9 button joysticks. I also remember them having really nice Win 9x drivers with game profiles etc.

As an aside, I picked up a Precision Pro from the 'op-shop' (thrift store) the other day, which made me very happy, as I used to own one in my younger days before it broke. Sure, I also have a Logitech Extreme 3D Pro, but I don't find it as comfortable as the SW PP, and it seems to have a larger throw than the PP as well.

Cheers,
Sherman
User avatar
leilei
Posts: 1039
Joined: Fri 25 Apr, 2014 4:47 pm

Re: [Request] Additional Sidewinder Device(s)

Post by leilei »

More joysticks in general would be interesting, though only a few resemble the common DS3/X360 pad. Closest I can think that does in the emulated period is the SV262 and that's not a sidewinder so it's O/T :(.
shermanp
Posts: 175
Joined: Sat 18 Feb, 2017 2:09 am

Re: [Request] Additional Sidewinder Device(s)

Post by shermanp »

leilei wrote: Thu 26 Apr, 2018 11:57 am More joysticks in general would be interesting, though only a few resemble the common DS3/X360 pad. Closest I can think that does in the emulated period is the SV262 and that's not a sidewinder so it's O/T :(.
Yeah, not really after a something that can emulate a modern gamepad. More just wanting to use joysticks that have X, Y, RZ (twist) and throttle axis, and plenty of buttons.
shermanp
Posts: 175
Joined: Sat 18 Feb, 2017 2:09 am

Re: [Request] Additional Sidewinder Device(s)

Post by shermanp »

I've been doing some more reading, and it looks like the Precision Pro is likely the easiest candidate to add. Unlike the 3D Pro, there's no pesky analog mode emulation to have to worry about (apparently it's quite the dance getting the stick in and out of digital mode). And unlike the Game Pad, the PP doesn't have the whole mode A/B situation that has been complained about in PCem's source code.

Looking at the SW game pad source code, I'm starting to get an idea of how additional devices could be added. Unfortunately, the code is not really documented, and I'm not a hardware person. Therefore there's stuff I'm not sure about, especially when it comes to the timing aspects (and the Sidewinder protocol/method is all about timing). I'm also a bit fuzzy on how to format the data packets correctly, bitwise operations are not something I usually do much with.


EDIT: Removed some stuff regarding the final comment in the source code... What I was talking about was already referenced in the comments...

EDIT: I just want to clarify that the patent is NOT a specification. Research suggests that timings and the data packet format may and does differ from those proposed in the patent. For example, the Linux driver indicates that the 3D Pro data packet is 64 bits (like the Patent), however the Precision Pro packet is 48 bits in length.
Post Reply