About eight months have passed since The Atari Compendium® was first released, and I must admit to being amazed with the amount of attention the book has received from Atari developers worldwide. When I started writing the first draft of the book I didn't know enough about Atari computers to write half of the 860 pages it eventually became. The learning process that I went through to see the book to its completion was responsible for a great deal of personal growth and a greater understanding of computer science in general.
It was inevitable, of course, that there would be errors in a book this big. I didn't want to revise the book simply to correct those errors, however. I was determined to add some missing topics as well. This first revision now adds about 60 pages to the original and led me back to the onthejob learning process and several phone calls and E-mail letters to Sunnyvale.
The Compendium now covers almost every conceivable topic a software programmer needs to know about Atari computers. You still won't find timing diagrams, pinouts, and hardware specifications simply because my level of competence in those matters is unfortunately minor. The only other topics you won't find discussed are those covered completely in separate volumes (referenced in the Bibliography). These include hardware-direct ACSI/SCSI/IDE programming, SCC programming, DSP programming, and direct BLiTTER chip usage. In every case except for DSP programming, almost all functions of these devices may be accessed by the average programmer through the use of OS calls, which are, of course, documented. The basics of DSP programming, like assembly or 'C' is left to the reader to explore in other books dedicated to their teaching.
New to this revision you will find an enhanced style guide and memory map (the two most popular sections of the book, it seems), information on programming MiNT device drivers and file systems, and a section documenting the XBRA protocol. Most importantly, though, almost every conceivable parameter and return value has been listed with a corresponding definition name. These names may be used with any language that supports constant naming, and, when used, improve program readability dramatically. The TOS.H and TOSDEFS.H include files will be available from SDS upon the release of this revision. To find out how to obtain them, be sure to send in your registration card.
I owe thanks to Mike Fulton, Eric Smith, and Jay Patton were very helpful in ensuring that the new material was correct and old errors were eliminated. Many independent readers of the book also deserve thanks for taking the time to report errors and submit their comments.
In addition, my close friends Dennis, Mike, Keith, Cathryn, Shawn, Cathy, Shaun, and Kristýna provided moral support and dragged me away from work when I needed a break badly. Also, as always, my mom supported me tremendously and continues to proudly display a plastic-wrap'd copy of the book to friends and relatives even though to her its about as useful as a phone book for some remote city in Alaska.
Thanks to you, especially, the Atari developers and users who made this book a reality. Enjoy!
-Scott D. Sanders, April 1994