             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
