Reply 25180 of 29218, by mbbrutman
My retro activity from yesterday ... coding a DOS device driver.
I've never written one. Even with a reasonably good book there is still a lot of research and experimentation that I have to do to make progress. Here are some of the challenges:
- I'm using Open Watcom's assembler, which seems to be MASM compatible but I have no documentation for it. If it gives me trouble I'll install MASM.
- I can do some light x86 assembly language, but the device driver is on another level. It takes a lot of discipline to know what registers are safe to use and which ones need to be restored.
- I'm testing in a virtual machine. Rebooting after a crash is easy but it is irritating to move code onto it. (I have a batch files that FTPs the device driver.)
- I'm using IOCTL to control the device driver .. IOCTL doesn't seem to be very well documented.
- I want it to run under DOS 2 and up, so I need to be careful about what features I enable/use.
On the plus side, it's fun. And I have a much better understanding of how device drivers work now even though I'm just a week into this.