maybe quicker...
i believe Ralf Brown had some information on drivers
i still remember some of that stuff - lol
i learned from Ray Duncan's book
one of the first things to decide is whether you are writing a character device or a block device
there is also a CLOCK$ device, a special case of a character device
a typical character device replaces system defined devices, like CON, PRN, NUL, etc
typical block devices are RAMDRIVES, and so on
any driver that doesn't fit one of the character device models is usually written as a block device
if you have specific questions, let me know - i may be able to help
are you writing a driver for a piece of hardware ?