How to implement a MIDI driver for the Roland UM 4?



My Roland UM4 works only with 32-bit OS but it’s good hardware and I think if I can get it working then I won’t need to buy a new MIDI interface.

I’ve previously written assembler in C for an operating system but I’ve never written a device driver.

Could you tell whether this is a project that can be done for Windows 64 bit, and if so how it can be done? I have Visual Studio 2012 and I know C/C++ but, again, I have never written a driver before. Do I have to know x86 assembler to write the device driver or is C/C++ enough?


Since it’s a USB device, I would have hoped it just used the standard USB MIDI class. But then it would have worked, so I guess it doesn’t. Bummer.

To implement a driver, you’re going to need to reverse-engineer the USB protocol between the 32-bit driver and the hardware.

This is not super-easy (I’ve not done it, but I have some knowledge). You must capture the traffic, which is typically done with a USB protocol analyzer, which are not cheap. I think it can be done with a regular PC in the middle (perhaps running Linux) but that can get kind of complicated, too.

So, the limiting factor here is probably not your programming skills per se, but rather the fact the reverse-engineering is hard.

Answered By – unwind

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More