The well-stocked ST library--What should be on your shelves
By Matt loveless, START Consulting Editor
In any well-stocked ST library, you would find an array of books ranging from the elements of software design to programming in 68000 assembly language. But sifting through the available literature, spotting valuable additions to your library, can be frustrating, if not completely overwhelming. There really is no strategy. For example, the blind process of buying anything with the letters "ST" in the tide doesn't really work: some of these books are a waste of money. Besides, some of the best books an ST user can own aren't written for a specific machine, but, rather, transcend machines.
I tried to include a wide sampling of books from a variety of carefully chosen topics, directly or indirectly related to the ST, while avoiding the canonical textbook material, such as the Donald Knuth series on programming. In the interest of brevity, I also ignored books on Pascal, FORTH (check out Cooper's Oh! Pascal! and Brodie's Starting FORTH) and other, more obscure, languages. This list is biased because my interests are unique. But each recommendation comes with a degree of sincerity few can rival: If it's on this list, it's on my bookshelf.
ST PROFESSIONAL DEVELOPMENT
The Concise Atari ST 68000 Programmer's Reference Guide. Peel, Katherine D., Robin Bradbeer, series editor. (1986) England: Glentop Publisher Limited. A terse but pithy reference guide oriented to the assembly language programmer. It represents a thorough distillation of the developer's documentation, providing valuable TOS, GEM, Line-A, and hardware information in one place. The information is organized in tables and every call is documented with sample values and calling conventions. It even provides the much-needed information on calling GEM from assembly language.
Programmer's Guide to GEM, $19.95 plus $2.00 shipping and handling. Balma, Philip and William Fitler (1986) SYBEX Computer Books, 2020 Challenger Dr, Alameda, CA 94501. (415) 523-8233. By far the most professional book on GEM to arrive yet, it systematically presents the various aspects of the Graphics Environment Manager, carefully distinguishing between the various libraries and functions. It includes a thorough discussion of resource files and object manipulations, events, messages, and the Virtual Device Interface (VDI), plus a revised version of the public domain application DEMO.
|Programmer's Guide to GEM|
The C Programming Language, $26.67. Kernighan, Brian W. and Dennis M. Ritchie. (1978) Prentice-Hall, Inc., Route 9W Englewood Cliffs. , NJ 07632. (201) 592-2000. Commonly referred to in C circles as simply "K & R," this book is the C bible; it is the text upon which all other C books are based. In short, it is the only truly authoritative definition of the language. And it should be: Dennis Ritchie started this whole thing back in the mid-60's when he built the language on a DEC PDP-11. No C library is complete without this book, and programmers will find it an invaluable reference. In all the years since it was first printed, no one, surprisingly, has delivered a worthy replacement.
The C Programming Guide, second edition, $19.95. Purdum,Jack J. (1985) Que Corporation, 7999 Knue Road, Indianapolis, IN 46250. (317) 842-7162. I credit Jack Purdum for making C a user-friendly language. C is complex. It has lots of punctuation, unobvious syntax constraints, and a free-form style every programmer uses differently. But Purdum makes C a palatable language. He introduces concepts with clear examples and encourages experimentation and problem solving. This is the best book for those just learning the language. Once you've mastered the concepts here, you're ready for Kernighan and Ritchie (see above).
The C Puzzle Book: Puzzles for the C Programming language, $24.67. Feuer, Alan R. (1982) Prentice-Hall, Inc., Route 9W, Englewood Cliffs, NJ 07632. (201) 592-2000. The computer club I belonged to in high school offered a small prize each year for the student who could write the most confusing and convoluted ten-line BASIC program. The entries were judged on their trickiness, elegance, and final output. The C Puzzle Book offers a set of over 20 puzzles like the ones from my high school years, except these are written in C. Each puzzle is designed to illustrate a specific aspect of C, and anyone masochistic enough to solve every one will have a firm grasp of the language, its elements, and its syntax. A delightful companion volume to one of the other C books.
The C Programmer's Handbook, $19.95. Hogan, Thom. (1984) Brady Communications, A Prentice-Hall Company, Route 9W, Englewood Cliffs, NJ 07632. (201) 592-2000. Every author even thinking about making a reference guide or handbook should look at this book--this is how they should be made. Every conceivable aspect of the C language, down to common library routines, is defined. Everything gets its own page with the operator, keyword, or function set out in bold type at the top. In each description you'll find a declaration of purpose, usage rules, defaults, plus sample code and warnings.
68000 ASSEMBLY LANGUAGE
|68000, 68010, 68020 Primer|
68000, 68010, 68020 Primer, $21.95. Kelly-Bottle, Stan and Bob Fowler. (1985) Howard W. Sams Co., Inc., 4300 West 62nd Street, Indianapolis, IN 46268. (317) 298-5400. This offers what may be the clearest, funniest, and friendliest introduction to assembly language programming. Large, bold text and explicitly clear diagrams make reading easy. This is by far the best introduction to the 68000 microprocessor family and ideal for the person moving from a high level language like BASIC or Pascal. Although it does include a quick reference card which tears out of the book, it is not a reference manual. You will need one of the other, more sophisticated books to do any serious programming.
Programming the 68000, $22.95 plus $2.00 shipping and handling. Williams, Steve (1985) SYBEX Computer Books, Inc., 2020 Challenger Dr., Alameda, CA 94501. (415) 523-8233. My favorite of the 68000 tomes, primarily because the entire instruction set, plus some common pseudo-ops, are laid out in the middle of the book in alphabetical order, making for extremely quick lookups and references. Every instruction is devoted about two pages of explanation. Each entry describes the instruction's purpose, offers a table of the allowed addressing modes, and includes actual demonstrations with before and after registers. There is enough of an introduction that one could conceivably learn 68000 assembly language solely from this book, but not very easily. Take special note: all the examples are written and demonstrated under CP/M 68K using AS68 and DDT-68K, tools which owners of the Atari Developer's Kit will find familiar. Also included is information on interfacing with C and a listing of an entire multitasking operating system. Does not include timing charts, nor does it discuss interrupts and exceptions in much depth. However, if you could only buy one book on 68000 assembly language, this is the one I'd recommend.
M68000 16/32-Bit Microprocessor Programmer's Reference Manual, fourth edition, $24.95. Motorola. (1984) Prentice-Hall, Inc., Route 9W, Englewood Cliffs, CA 07632. (201) 592-2000. Straight from the manufacturer: the authoritative guide to 68000 assembly language. It begins with a technical introduction to the general architecture and graduates to an alphabetical list of all the instructions. Each instruction has a terse but pithy description, along with a list of the condition codes it affects and its binary format. Includes extensive timing charts and information on prefetching, pipelining, and exception processing you just cannot find anywhere else
68000 Assembly Language Programming, second edition, $19.95. Leventhal, Lance, Doug Hawkins, Gerry Kane and William Cramer. (1986) Osborne/McGraw-Hill, 2600 Tenth Street, Berkeley, CA 94710. (415) 548-2805. This book should be subtitled "A Book Just Like All Our Other Microprocessor Books" because the Kane, Hawkins, Leventhal team churns out one of these massive volumes every time a new microprocessor becomes popular. It covers the full gamut of 68000 programming, stepping you through mounds of example programs. Its strong points are its variegated examples, its generic chapters on program design and debugging, and extensive coverage of input/output. It also has a nice bibliography.
The 68000: Principles and Programming, $16.95. Scanlon, Leo J. (1981) Howard W. Sams & Co., Inc., 4300 West 62nd Street, Indianapolis, IN 46268. (317) 298-5400. Leo J. Scanlon wrote one of the more popular 6502 books (6502 Software Design) and moved quickly into the next generation of microprocessors by putting out one of the first books on 68000 programming. It has an interesting historical introduction to the 68000 family of microprocessors, some nice tables, a few chapters on pinouts and interfacing, and some of the best tricks and tips I've seen. (For example, did you know that the quickest way to clear an address register is to subtract it from itself as in sub.1 a0,a0?) Unfortunately, some of the information is antiquated or just plain incorrect. Nonetheless, I found the discussions very helpful and I constantly use many of the tricks I picked up from this book.
68000 Assembly Language Programming: A Structured Approach, $32.00. Benett, Michael J. (1987) Prentice-Hall, lnc., Englewood Cliffs, NJ 07632. (201) 592-2000. The 68000 chip was built with high-level languages in mind. Motorola reasoned that an environment which aided compilers would be for the better and so built in a number of complex operations such as powerful stack allocation instructions, multiplication and division, and a complex error trapping and interrupt structure. This book is the first to systematically implement the structures and practices, previously found only in high-level languages such as Pascal. It illustrates the implementation of procedures, parameter passing, information hiding, local variable allocation, and input/output. This book also includes one of the best discussions on the LINK and UNLK instructions and, ironically, an excellent chapter on interrupt service routines.
COMPUTER GRAPHICS AND ANIMATION
Procedural Elements for Computer Graphics, $27.95. Rogers, David E (1985) McGraw-Hill Book: Company, 1221 Avenue of the Americas, New York, NY 10020. (212) 512-2000. For computer graphics programmers, this book is about as good as they get. It covers everything from seed fills to antialiasing to three-dimensional ray tracing and rendering. The procedures are extensively documented with flowcharts and diagrams, and the accompanying text is understandable, but at times brief. It also contains a phenomenal bibiography at the end of each chapter. The bibliography is worth the purchase price alone! The book's only drawback is that it is oriented toward larger, number-crunching systems. This book comes well recommended from Tom Hudson.
Applied Concepts in Microcomputer Graphics, $44.67. Artwick, Bruce A. (1984) Prentice Hall, Inc, Route 9W, Englewood Cliffs, NJ 07632. (201) 592-2000. In the areas where Procedural Elements falls short, this book specializes. The two make ideal companion volumes. The book focuses on microcomputer graphics and so it is written with the ideas of limited precision and processing time in mind. All concepts aren't covered with the depth of Procedural Elements, but they are dealt with clearly and systematically. Mr. Artwick's "Flight Simulator" expertise leads to the best chapter in the book, "High-Performance Graphics and Animation," where he covers subjects including flicker reduction, code optimization, and fixed-point multiplication. The book also includes a survey of the types of graphics systems available and can serve as a general introduction to computer graphics.
Principles of Interactive Computer Graphics, 2nd edition, $47.95. Newman, Willian M. and Robert E Sproul. (1979) McGraw-Hill Book Company, 1221 Avenue of the Americas, New York, NY 10020. (212) 512-2000. The main strength of the book lies in its conceptual models of graphics workstations, input techniques, and user interfaces, many of which could be well implemented on the ST, but haven't been yet. Anybody thinking of designing a graphics application would do well to read it. Additionally, it also contains the basics of three-dimensional transformations, curves and surfaces, shading, and matrix manipulation.
Geometric Modeling, $46.25. Mortenson, Michael J. (1985) John Wiley and Sons, Inc., One Wiley Drive, Somerset, NJ 08873. (201) 469-4400. A rigorous mathematical textbook on three-dimensional geometric modeling--the foundation of computer graphics. Extensive coverage of curves, spatial representation, and surfaces. Includes some of the best discussion on splines, B-splines, and Bezier surfaces I've seen. The last third of the book is devoted to applying these procedures in the computer graphics environment. Note: This book requires a background in calculus, analytic geometry, vectors, and matrix math.
Computer Animation; Theory and Practice, $35.00. Magnenat-Thalmann, Nadia and Daniel Thalmann. Tokyo (1985) Springer-Verlag USA, 175 5th Ave., New York, NY 10010. (212) 460-1500. This book is required reading for anyone even remotely interested in computer animation. At 235 concise pages, it stands as the most complete collection of information on computer animation. Beginning with an introduction to conventional animation and terminology, it then leads into a historical survey of computer animation systems, followed by techniques, algorithms, and system descriptions. It covers topics ranging from modeled animation and ray-tracing to actor language systems. The last chapter is perhaps the most valuable: a case study of the authors' prize-winning computer animated film Dream Flight, including storyboards, algorithms, and flowcharts. A surprising omission for U.S. readers, however, will be the work done by Pixar and Evans and Sutherland. Nonetheless, this book is impressive.
Turtle Geometry; The Computer as a Medium for Exploring Mathematics, $30.00 hardback; $14.95 paperback. Abelson, Harold. (1980) The MIT Press, 55 Hayward St., Cambridge, MA 02142. (617) 253-5251. As the sub-title of the book indicates, Turtle Geometry involves as much mathematics as it does turtle graphics. It begins by explaining the basics of coordinate geometry and forages into recursion, topology, general relativity, and even Einsteinian curved space-time, all the while using our friendly turtle as an example. It takes a hands-on approach--as the preface says, " . .much of almost any mathematics curriculum is devoted to practicing rote algorithms and rehashing ancient theorems. It is the rare student who gets the chance to approach mathematics by doing it rather than only learning about it." Anybody armed with a healthy curiosity and a copy of ST Logo or access to turtle graphics can begin exploring mathematical concepts that may otherwise be presented only in advanced college courses.
Godel, Escher, Bach: An Eternal Golden Braid; a metaphorical fugue on minds and machines in the spirit of Lewis Carrol, $13.95. Hofstadter, Douglas R. (1979) Vintage Books, Random House, Inc., 201 East 50th Street, New York, NY 10022. (212) 751-2600. Pulitzer Prize-winning mathematician, computer scientist, and one-time Scientific American columnist Douglas Hotstadter begins in the essence of Bach's Musical Offering and leads us through his vast range of knowledge, where we mingle with formal systems, artificial intelligence, semantics, neurophysiology, psychology, and metaphysics. Mr. Hofstadter's tour deforce encompasses a grand philosophy of men and machines, systematically building a foundation for such puzzling topics as Kurt Godel's incompleteness theorem and the amazing art of M. C. Escher. A long read, but a recommended one.
The Recursive Universe: Cosmic Complexity and the Limits of Scientific Knowledge, $7.95. Poundstone, William. (1985) Contemporary Books, Inc., 180 North Michigan Ave., Chicago, IL 60601. (312) 782-9181. The Recursive Universe deals with the venerable computer game of LIFE. Essentially, LIFE is a game played on a giant piece of computer graph paper. Certain cells are on and others off and these cells interact in an ingeniously simple manner, some dying off, some regenerating, in a kaleidoscopic splendor that hints of the primordial soup and recombinant DNA. Poundstone alternates chapters, discussing the game of LIFE and its various implementations, and then discussing the philosophical implications, grounding out in simple thermodynamics and self-replication. This book is both approachable and intellectually challenging.