[comp.sys.ibm.pc] compilation of book advice

jlh@loral.UUCP (The Happy Hacker) (03/16/88)

A while ago I posted a request for advice on PC books, this is
a compilation of all the answers I got.  But first, a comment of my
own.  My request was along the lines of

>I have in front of me a PC AT with a nice empty hard disk.  Sitting next
>to it are the requirements for a project that needs this shiny new toy.
>And, sitting above it is a nice, empty bookshelf.  So tell me, if you
>were spending the boss's money what books would you put on this shelf?

Now something like this will cause an avalanche of responses, right?  Nope,
I didn't get a thing for over 2 weeks.  Then, on comp.sys.ibm.pc I see
an article thats a response to a response to a response to my article,
but I never saw any of them except that 1.  Then, about 3 days later,
my mailbox is flooded with just the info I was after.  hmmmmm.

Anyway, here are the slightly edited replies I got.  I would like to
take this moment to recommend an excellant book, 'C programmer's Guide
to Serial Communications', by Joe Campbell.  I bought this in January
and it's one of the best technical books I've ever seen, bar none.
Even if you don't care about RS232 buy the book, authors like Mr
Campbell deserve to be able to buy premium beer.

One last note.  I seem to have deleted the names of some of these
contributors.  Sorry about that.

----
Don't get Norton. The book you want is "Advanced MSDOS" by Ray Duncan
(Microsoft Press) - the best coverage I've seen of DOS internals.

Other books worth looking for -
"Programmer's Reference Manual for IBM Personal Computers" by Armbrust and
Forgeron (Dow-Jones-Irwin)  

"Programmer's Guide to PC and PS/2 Video Systems" by Richard Wilton
(Microsoft Press)

"Compute!s Mapping the IBM PC and PCjr " by Russ Davies (Compute! Books) -
somewhat out of date (as you can tell by the title), but the only
memory map book I've seen.
------------------------------------------------------------------

You weren't very specific in your needs, however there are several books
you could get.

A MUST is "The Peter Norton Programmer's Guide to the IBM PC" It covers
everything about the PC and AT (and PCjr, heh heh). Includes charts
for calling the DOS and BIOS interrupts (functions). Plus descriptions
in various chapters on how to use them. A couple chapter titles are
"The ROM Software", "Disk Basics", "DOS Interrupts" plus chapters on
video, disk and keyboard access through normal DOS and BIOS ROM calls.
Also details information on combining assembly language with high level
languages.

Norton's book is good for any level a programmer, he introduces each topic
at a simple level and gives examples on how to use it. Detailed information
can be dug out of the chapters quickly with a very nice index.

Another MUST get is "Programmer's Problem Solver for the IBM PC, XT & AT"
not many people really know about this book, but it is a good one. It
explains how to program EVERY aspect of the PC from the hardware level
(using direct OUT portnum,value) all the way through DOS functions and
BIOS calls. This allows you to get your computer to do anything. It is
written by Robert Jourdain. Includes detail information on the Keyboard,
disk drives, video (including EGA graphics), serial ports and printer
ports.

This is a pretty low-level book, but well written.

Other good books are 
"COMPUTE's Mapping the IBM PC and PCjr" probably not in stores any more, wasn't
very popular. But in contains the use of most port addresses (including the
bit maps used to control whatever the port controls). Also includes a memory
map of the low memory in the PC where all kinds of information is stored.
Cursor location, keyboard buffer, etc.

A decent book (highly technical at times) is "The IBM PC from the Inside
Out, Includes the PC AT" by Murray Sargent III & Richard L. Shoemaker.

Those are books on the machine itself. Some good programming books are:

"Advanced MS-DOS" by Ray Duncan from Microsoft Press. It is billed as
"The Microsoft Guide for Assembly Language and C programmers." Mostly
an extension of Peter Norton's book, but much more detailed in the 
area of uses of the DOS functions. Includes a chapter on EMS memory
programming.

If you are going to program your serial port/modem try "C Programmer's
Guide to Serial Communications" by Joe Campbell. Superb book. The
best in existence on the subject. Includes an extensive communications
library.

Possibilities also include "Super charging C with Assembly language" by
Chesley Waite. For C Programming "C: The Complete Reference" by Herbert
Schildt is by no means complete, but VERY useful.

If you plan any OS/2 programming two must books are "OS/2 Programmer's Guide"
and "Inside OS/2".

Finally two MUST HAVE NOW!!! books are from IBM/MicroSoft. The "DOS Technical
Reference Manual" and "The IBM PC AT Technical Reference Guide" check
your local dealers for them.

Hope this helps. I'd also suggest software, buts its a highly personal thing.
Since you have MSC C v5.0 you have the most important component. Contrary
to whats been said by the local imbeciles MS C v5.0 beats Turbo C and the
rest in every way imaginable. Benchmarks are the most invalid way of
testing optimizing compilers available. Also be sure to get MicroSoft's
Assembler MASM v5.0, and makeby even Microsoft Pascal, comes in useful at times and can be linked to MS C with no problem.

Also, magazines. Subscribe to "Dr. Dobb's Journal of Software Tools," and
"Computer Language,"  and "The Micro Techincal Journal MICRO CORNUCOPIA" and
some others to consider are "Micro Systems Journal" and Microsofts new
programming magazine... I forgot the title. Magazines are the best sources
of information.

Well, the message is long, but I hop helpful.
--------

_Advanced MSDOS_ by Ray Duncan, ~$24
        excellent coverage of DOS calls, some BIOS calls
        (doesn't cover undocumented or 3.3 calls, though)

_80286 and 80287 Programmer's Reference Manual_ by Intel, ~$24
        THE source for figuring out just what instructions do, how long they 
        take, etc.


------
If you're serious about the data on your shiny new hard disk then get
a copy of Mace Utilities. It's well worth the money.

Norman Soley - Data Communications Analyst - Ontario Ministry of the Environment
-------

Fun stuff.  Get yourself a copy of the Knuth Computer Algorithms.
It's a handsome set of references, and describes every computer
algorithm known to man.  These are boring, repeat boring to read,
but absolutely essential when you want to see how to do something
new. 

Get a copy of "The Design of the Unix Operating System" by Bach.
Essential must-read for Unix folks (even if you are just running
MS-DOS :-)

"The Elements of Programming Style" is another good book to have,
and tells you about all of the no-nos and how not to do them.
Good idea if you are managing people other than yourself.

(1) copy of Hitchiker's guide to the Galaxy.  Got to read 
something while the machine is recalculating the spreadsheet :-)

Robert White


---
~~~~~~~~~~~~~~~~~~~~~~~~~~~    US SNAIL: 11534 Steele St, Thornton, CO.
} Robert White            {    MA BELL : (303) 252-9090
} ihnp4!upba!qetzal!rcw   {    HORSE   : Jct Platte River & Cherry Creek
~~~~~~~~~~~~~~~~~~~~~~~~~~~


-- 
Jim Harkins 
Loral Instrumentation, San Diego
{ucbvax, ittvax!dcdwest, akgua, decvax, ihnp4}!sdcsvax!sdcc6!loral!jlh