Hi Bill,
You wrote to Roger Scudder,
[Re - Ray Duncan's "Advanced MSDOS"]
BB> > That sounds like good reading. Have you found this
BB> > book to be
BB> > enlightening as far as your understanding of lowlevel
BB> > (e.g.
BB> > interrupt services) DOS programming is concerned?
BB> > Does it
BB> > cover things like lowlevel disk operations and memory
BB> > allocation/
BB> > management?
It does cover memory allocation, it is very poor on disk stuff beyond
the normal.
BB> Hmmm. Didn't look, Roger - sorry. I used to write BIOS in assembler,
and
BB>that is largely concerned with the nitty gritty of I/O. The
BB>book does cover all MS-Dos functions in detail up to
BB>version 3.3, and it does give a very good grounding in low
BB>level techniques for MS-Dos.
It covers all _documented_ MSDOS functions. It lists as "Reserved", or
just plain omits, quite a few useful MSDOS functions (some essential for
TSRs) which MS/IBM didn't want other programmers to use for various
reasons - see "Undocumented DOS" by Andrew Schulman et al. Remember
"Advanced MSDOS" was published by Microsoft Press...
BB> It mentions interrupts, but
BB>PCs don't use interrupts properly anyway. Given that there
BB>is so much I/O space available to the CPU it is plain crazy
BB>to use mode 0 interrupts, but then it's also crazy to use a
BB>UART when a USART would have been no dearer. :-(
The way MSDOS uses interrupts comes from the way the 80x86 family of
processors is designed, and in my opinion is valid for the hardware it
is designed to run on. I made similar use of interrupts (accessing
comonly used functions) to cut down code size on a memory constrained
8085 system.
Why use a USART? I've never needed synchronous communications links yet.
BB> It gives all its examples in both C and assembler, so
BB>it's a useful little book.
I agree that it's useful, especially as there are no major extensions to
the MS/PCDOS interface since DOS 3.3, but it certainly isn't complete. I
bought two other useful books at the time (6-7 years ago) to get a
better overview. "DOS Programmer's Reference" by Terry R. Dettmenn is
much more heavily thumbed than Duncan's book, most sample code in C. The
other book was "Undocumented DOS": see above. The most complete
information on MS/PC/DR DOS interrupts is in the INTRLIST maintained by
Ralf Brown.
George
* SLMR 2.1a * Wastebasket: Something to throw things near.
--- Maximus/2 3.01
---------------
* Origin: DoNoR/2,Woking UK (44-1483-717905) (2:440/4)
|