ATARI PROGRAMMING BOOKS REVIEW by Peter Hibbs There is always a need for technical books by Atari programmers, the problem is which books to get especially when funds are limited and whether they are even still available. This article provides a brief description of a number of Atari related programming books that I and some colleagues own and which may be of some help to prospective purchasers. It is not intended to be an 'in-depth' review of each book but rather a description of what the book contains and whether we think it is worth buying. This is, of course, a purely subjective view, other readers may have a different idea on the usefulness of any particular book although I don't think you can have too many books on programming since no book tells the user absolutely everything he wants to know (usually quite the reverse in fact). Unfortunately a number of these books are no longer available although some may be obtainable in America if anyone has any contacts there. The prices (where quoted) are what I paid at the time and may be different now and should, therefore, only be taken as a rough guide. The asterisks following the titles indicate that the book is available from the address mentioned at the end of this document. Several of the books mentioned below (including the ST Internals and Compute books) appear in the latest ST Applications magazine 'For Sale' section, presumably being sold by programmers that are defecting to other computers. If you don't have the mag we (ICTARI) can let you have the contact numbers if you ring us on 0425 474415. ---------------------------- Atari ST Internals (480 pages) Published by Abacus Software ISBN 0-916439-46-1 (œ14.95) Authors- K Gerits, L Englisch, R Bruckmann This book seems to have become the Atari bible on the ST and is reasonably comprehensive although lacking in great detail. It gives a brief description of the main chips and how they are used in the system as well as their addresses in the memory map. There is not really sufficient detailed information on the chips to program them properly however. Chapter 2 deals with the interfaces and gives quite a good amount of information on the connections and particularly on how to program the keyboard processor. There are also details on the cartridge port, video port, MIDI port, DMA port and the Centronics port. Chapter 3 covers the operating system calls i.e. GEMDOS, BIOS, XBIOS, A LINE calls, exception vectors, interrupts and VT52 emulator. Each BIOS call is described with a brief example of how to use it in C and Assembler. There are very few practical examples of code however. There is also a list of system variables and the 68000 instruction set. The last 190 pages are taken up by a dissaembled listing of part of the BIOS system which can be useful if you need to delve into the operating system but wastes a lot of space if you don't. The appendix shows the three system fonts and an index. There are a number of minor errors in the book but not any that a reasonably competent programmer can't sort out. The book is quite well laid out and it is easy to find the information you are looking for, I find that I tend to use this book first when looking up any BIOS calls. It is certainly worth having as a good reference book in spite of the lack of detailed information. There is, of course, no mention of the extra STE BIOS calls as the book was issued before the STE came out. ---------------------------- ATARI ST 3D Graphics programming (330 pages) * Published by Abacus Software ISBN 0-916439-69-0 (œ17.95) Author- Uwe Braun This book describes methods for drawing 3D images and provides dozens of example programs all in machine code. There are a lot of illustrations and explanations of the various programs. There is quite a lot of maths involved in some of the explanations but this could probably be skipped over if it is too difficult (I did). It covers line drawing, clipping, hidden lines, fill surfaces, shading, etc, etc. It is fairly heavy going if you are going to follow all the code in the book but it does give a lot of useful information on drawing line images. Recommended if you are into 3D graphics. ---------------------------- GEM on the ATARI ST (414 pages) Published by Abacus Software ISBN 0 948015 667 (œ12.95) Authors- Norbert Szczepanowski, Bernd Gunther This book is basically a reference book for the GEM VDI and AES rather than a tutorial on GEM. Each VDI and AES call is shown with the C and Assembler format as well as the function of the various arrays (i.e contrl, intin, intout, pstsin, etc). There are a few example programs in C and Assembler which help but there is no way you could learn the VDI and AES from this book. However, once you know what you are doing it is an extremely useful reference book because it is well laid out and quite easy to find the information you want. There are also diagrams of the different fill patterns and text types and I find that I use this book frequently. ---------------------------- ST Disk Drives: Inside and Out (410 pages) * Published by Abacus Software ISBN 0-916439-84-4 (œ18.95) Authors- Uwe Braun, Stefan Dittrich, Axel Schramm This book gives a fairly detailed description of the disk file structures for floppy disks and hard disks (the Atari SH204 anyway) as well as a useful example of a simple RAM disk program. There are descriptions of the boot sector, BIOS parameter block, directory format, File Allocation Tables, program header, relocation table,etc. There is a very detailed description of the Floppy Disk Controller chip (the WD1772) including the hardware layout and register functions. There are numerous examples with detailed flow charts. Most of the example programs are in Assembler although there are also brief examples of C, Basic and even Pascal and Fortran. A large chunk of the book is taken up with a program listing (in Assembler) of a disk editor. There are also some (brief) examples of using the file handling BIOS calls and a formatting program. This book covers all the basics of disk drives but, considering the size of the book, does not seem to go into great detail on file handling (especially on hard disks) but is, nevertheless, a useful book to have. ---------------------------- Atari ST Tricks & Tips (262 pages) * Published by Abacus Software ISBN 0-916439-47-X (œ13.95) Authors- K Gerits, L Englisch, R Bruckmann, J Walkowiak This book is basically a book for beginners, it has programming examples in ST BASIC, Assembler and C. The program listings include a clock display (Basic), a time displayer, a print spooler, RAM Disk, printer screen dump in colour, plotter dump in colour (all in Assembler). There are some C examples of GEM programming such as window applications and accessories. These are fairly brief but do provide some useful information, probably a useful book to have if it is cheap enough but most of the contents can be found in other larger books. ---------------------------- Atari ST: Volume 1: The VDI (343 pages) * (Now out of print) Published by COMPUTE! Books ISBN 0-87455-093-9 (œ18.95) Author- Sheldon Leemon This book explains the operations of the VDI GEM calls in quite good detail with plenty of example programs. Most of the listings are in C (with a few in Assembler and Basic) but they are usually easy enough to follow. The main advantage is that the main functions are well explained with numerous diagrams included. The appendix includes the keyboard codes, VDI font format and the system character set with the decimal equivalent codes. There is a comprehensive VDI function reference section and a good index to the main sections. It is not quite so easy to find a particular subject quickly but it is an essential book to have when trying to learn how to use the VDI system. ---------------------------- Atari ST: Volume 2: The AES (330 pages) * Published by COMPUTE! Books ISBN 0-87455-114-5 (œ18.95) Author- Sheldon Leemon This is the second volume of the COMPUTE! series and covers the AES part of GEM. There are detailed explanations of starting applications, windows (including the dreaded rectangle list redraw system), resource files, menus, file selector, object handling, events (including evnt_multi), etc, etc. There is also some information on graphics libraries and accessories. As in the previous book most of the examples are in C but the main listings are also shown in Assembler. Again this book is essential for learning about the AES. ---------------------------- Atari ST: Volume 3: The TOS (410 pages) * Published by COMPUTE! Books ISBN 0-87455-149-8 (œ22.95) Author- Sheldon Leemon This is the third book in the COMPUTE! series and covers the TOS (the BIOS calls, XBIOS calls and GEMDOS calls) in some considerable detail. Each function is described with numerous example programs in C and Assembler. There is also detailed coverage of the Keyboard controller, graphics, sound chip, A line routines, MFP chip and file handling functions. The appendix gives information on error codes, system characters, keyboard codes, ST memory map and VT52 escape sequences, amongst other things. Although the Atari Internals book (described above) also contains much of the same information, this book describes the operation of the calls in much more detail. Even though this book was written at a later date than the previous books there is still no mention of the extra STE XBIOS calls. Nevertheless, definitely a book to have in your library. ---------------------------- Atari ST: Machine Language Programming Guide (315 pages) Published by COMPUTE! Books ISBN 0-87455-039-4 (œ18.95) Author- Simon Field This book is intended for beginners in Machine code programming on the Atari ST. The main part of the book describes the 68000 instruction set and how to write machine code programs. It uses the AS68 assembler as an example but the programs can easily be converted to a more modern assembler such as DevPac. The second half of the book shows example programs using various BIOS calls and how to display sprites on screen, how to generate sounds, etc. There is quite a comprehensive list of system variables with a brief description of each one. This book would be very useful for the programmer who is new to machine code but the experienced programmer would probably not find much new in it. ---------------------------- The ST Assembly Language Workshop (261 pages) * Published by Kuma Computers Ltd ISBN 0-7457-0053-5 (œ14.95) Author- Clayton Walnum This is another book for learning machine code on the Atari. It covers all the 68000 instructions set and has plenty of example programs, some of which also use the BIOS calls. Again this book will be useful for beginners but less so for experienced machine code programmers. This book is, in fact, the first of a set of three. The next two, which I don't think have been published yet, will cover the programming of the GEM, VDI and AES in some detail. If they cover the subject in as much detail as this book does, they should be worth getting. ---------------------------- Midi and Sound Book for the Atari ST (295 pages) * Published by M & T Publishing Inc ISBN 1-55851-042-7 (œ17.25) Authors- B Enders, W Klemme This book describes the operation of the sound chip with a few example programs in GFA Basic and C although the subject is covered fairly briefly. The next section describes the MIDI system in quite some detail including the MIDI command set and some examples of professional MIDI programs. The supplement describes a circuit for a sound digitizer and then lists a program (in Assembler) to sample the sound and replay it through the sound chip. The supplement also includes a table of note pitches with their equivalent frequencies and hex codes for the sound chip and covers octaves -3 to +4. For anyone interested in MIDI or sound sampling this would be a very useful book to have. ---------------------------- Real-Time 3D Graphics for the Atari ST (254 pages) * Published by Sigma Press, UK ISBN 1-85058-217-3 (œ12.95) Author- Andrew Tyler This book is definitely for the advanced machine code programmer and describes a method of drawing 3D graphics in real time. The examples cover A line routines, line drawing, polygon filling, hidden line removal, surface illumination, mouse and joystick control, clipping and dozens of other subjects. There are thousands of lines of machine code (which is available on disk) as well as diagrams and mathmatical formulae. This book is obviously full of very useful data once you can decipher it all although it must be said that the explanations with the routines are very well done and are quite comprehensive. For the price the book is also very good value for money and if you need to know about Homogeneous coordinates, Bresenham Algorithms, frustums of visibility, Euler angles, etc then this is the book for you (and even if you don't it is still a useful book to have). ---------------------------- C-Manship complete (398 pages) * Published by Kuma Computers Ltd ISBN 0-7457-0042-X (œ14.95) Author- Clayton Walnum This book describes the VDI and AES on the Atari ST using the C language. There are plenty of examples of programming techniques in C and is very useful for learning how the AES and the VDI work on the Atari ST. The book is not so good for learning C itself, however. Some other standard text book on C would be required for this. ---------------------------- Program Design Techniques for the Atari ST (360 pages) Published by Kuma Computers Ltd ISBN 07457 0029 2 (œ14.95) Author- Paul Overaa This book is primarily concerned with the techniques of programming rather than the detailed information on the ST hardware or software, in fact, although the ST features in the title, there is very little concerning the ST itself. The book could be used in conjunction with any computer that allows the use of C or Basic programming. The book shows the methods of planning a large program by breaking it down into smaller sections and coding each section with flow charts. There are descriptions of Venn diagrams, truth tables, Karnaugh maps, etc and the main emphasis is on Warnier diagrams as a means of showing program structure in diagrammatic form rather than conventional flow charts. The languages covered are Assembler, C and Basic. This book would probably be quite useful for beginners to programming but less useful for experienced programmers. ---------------------------- Introducing Atari ST machine code (400 pages) * Published by zzSoft ISBN 1 873423 01 2 (œ19.75) Authors- R Pearson, S Hodgson This book is for machine code programmers who have a reasonable knowledge of the 68000 CPU and wish to know how to program with the Atari operating system. There is only a brief explanation of the instruction set, the majority of the book being concerned with using the GEM system calls. Chapters 1-5 describe the data types, debugging, addressing modes and instructions. The following chapters cover file handling, screen mapping, picture conversion (Degas), disk formatting, VDI, GEM objects, drop-down menus, text editing, file selector, bit images, GEM windows, VDI, GDOS and assign files, desk accessories and GFA Basic interfacing. Each section seems to be covered in quite good detail and there are hundreds of example programs. There is also a disk available which contains all the source code shown in the book as well as an assembler, debugger and a resource code editor. In the miscellaneous section there are some useful tips on programming and some small example programs for solving the 'right mouse button' using the event_mult AES call, booting from drive B and ASCII-Hex and Hex-ASCII conversion routines. I would recommend this book for any machine code programmers who do not have anything equivalent. ---------------------------- Musical Applications of the Atari ST's (90 pages) * Published by Bernard Babani Ltd ISBN 0-85934-191-7 (œ5.95) Author- R A Penfold Although this book has only 90 pages the size of the pages are larger than the other books described (19cm x 26cm) and at only œ6 is good value for money. The first chapter describes the operation of the internal sound chip and the register functions. The next chapter shows the various MIDI connections used with musical instruments, thru boxes, MIDI filters, etc. The are lots of circuit diagrams showing the various configurations. The next two chapters describe the MIDI system itself with more circuit diagrams. The next chapter describes some MIDI applications programs such as Notator, EZ-Track and a shareware sequencer program. There is then a chapter on 'add-ons' with circuit diagrams to wire up. There are a number of small programs in Basic to use in conjunction with the sound chip and the MIDI ports. A useful book for anyone interested in MIDI applications. ---------------------------- The Concise Atari ST 68000 Programmers reference guide (320 pages) Published by Glentop Publishers Ltd ISBN 1-85181-017-X (œ15.95) Author- Katherine Peel This is purely a reference book and consists mainly of lists of GEM functions, tables, hardware connections, etc, etc. Virtually everything to do with the Atari ST (not STE) is listed somewhere in the book although it can be quite hard to find sometimes. There are a few machine code example programs in the back but not anything that can't be found elsewhere. There are virtually no explanations of any of the data so you need to know what you are looking for to be able to use the book properly. ---------------------------- Microprocessor Programming for the Computer Hobbyist (380 pages) Published by TAB Books, Pennsylvania, USA ISBN 0-8306-6952-3 (œ6,50) Author- Neil Graham This is not specifically an ATARI book, it is a general book on programming and can be used by any programmer since it is not designed for any particular language. It covers various programming techniques such as Number systems, Base conversions, Data definitions, Control structures, Program design, Multiple precision arithmetic, Floating point arithmetic, Pseudo random numbers, Data structures, Stacks, Queues, Deques, Strings, Chains, Trees, Graphs, Searching trees & lists, Hashing, Indexes, Key retrieval, Searching game trees and sorting lists, etc. All the example programs and routines are listed in 'pseudo code', i.e. as a list of operations so that they can be easily coded in the users language. I have used it lots of times for solving programming problems and I would suggest it is an essential book for any programmer to have. Unfortunately, according to my local bookshop, it is not available in this country any more although some specialised technical bookshops (such as those found in University cities) may still have copies. If you can find a copy, buy it (and let us know). ---------------------------- HiSoft have just released two new Atari books which I have not seen. I quote from their advertisment in ST User magazine :- "Modern Atari System Software (256 pages) œ19.95 This invaluable book contains all the latest details of Atari's newest system software together with the bindings for Lattice C 5.60, HiSoft Basic 2.10 and DevPac 3.10 - essential for all serious programmers who want to use these packages. Majoring on the Falcon030, Modern Atari System Software contains extensive discussion on programming this exciting new machine. The Atari Compendium (840 pages) œ39.95 Finally! This book, from Scott Sanders, provides the most comprehensive collection of information designed for every level of Atari programmer. It covers all Atari 680x0 computers from the 520ST up to the Falcon030 and includes a detailed reference for every function present in TOS 1.0 up to TOS 4, and beyond. This is the book we've all been waiting for.." These books sound good and usually HiSoft release good quality material, perhaps if anyone gets one they could send in a short review. The following books are also available from the address below although I have not seen them, perhaps someone else who has could enlighten the rest of us. Atari Basic to C by Hart and Wig Atari ST Graphics Applications by Dirk Schaun Atari ST Machine Language by Grohmann, Seidler & Slibar Atari ST Programmers Guide by Gilbert Held Compute! ST Artist by Bateman & Noel Presenting the Atari ST by Englisch & Walkowiak The Atari ST Explored by John Braga Program by example Atari ST by Graham McMaster Program Design Techs Atari ST by John Braga Most of the above books are available from- Douglas Communications, PO Box 119 Stockport, SK2 6HW Telephone 061-4569587