mendoza@aero.ARPA (Lee Mendoza) (01/27/86)
----------- lineater offering ------------- I have recently picked up the book "Atari ST Internals" by K. Gerits, L. Englisch, and R. Bruckman; published by Abacus Software, cost $19.95. The book covers a wide variety of subjects in its 446 pages, including the integrated circuits (except the miscellaneous TTL parts), the hardware interfaces, and the operating system. Included in the book is a listing of the 20 June 1985 BIOS. In brief, it is a good addition to the developer's kit, but no substitute for the documentation contained in the kit. The book is divided into three chapters, The Integrated Circuits; The Interfaces; and The ST Operating System. The first chapter is about 60 pages long and provides cursory descriptions of each of the major circuits in the ST. The second chapter provides a 34 page description of the interfaces available on the ST including the pinouts of the connectors and a schematic diagram of each interface (except the cartridge). The final chapter takes up the main portion of the book and is contains descriptions of GEMDOS, BIOS, XBIOS, Line-A calls, the exception and interrupt handling, the VT52 emulator, the system variables, the 68000 instruction set and addressing modes. ----- start of long! review ------ The first chapter gives very short and incomplete descriptions of the custom chips (Glue, MMU, Shifter, and DMA) -- apparently the authors didn't have any more info from Atari than we do. The descriptions of the standard parts are more complete, but less than one could obtain from data sheets. Information on programming the standard parts (including the sound chip) are provided. A diagram of each chip is included, the only item missing is the notch in the DIPs and the bevel on the leadless chip packs. These diagrams might help clear up some of the memory upgrade confusion. The second chapter provides a diagram showing the pinouts of the connect- ors and a sort-of schematic. The keyboard description is probably better than the summation of the various documents provided in the developers kit. It has a listing of the keyboard commands and a program for dumping the keyboard ROM. The diagram of the codes returned by each key is especially nice. The manner in which the chips are used is presented in this chapter, giving an insight into the capabilities and limitations of the ST. An example is that the cartridge port cannot be written to (even if you bring out r/w lines) because the Glue chip will generate a bus error. The third chapter is the real reason to buy this book. The discussion of the GEMDOS calls is probably better than the GEM DOS Spec. provided with the developer's kit, but the examples are provided in assembler, not using a C language binding. This is probably not a major problem, as the bindings given in the GEM DOS Spec. do not match the include file osbind.h anyway. The descriptions of the XBIOS calls include the C bindings, but once again the examples are given in assembler. This section is roughly the equivalent of "A Hitchhiker's Guide to the BIOS" provided with the developer's kit. The real win in this book is the section which describes the graphics calls. Here 14 of the 15 "line-A" calls are described. The descriptions and examples are much clearer than "The Long-Awaited Line 'A' Document." The exception and interrupt sections provide in one place information which is scattered through- out the developer's kit (I think, I haven't found all the stuff in the kit yet). The listing of the system variables is more descriptive than the Guide, but not as extensive in the interpretation of values. One thing to note is that the value of _hz_200 ($4ba) is correctly reported (as opposed to the value $4bc given in the Guide). The next section is a listing of 68000 instructions, ok for getting the general idea of the BIOS listing which follows, but you won't be an assembler programmer after you're done reading it. The BIOS listing is old, and represents the version which was provided when the ST was first made available in the U.S. The listing suggests a way to find out what the date of your version of TOS is: using SID find the value of _sysbase (longword at $4f2) display the beginning of the os and examine the seventh longword. It should have the date (mine has $11161985). [If somebody has the TOS ROMs, please post the result.] In conclusion (finally!), I would recommend this book to developers and even to non-developers. It provides a reasonable description of the hardware and software. The major shortcoming is the lack of AES or VDI documentation, but that is alluded to by the very last printed page -- an ad for "GEM Programmers' Reference Atari ST," among others. One missing item is an index. This would have been real handy, but probably added an additional 20 pages. ------------------------------------------------------------------------------ Lee Mendoza (mendoza@aerospace.arpa) note: the opinions expressed above do not represent