NORTON.ART  ·  ART  ·  10.8 KB  ·  1980-01-01  ·  from CompuLink-User-Group_Magazette_Vol-2-Issue-1_1986
BOOK REVIEW  -  The Peter Norton Programmer's Guide to the IBM PC
                 ISBN 0-14-087-144-6        Price £16.95
                 Microsoft Press (Penguin Books)
                 Reviewed by Robin Swale

            There  have  been many hundreds of books written about the
         IBM PC and most of them are  of  the  "Introduction  to  ..."
         variety.   To  find  a  good book with anything more than the
         rudiments of  using  DOS  has,in  my  experience,  been  very
         difficult.  Peter Norton's book "Inside the IBM PC" published
         by BRADY ISBN 0-89303-556-4 has become a  standard  reference
         work  for  programmers, but unfortunately, it deals only with
         the basic IBM PC  and  DOS  1.0.   Also,  at  £23.50  it  was
         overpriced  and the presentation left something to be desired
         - it always struck me as being cramped.

            Norton is an acclaimed expert on  the  IBM  PC  family  of
         computers,  and has now produced a truly worthwhile reference
         book, stuffed full  of  the  sort  of  information  that  the
         programmer requires.  All IBM computers from the Junior up to
         the AT and DOS versions 1.0 to 3.1 are covered included.

            The layout of the new book is a vast improvement  on  that
         of  the  older  one  -  the Contents now fits on one page and
         lists only the title of each of the 20 chapters.  On  turning
         to  the  relevant  chapter  e.g.   Chapter  9  ROM-BIOS Video
         Services, the reader is  presented  with  a  chapter-specific
         Contents  which lists the 20 available services together with
         the page number for each.  It's all very  structured  -  just
         what  one  might  expect  from someone worth his salt in this
         industry!

            To give the reader a feel for the contents  of  the  book,
         here  is  the  Contents  page including page numbers so that,
         with the aid of a simple Basic program, the  length  of  each
         chapter  can  be determined.  The information in brackets has
         been added by me.


         Chapter   Page     Title
         =======   ====     =====
            1        1          Anatomy   of  the  PC
                                (Discusses the  internal  hardware  of
                             the various members of the PC family i.e.
                             PC,XT,JR,Portable and AT.  at chip level)

            2        19         The  Ins  and  Outs
                                (8088 register, memory  and  I/O  port
                             usage  -  a  cross reference table of I/O
                             port addresses for all IBM family members
                             is provided)

            3        41         The  ROM  Software
                                (Details    Interrupt    Vectors   and
                             describes  how  to  use  Debug  to  snoop
                             around   in   the  interesting  data  and
                             control areas)

            4        67         Video Basics
                                (Describes  the  capability   of   the
                             various   Video   adaptors  and  monitors
                             including the EGA, the Enhanced  Graphics
                             Adaptor)

            5        99         Disk   Basics
                                (Describes  the  disk's  physical  and
                             logical structures  in  detail  including
                             formats,Boot    record,File    Allocation
                             Table, Directory and Subdirectory)

            6        127        Keyboard  Basics
                                (Describes the use of scan  codes  and
                             the interface with the ROM BIOS including
                             the  use  of   special   keys   and   key
                             combinations.   Provides  details  of the
                             keyboard status byte held in the DOS data
                             area)

            7        145        Sound   Generation
                                (Describes the speaker/timer interface
                             and  how   to   drive   it.    Additional
                             information  is  provided  for  the PC JR
                             system)

            8        159        ROM-BIOS  Basics
                                (Discusses  ROM  BIOS  philosophy  and
                             lists the 12 ROM BIOS services, which are
                             then discussed in detail in the following
                             chapters)

            9        171        ROM-BIOS  Video   Services
                                (Provides  details  of the 20 ROM BIOS
                             Video   services   all   of   which   are
                             accessible via Interrupt 16)

            10       187        ROM-BIOS  Diskette  Services
                                (Details  the  5  standard  sevices  -
                             Reset,Get status,Read,  Write,Verify  and
                             Format.Deatails   the  further  11  PC-AT
                             specific services)

            11       203        ROM-BIOS  Keyboard  Services
                                (Details  the   3   sevices   -   Read
                             Char,Report  Character  Ready,  Get Shift
                             Status)

            12       209         Miscellaneous Services
                                (Details the Serial Comms,Tape,Printer
                             and other services)

            13       225        ROM-BIOS  Service  Summary
                                (Provides  a short and long summary of
                             the ROM BIOS Sevices)

            14       241        DOS Basics
                                (Discusses the relevance  of  DOS  and
                             disk format differences)

            15       247        DOS Interrupts
                                (Details  the  5 main DOS Interrupts -
                             Terminate,Break   and    Error    Handler
                             addresses,  and  provides  details of the
                             Program Segment Prefix)

            16       269        Universal  DOS  Functions
                                (Details the 46 DOS functions and  the
                             File Control Block)

            17       295        New  DOS Functions
                                (Details    the   46   new   functions
                             introduced by DOS 2.1 and 3.0)

            18       325        DOS Service Summary
                                (Provides a short and long summary  of
                             all DOS services)

            19       337        Program    Building
                                (Discusses  the  essentials of program
                             building - Writing, linking and  creating
                             libraries)

            20       349        Programming     Languages
                                (Discusses Assembly,Basic,Pascal and C
                             and their particular data formats)

            Appendix A:         Installable  Device   Drivers   (p385)
                             (Provides  a  general  overview of Device
                             Drivers and describes, in particular, the
                             pros  and  cons  of  the  ANSI screen and
                             keyboard drivers)

            Appendix B:         Hexadecimal Arithmetic (p391) (All you
                             ever  wanted  to  know about hex but were
                             too afraid to mask)

            Appendix C:         About Characters (p401)  (Details  the
                             Ascii,   Box-drawing,   Graph  and  Block
                             characters)

            Index p413-426

            Throughout the text Norton provides  program  examples  in
         Basic  and  Assembler  to  illustrate  access  to the various
         services and facilities.

       A  small  grey  pointing  finger icon is used to refer the reader to
    other relevant information in the book on the  particular  topic  under
    discussion.   He  also  uses  stylised  grey  symbols  to represent the
    various PC family members so that the reader can  pick  out  the  areas
    specific  to  his  machine.  The use of these devices greatly increases
    the readability and usefulness of this book.

       As with any book, there will be errors, and on opening the book  the
    first  one  was  obvious  -  the  photograph  of the PC System Board is
    labelled PC/XT System Board.  In fact, the XT has  a  different  System
    Board  from  the  PC  and  no  photo  is  provided for this board.  The
    reproduction of the three photographs which  are  provided  could  have
    been much better.

       This  book  is  certainly  the most thorough book of its type that I
    have seen and it lives up well to its title "Programmer's  Guide".   It
    is  good value for money and I highly recommend it to you.  To complete
    your IBM library I recommend you consider:

         For detailed information on the operation of the IBM PC:
                 Interfacing to the IBM Personal Computer. Eggebrecht.
                      SAMS. ISBN 0-672-22027-X.  £14.50

         For detailed information on the operation of the 8086/8088:
                 The 8086 Book. Rector and Alexy.
                      Osborne-McGraw Hill. ISBN 0-07-931029-X.  £23.95

            For  detailed  information  on  8088   Assembly   language
         programming specifically related to the IBM PC:

        8088 Macro Assembler Programming. Dan Rollins.
                Macmillan. ISBN 0-02-403210-7.  £13.85

            Postscript  - There must be many of you out there who have
         come across other good books relating to the IBM  family.   I
         believe  that it would be useful to produce a concise list of
         such books together with brief comments on their  usefulness.
         This  list could be published in every copy of the Newsletter
         and added to as new books become available.  The  same  could
         be  done  with  Public  Domain  and  lesser  known commercial
         programs and  utilities.   This  list  could  then  become  a
         standard reference for newcomers to the labyrinthine field of
         the IBM PC.  Have you any feelings on  this  matter?   Please
         let   Frank   or   myself   know.   My  telephone  number  is
         0734-784035.