I would consider this book to be one of the landmark publications during the Apple II era. It provided information about the inner workings of Apple mysterious disk operating system that went far beyond the information that Apple released (which dealt exclusively with how to use the Disk II drive from BASIC, Applesoft or Integer. Not only did Beneath Apple DOS “tell all”, but it did so in a humorous way that still communicated its points clearly. In regard to the preparation of thie History, the history of DOS as provided by the authors was invaluable. Their follow-up publication, Beneath Apple ProDOS did as just as much for our understanding of that more sophisticated disk system as this first book did for its predecessors, DOS 3.1 through 3.3.
In an e-mail from Don Worth, one of the authors, he kindly provided this “behind the scenes” story of how the book came to be written.
Date: Wednesday, June 6, 2001 10:01 AM
Subject: Re: Beneath Apple DOSIn case you’re interested, a friend and I disassembled DOS 3.1 (including RWTS – for which there was a listing in xeroxed form, and the File Manager). Vic Tolomei, who later became involved in writing books/software for the Exidy Sorcerer computer, prompted me to give it a try – I had been complaining about there being no documented way to open and read/write files from assembly language on the Apple II. Vic and I took apart my Disk II drive on his dining room table and twiddled the I/O addresses one by one to see what the arm did. Vic ran out a disassembly of DOS (using the disassembler in the Apple II ROM) and started marking it up – here and there, kind of like a crossword puzzle – I took what he started with and finished it off. When we were done, we had a fully commented listing of DOS.
Vic and I put our listing in a binder, comb bound it, and made a couple of copies for friends. I sent one copy up to Apple just for fun. I got a somewhat panicked call from Woz. He wanted to know if we were planning to publish the source code – he was afraid it would damage Apple’s copyright or some such. I promised we would not. I got personal Christmas cards from him for the next few years.
I did some seminars at a computer store in Burbank, California on the API for the File Manager, which is where I met Pieter Lechner. We became friends, and a couple of years later decided to write Beneath Apple DOS together. Pieter wrote the low-level stuff about track formatting and RWTS. I wrote the higher level stuff about the File Manager. We included the comments from Vic’s and my source listing with address ranges – but I didn’t (technically) publish the source code. (A fine distinction – but by then I guess Woz no longer cared so much about it.) Since the File Manager API was still unknown, the book took off like a rocket. It’s interesting to consider that, if Shepardson had finished the documentation for DOS as Apple had wanted them to, then there probably wouldn’t have been a market for our book!
Later on we took apart Integer BASIC and the Galfo Integer BASIC runtime code so that we could port the latter to Atari’s and IBM PCs (which is how Beneath Apple Manor managed to move to those platforms) – but that’s another story. We also disassembled ProDOS when that came out – a much bigger job than DOS. I can’t even imagine trying to reverse engineer today’s OS’s – they are all produced from higher level language compilers anyway so they’d look pretty odd.
As I myself have done some disassembly of the Apple IIe and IIc ROMs, I know what a tedious job that can be, but the fun of discovering how things in the Apple II worked was worth it. Thanks, Don and Pieter, for taking the time to take DOS apart and explain its inner workings to the Apple II world!
You can jump to Don Worth’s personal home page here.
I wonder why Apple is still concerned about their obsolete code. What use is it to them now? It may as well be open sourced in the same manner as Multics was 4 years ago.
Oh, you know lawyers – they love to protect something that could still be worth money somehow.