I have a bunch of old school force feedback devices (wheel, sidewinder joystick) and am trying to make them useful again by adapting them to USB. The basic input functionality is all working, but now I want to get the force feedback working.
I'm having a little trouble figuring out the protocol for the packets sent over the MIDI channel.
Is there any documentation that would tell me how this works? I'm hoping Microsoft would be willing to open this up, being that the device is obsolete and no longer supported by modern operating systems. The thing is, these devices were some of the best
game controllers ever built. I would love to make them useful once more.
I'm looking into being able to talk to this thing from an NXP ARM microcontroller with usb. The idea is to be able to make these MIDI devices useful again by transferring them over to the HID protocol. A lot of off the shelf products can do this for
analog joystick but not FF or MIDI devices.
I have figured out the messages for all the input side. I'm a little afraid to post it because I don't want microsoft to sue me off the planet. :(
Ah, sounds similar to what I have in mind :) Note that the SideWinder devices are not analog, they use a digital protocol called OverDrive (patented by MS, #5628686.) for transmitting the joystick state. For reading the joystick you need to implement this
as well. The 3DP-Vert (mentioned and linked to above) does that using Atmel AVR chips. The code is well documented, you should be able to port it. The USB part needs to be extended from HID to PID and connected to the MIDI commands. Speaking of which, I can
be reached via PM on the
descentbb.net, nick is Grendel. :)
I am also interested in the documentation of the Force Feedback protocol. Since the products are obsolete, the information should be made available to developers who are interested in supporting these devices still existing for current operating systems.
Since FFB seem to gather wider interest and the information is spread all over in small pieces, there is now a project in Google Code to bring the information and people together just for this purpose. Please, see:
There is already some tech details on the Sidewinder's MIDI-protocol and a source code for a tool for sniffing and controlling the MIDI-channel with Teensy.
PS. About suing, if Microsoft would have wanted to sue anyone on applying their patent, it would likely have been done already when their Digital Overdrive protocol implementation was (at least partially) reverse engineered and turned into Linux driver
and later to an USB adapter mentioned above. As far as that particular patent goes, it only concerns the invention on transferring (a fairly limited variety) of data to joystick via Game Port what's implemented in the Overdrive protocol. It does not cover
the much more complex and separate MIDI-part for FFB - as "those of ordinary skill in the art" can see, as they say :)
Did this solve your problem?
Sorry this didn't help.
Last updated: December 21, 2017