Midi Force Feedback Protocol

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.

--Chris

 

Question Info


Last updated October 17, 2018 Views 2,673 Applies to:

Hi wz2b,

 

·          What are you writing the drivers with?

 

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I'm interested in this too. No drivers involved, the idea is to expand an existing OverDrive-to-USB adapter (3DP-Vert, see this)

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Hi guys,

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.  :(

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

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. :)

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

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.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

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:

http://code.google.com/p/adapt-ffb-joy/

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.


  devcaldo.

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.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.