Classic Computer Magazine Archive START SPECIAL ISSUE NUMBER 1

BOOKS

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.

C

gemguide.jpg
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

primer68000.jpg
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.

geometricmodeling.jpg
Geometric Modeling

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

precedualbook.jpg
Procedual Elements for Computer Graphics

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.

turtlegeometry.jpg
Turtle Geometry

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.

MISCELLANEOUS

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.


The Abacus ST Library

By Patrick Bass START Technical Editor

When it came to documenting the Atari ST, Abacus got the jump on everyone. They released the first two of their ST reference books months before any other third-party developer, and I've had a love-hate relationship with them ever since. While the books are valuable, and packed with important material, be warned they contain many typographical errors and omissions. However, what they do contain far outweighs any trouble you may encounter from factual omissions or misspelled words. In the two years since they started publishing ST reference books, Abacus has introduced a complete library for the Atari ST. Let's take a look at them in order of importance to the ST owner.

Atari ST Internals: the authoritative Insider's Guide, 1985. ($19.95) You won't find a mention of GEM in this book, though it covers GEMDOS, Bios, Xbios and the hardware. Virtually every description of each O.S. call includes sample code, mostly in assembly language, but often in C. This book includes extensive documentation on the IKBD (Intelligent Keyboard), an introduction to the Line-A routines, and a commented disassembly of an early version of TOS.

Atari ST GEM Programmer's Reference. 1985. ($19.95) The only serious alternative to the GEM documentation in the Atari Developer's Kit, the GEM Programmer's Reference describes the basic differences between the AES (Application Environment Services) and the VDI (Virtual Device Interface) with clear examples and sample values. With a little study, you can soon be opening windows and reading mouse clicks. However, many of the GEM calls are left out (for example, the entire file elector box library) and the manual is by no means definitive, but I have found it handy on a number of occasions.

Atari ST Disk Drives, 1985. ($24.95) This edition includes everything you ever wanted to know about Atari disk drives, but were afraid to ask. All the different types of drives are covered, from RAMdisks to hard disks, with a sprinkling of floppies thrown in here and there. It includes complete details on disk structure. and even includes source code for disk handling routines.

ST Machine Language, 1985 ($19.95) If you plan on learning how to program in 68000 assembly language, this is one of the books you should pick up. Not for learning 68000, mind you, as there are many better books that show how to do that (see the Books article, but for implementing your 68000 code on the Atari ST. I enjoyed the fact that each one of the examples in this book were written and designed for use on the Atari ST, and each gives insight into how to graft your machine language routines to the ST to get your work (or play) done.

ST Peeks and Pokes, 1985. ($16.95) Here's a book which includes most of the important memory locations inside the ST, and shows what happens when you go POKEing or PFEKing around in memory. That's right, folks--you can't tell what's where without a map, but this book is the map. It also covers different languages, including LOGO and ST BASIC.

ST Tricks and Tips, 1985. ($19.95) This volume is a collection of programs and information about the Atari ST: Basically, it reproduces source code for building everything from a RAMdisk to a printer spooler, all in a variety of languages. If you need example source code for getting started in the world of ST programming, this is an inexpensive way to go.

ST 3D Graphics, 1985. ($2$.95) Well, you've been flying around in Flight Simulator II for weeks now, and you're getting interested in exactly how they programmed that three-dimensional world into your ST. This volume contains not only the methods used for three-dimensional graphics, but example source code you can just plug right inside your own programs. What more could you need?

ST Graphics And Sound, 1985. ($19.95) Yes, we all know the Atari ST can produce stunning pictures and sound. Want to know how? This book covers everything you need to know, including exactly how images are stored in memory, and gives example source code for saving pictures to disk or retrieving them. Accessing the sound chip is covered also, in a section telling how to make the ST beep in terror. Have fun!

Intro to MIDI Programming, 1985. ($19.95) Programming is nice, but you want to hook a synthesizer up to your ST and turn yourself into the next Vangelis or Jean-Michel Jarre. But how do you tell your synthesizer to communicate with the ST? In Intro to MIDI Programming, you'll find out how to communicate with the Casio CZ-101 synthesizer in its own language, and make it wail sweet violins all over your code. Includes C source code for you to study.

Presenting the Atari ST, Atari ST for Beginners, ST BASIC Training Guide, 1985. ($16.95 each) Here are three completely low-level books for the absolute beginner ST user. All cover the system architecture, GEM and various aspects of the Atari ST operating system (TOS). If you're a complete neophyte user, then these books are for you.

ST LOGO Users Guide, 1985. ($19.95) This book should be perfect for those of you who are still using the LOGO Atari gave away with the early Atari STs. This book contains everthing you ever wanted to know about LOGO. You'll have that turtle breakdancing across your screen in no time

ST BASIC to C, 1985. ($19.95) If you've been using BASIC for a while and think you may want to move up to a somewhat higher-level language on the Atari ST, like C, then you should get this book. There aren't that many differences between different languages, and this book makes the transition easier. But note: you'll need C, in addition to BASIC, in order to use this book. Abacus Software, PO. Box 7211, Grand Rapids, MI 49510 (616) 241-5510