Advise needed programming a device driver.

Started by
7 comments, last by Serapth 12 years, 8 months ago
Hi guys, today I bought a Microsoft Sidewinder C84-00005 from a thrift-type store, to use as a gamepad for Emulation. When I got home, I found out that it's unsupported by Windows 7. I then decided that I'd need to write a device driver for it myself, the problem being; I have no idea where to start, and my C++ skills are minimal. Would I even write it in C++? What dev environment would it be written in? Can anyone help me?

Thanks,
- James
Advertisement

Hi guys, today I bought a Microsoft Sidewinder C84-00005 from a thrift-type store, to use as a gamepad for Emulation. When I got home, I found out that it's unsupported by Windows 7. I then decided that I'd need to write a device driver for it myself, the problem being; I have no idea where to start, and my C++ skills are minimal. Would I even write it in C++? What dev environment would it be written in? Can anyone help me?

Thanks,
- James


Just so you are aware of the volume of work you are embarking on, it's quite similar to buying a car then deciding you want to engineer and replace the drive train on it.

Simple advice, don't.
That's very ambitious :)

Device drivers are typically written in C. You're going to want to spend a lot of time learning C quite well, before you even think about writing a device driver.

Regarding what Seraph said...

Don't try to write this driver if you just want to use your joystick. Only embark on this if it's because you want to learn how to write drivers, because you're interested.
Well I'm a computer systems degree student, so learning C and how to program drivers would probably stand me in good stead? Where would I start? Do any of you guys have any decent resources please?

Thanks for your replies,
James
Well, first off you need the DDK
Next read and memorize everything on this site.
Install and read the source code for this driver

Then completely give up this folly because of the absolute mountain of work involved.
[color=#333333][font=Arial, Helvetica, sans-serif][size=2]You're 5 foot nothin', 100 and nothin', and you have barely a speck of [s]athletic[/s] device driver coding ability. And you hung in there with the best [s]college football players[/s] device driver coders in the land for 2 years. And you're gonna walk outta here with a degree from the [s]University of Notre Dame[/s] whatever school you go to. In this life, you don't have to prove nothin' to nobody but yourself. And after what you've gone through, if you haven't done that by now, it ain't gonna never happen. [/font]
[color=#333333][font=Arial, Helvetica, sans-serif][size=2]
[/font]
[color=#333333][font=Arial, Helvetica, sans-serif][size=2]
[/font][color=#1C2837][size=2]Well I'm a computer systems degree student, so learning C and how to program drivers would probably stand me in good stead?[color=#333333][font=Arial, Helvetica, sans-serif][size=2][/quote][/font]
[color=#333333][font=Arial, Helvetica, sans-serif][size=2]
[/font]
[color=#333333][font=Arial, Helvetica, sans-serif][size=2]Writing drivers is a very specialized field. I mean it when I say only do it if you're very interested. The vast majority of people with Computer Science degrees have never even seen device driver code, myself included. [/font]

[color="#333333"][font="Arial, Helvetica, sans-serif"]You're 5 foot nothin', 100 and nothin', and you have barely a speck of [s]athletic[/s] device driver coding ability. And you hung in there with the best [s]college football players[/s] device driver coders in the land for 2 years. And you're gonna walk outta here with a degree from the [s]University of Notre Dame[/s] whatever school you go to. In this life, you don't have to prove nothin' to nobody but yourself. And after what you've gone through, if you haven't done that by now, it ain't gonna never happen. [/font]
[color="#333333"][font="Arial, Helvetica, sans-serif"] [/font]
[color="#333333"][font="Arial, Helvetica, sans-serif"]
[/font][color="#1C2837"]Well I'm a computer systems degree student, so learning C and how to program drivers would probably stand me in good stead?[color="#333333"][font="Arial, Helvetica, sans-serif"]
[/font]
[color="#333333"][font="Arial, Helvetica, sans-serif"] [/font]
[color="#333333"][font="Arial, Helvetica, sans-serif"]Writing drivers is a very specialized field. I mean it when I say only do it if you're very interested. The vast majority of people with Computer Science degrees have never even seen device driver code, myself included. [/font]
[/quote]

I don't know what you're getting at. If you're telling me to steer clear of programming device drivers, say it explicity rather than being an asshole, 'cause you're not funny dude.
It was a modified quote from the movie Rudy, and was there basically to poke fun at Seraph for dissuading you. In what world could that have been a literal statement directed towards you?

And how exactly was I an asshole? I was telling you the truth. It's hard and requires specialized platform-specific knowledge and techniques that you don't typically learn in the course of a CS degree.

I wasn't telling you to steer clear of programming device drivers. Much the opposite, I was offering support where Serapth was clearly dissuading you.

I'm not your daddy. Make up your own mind, little boy. I was simply taking time out of my busy day to help you know exactly what you're getting into. I guess that's what you get for trying to help someone out.
For the record, I got the reference and the joke.

Also for the record, I still think it's an idiotic project to embark on and am continuing to try and dissuade you, but like Vat, I'm not your daddy(*).


(*)I think.

This topic is closed to new replies.

Advertisement