Article View: comp.sys.ibm.pc
Article #41693Re: Book on writing device drivers for PC-DOS/MS-DOS systems.
From: George M. Sipe
Date: Mon, 05 Feb 1990 23:34
Date: Mon, 05 Feb 1990 23:34
152 lines
5279 bytes
5279 bytes
In article <3300@infmx.UUCP> aland@infmx.UUCP (alan denney) writes:
>In article <3512@rti.UUCP> bcw@rti.UUCP (Bruce Wright) writes:
>> Hello,
>> A friend of mine has been desperately looking for a book
>> on writing device drivers for MS-DOS or PC-DOS. Any pointers would
>> be much appreciated.
>> Thanks.
>
>I think the title is _Writing_MS-DOS_Device_Drivers_. The author
>is Robert Lai -- I know that much for sure, I know the man. I
>can probably get specifics (ISBN, etc.) if you still can't find it.
>It was a selection-of-the-month from a couple of the major book clubs.
Recommended highly. Addison-Wesley: "Writing MS-DOS Device Drivers" by
Robert S. Lai, ISBN 0-201-13185-4.
This question has been asked several times before. FYI, the contents of
this excellent 466 page (indexed) book follow (any typos are mine):
Chapter 1 - Introduction
About This Book
This Book's Intended Readers
What You Will Need To Use This Book
Conventions Used in This Book
How To Use This Book
Overview of the Chapters
Summary
Questions
Chapter 2 - Basic Concepts
Controlling Devices through Software
Refresher Course on DOS
DOS Services
DOS Device Management
The DOS Device Driver
Block and Character Devices
Device Driver Commands
Tracing a Request from Program to Device
The Mechanics of Building Device Drivers
Summary
Questions
Chapter 3 - A Simple Device Driver
What Does a Device Driver Look Like
An Overview of the Simple Device Driver Sections
Instructing the Assembler
Main Procedure Code
The Device Header Required by DOS
Work Space for the Device Driver
The STRATEGY Procedure
the INTERRUPT Procedure
Your Local Procedures
DOS Command Procedures
The ERROR EXIT Procedure
the COMMON EXIT Procedure
The End of Program Section
The Entire Simple Device Driver
Building the Device Driver
If It Does Not Work
Summary
Questions
Chapter 4 - A Console Device Driver
The Console Device Driver
Designing Our Console Device Driver
An Overview of Writing a Console Device Driver
A Complete Look at the Console Device Driver
A Note about DOS Versions
Building the Replacement Console Device Driver
Summary
Questions
Chapter 5 - A Printer Device Driver
Printer Types
I/O Control and IOCTL Calls
The IOCTL Program
Building and Using the IOCTL Program
BIOS Services for Serial and Parallel Adapters
Inside the Printer Device Driver
Building the Printer Device Driver
Using the Printer Device Driver
Summary
Questions
Chapter 6 - A Clock Device Driver
The Clock/Calendar Chip
The Clock Device Driver Functions
Overview of PC Clocks and Timing Signals
Programming the MM58167A Clock Chip
Where Is the Clock?
Resident Programs
Using the Timer Interrupt for Time Displays
Understanding the Clock Device Driver Program
Building the Clock Device Driver
The Clock Device Driver in Action
Summary
Questions
Chapter 7 - Introducing Disk Internals
The Physical Side of Disks
Organizing Data on Disk Drives
Technical Details of DOS Disk Support
The Boot/Reserved Area, FAT, and Clusters
The File Directory
Disk Sizing
Critical Disk Parameters
DOS Disk Device Drivers
Disk Device Driver Commands
Summary
Questions
Chapter 8 - A RAM Disk Device Driver
Using the RAM Disk Device Drier
RAM Disks and How They Work
The RAM Disk Device Driver
What Commands the RAM Disk Device Driver Will Use
The RAM Disk Device Driver Program Listing
The Whole RAM Disk Device Driver
Building the RAM Disk Device Driver
Modifying the RAM Disk Device Driver
Summary
Questions
Chapter 9 - Building a Complete Full-function Device Driver
Required Tools
The Perfect Editor
An Overview of the Device Driver
Summary
Questions
Chapter 10 - Tips and Techniques
A Checklist for Writing Device Driers
The Art of Debugging Device Drivers
Prototyping Device Drivers
Where Is My Device Driver?
Adding Debugging Routines
A New Stack
The Special Bit
Machine Incompatibilities
DOS Differences
DOS Version Differences
Summary
Questions
Appendix A - An Overview of the 8086/8088 Architecture
Appendix B - BIOS Interrupts
Appendix C - DOS Initialization
Appendix D - Special Features of the Hard Disk
Appendix E - Answers to Questions
Index
The author directly also offers a diskette containing all examples in the
book for only $10 (see the Preface, page xiii).
George M. Sipe, Phone: (404) 447-4731
537 Lakeshore Drive, Berkeley Lake, GA 30136-3035
UUCP: ...!{decvax,linus,rutgers}!gatech!rebel!george
--
George M. Sipe, Phone: (404) 447-4731
537 Lakeshore Drive, Berkeley Lake, GA 30136-3035
UUCP: ...!{decvax,linus,rutgers}!gatech!rebel!george
Technical Details
Message-ID:
<2089@rebel.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!uakari.primate.wisc.edu!uflorida!mephisto!gatech!rebel!georgeReferences:
<2761@cae780.UUCP> <3512@rti.UUCP> <3300@infmx.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!uakari.primate.wisc.edu!uflorida!mephisto!gatech!rebel!george From: george@rebel.UUCP (George M. Sipe) Newsgroups: comp.sys.ibm.pc Subject: Re: Book on writing device drivers for PC-DOS/MS-DOS systems. Keywords: device drivers book Message-ID: <2089@rebel.UUCP> Date: 5 Feb 90 23:34:53 GMT References: <2761@cae780.UUCP> <3512@rti.UUCP> <3300@infmx.UUCP> Reply-To: george@rebel.UUCP (George M. Sipe) Organization: not yet Lines: 152