!lm10
!rm76
Beneath Apple DOS -- A Review

If you have any interest whatsoever in DOS, be sure to buy this book!  It costs $19.95 (plus shipping), from Quality Software, 6660 Reseda Blvd., Suite 105, Reseda, CA 91335.  Call them up at (213) 344-6599 and give them your Master Charge or VISA number.  Do it now!

Or better yet, send your check for $18 to S-C SOFTWARE, P. O. Box 5537, Richardson, TX 75080.  I'll mail you a copy postpaid right away!  Saves you both time and money!

The authors of Beneath Apple DOS are Don Worth and Pieter Lechner.  You may know Don from his adventure-like program, "Beneath Apple Manor", or from his LINKER program (both available from Quality Software).

The book is published with a plastic comb binding, and is about the same dimensions as the "Apple Assembly Line".  There are 156 pages, organized into 8 chapters and 3 appendices.  A comprehensive Quick Reference Card for DOS 3.3 is included.  There are cartoon sketches throughout which both amuse and aid comprehension, as well as more traditional diagrams and charts and tables.  A four page index helps you find whatever you need to know.

Though the book focuses on DOS 3.3, it covers all the major differences found in earlier versions.  Chapter 2 is called "The Evolution of DOS", and traces features and differences from Versions 3, 3.1, 3.2, 3.2.1, and 3.3.  At other points throughout the book, wherever the various versions differ, the details for each version are explained.

Chapter 3 covers diskette formatting, in much more detail than the Apple DOS manual:  how bits are recorded, how 256 bytes are converted to 410 or 342 shorter bytes, how those shorter bytes are converted to encoded bytes ready to be written, how the checksum is computed and tested, how the sectors are identified around a track, all about self-sync bytes, and how sectors are interleaved.

Chapter 4 covers diskette organization:  the DOS image, the Volume Table of Contents, the catalog, track/sector lists, and the format of each type of file.  Some guidelines for repairing damaged diskettes are given.

Chapter 5 outlines the overall structure of DOS.  The booting process is explained in a fair amount of detail.  If you need more information on DOS internals, chapter 8 is for you.

Chapter 6 gives clear instructions for using RWTS from machine language programs.  You may already be quite familiar with this, because:  1) it is fairly well explained in the DOS manual; 2) many articles have been published in magazines and newsletters telling you how; and 3) you have gone ahead and tried it yourself.  But there is another way to get into DOS which treats files as files, but without the normal DOS overhead.  Apple's FID utility uses this way in, through the so-called File Manager.  Chapter 6 goes into great detail describing the File Manager, and some examples showing how to use it are given.  This information has never been published before, and is well worth the price of the entire book.  Chapter 6 also shows you how to talk to the disk drive directly, without any DOS at all.

Chapter 7 explains how to customize DOS, and gives the patches for four nice custom features:  avoiding the language card reload, making space between DOS and its buffers, removing the pause during a long CATALOG, and changing the HELLO file start-up from RUN to BRUN or EXEC.

Chapter 8, 42 pages long, describes EVERY routine in DOS.  It starts with the disk controller ROM (at C600 of your controller is in slot 6), and goes from 9D00 through BFFF subroutine by subroutine.  The descriptions are in text form:  no disassembled code, and no flowcharts.  If you put the book beside a disassembled section of DOS, it is easily understood.  Data sections are outlined also, so that you can tell what every byte is there for.  The last page of chapter 8 lists all the zero-page variables used by DOS, and explains each use.

Appendix A contains five sample programs which can be used to examine and repair diskettes.  They also illustrate the use of RWTS and the File Manager.

Appendix B briefly explains the philosophy of disk protection schemes.  Someday someone will write a whole book on this subject.  This Appendix is only four pages, so you won't find out how to create the uncrackable disk, or even how to crack it if you did.

Appendix C is an excellent glossary of terms used in the book.  I estimate that about 160 words are defined.

The authors list five good reasons why they wrote Beneath Apple DOS; no, six:

!lm15
1.  To show direct assembly language access to DOS.
2.  To help you fix clobbered diskettes.
3.  To correct errors and ommissions in the Apple manuals.
4.  To provide complete infomation on diskette formatting and DOS internal operation.
5.  To allow you to customize DOS to fit your needs.
6.  To make the authors a lot of money.
!lm10

They have done an excellent job with the first five objectives, and I think number 6 will be met as well.
