The Amiga Guru Book


	The Amiga Guru Book is probably the ultimate programming reference for
the Amiga.  It details the inner workings of the commercial C compilers,
the OS, with special emphasis on DOS and related topics.  Lots of usable
source code provide a practical hands-on approach.

	Unlike its predecessor, "Das Amiga-Guru-Buch", the Amiga Guru Book is
completely written in English.


	Name:		Ralph Babel 


	Ralph Babel publishes the Amiga Guru Book by himself, so there is no
ISBN, which means that you probably won't be able to order it from your
local bookstore. For Germany, the official distributors are:

	Buchhaus Gonski					Buchhandlung Bouvier
	Neumarkt 18a					Am Hof 32
	D-50667 Koeln					D-53113 Bonn
	Voice: +49 (221) 20909-72/76	Voice: +49 (228) 72901-69
	Fax: +49 (221) 20909-59			Fax: +49 (228) 72901-78

	Hirsch & Wolf OHG				Mainhattan-Data
	Mittelstrasse 33				Schoenbornring 14
	D-56564 Neuwied					D-63263 Neu-Isenburg
	Voice: +49 (2631) 8399-0		Voice: +49 (6102) 588-1
	Fax: +49 (2631) 8399-31			Fax: +49 (6102) 51525
	(VISA, Euro)					(VISA, Euro, AmEx)

	DTM-Computersysteme				Unlimited GmbH
	Dreiherrenstein 6a				Kehrstrasse 23
	D-65207 Wiesbaden				D-65207 Wiesbaden
	Voice: +49 (6127) 4064			Voice: +49 (6127) 66555
	Fax: +49 (6127) 66276			Fax: +49 (6127) 66636

	Currently, there is no official distribution set up for foreign
countries.  If you live outside of Germany, please feel free to give any of
the above listed dealers a call to find out whether they will send you a
copy, and how much it will cost you.  I have indicated which dealers will
accept payment by Credit Card.  Dealers accepting Eurocard will also accept

	Hirsch & Wolf will definitely accept foreign orders, and payment via
Credit Card.  Pricing will depend on the method of shipment.


	Suggested retail price is DM 79.-.


	The Amiga Guru Book is intended for the advanced Amiga programmer.  You
really should have some working knowledge of C and/or Assembly as well as
the Amiga OS's innards before you proceed to study the book.

	You should have a working C compiler and/or Assembler if you want to
test or use the provided examples.

	You don't need to know German to read this book, it is written in plain
technical English.


	Reviewing a book like the Amiga Guru Book isn't done easily.  If you
wanted to do it fullest justice, you'd have to be able to understand
everything, something I don't claim of myself.


	The Amiga Guru Book comes as a thick paperback of about 730 pages.  It
was typeset in TeX, which has probably contributed to the fact that it's
clearly readable and well organized into chapters, as well as facilitated
high quality printing using film done on a Linotype in high resolution.

	Ralph's writing style is usually concise and down to the point, which
makes the Guru Book good technical lecture.  However, he manages to slide
in an ironic remark every once in a while to keep the reader amused.  If
you like his dry humor, you'll enjoy the chapter headings even more, since
they feature handpicked quotes taken from computer literature and various
Amiga personalities.

	The recommended way of reading the Guru Book is to work through it once
to understand what is said where, and then return to the chapters you are
interested in on a need-to-know basis.  The large and well-organized index
helps a lot when proceeding this way.  Throughout the book obsolete
features have been marked with a superscript dagger symbol, while new 2.0
only features are marked by double daggers.

	The Guru Book is organized into three parts, "Programming", "System
Internals" and "Amiga DOS".  Especially the first few chapters should be
considered basic reading, as they help you to understand much of what's
going on later in the book.  Besides that, even this early in the book, you
can find useful information like how to determine your program's stack
size, system resources and such.  The experienced programmer might want to
skip this part, but it is really not recommended to do so, as he might miss
some very interesting inside information about the Amiga internals.


	The first part details the use of datatypes throughout the book, with
special regard to the MC 68000 and its derivatives.  Here, Ralph explains
the features and differences of the currently available CPUs, and their
extensions.  Also featured are general programming guidelines and notes on
programming in assembly and C.

	Users of other programming languages might complain that the emphasis
on C is too heavy for their taste.  But as a matter of fact, the herein
presented notes on C programming and especially the compiler comparisons
between Aztec and SAS/C aren't superfluous at all.  They give you a basic
understanding of how those compilers handle things, which is quite useful
if you want to port programs written in C --- like all of the examples
provided in the book --- to another language, or if you want to interface
existing code to your own programs.

	This leads to a comparative description of SAS/C 5.x and Aztec C
compiler switches, the contents of amiga.lib, and a chapter on ROMWack, a
powerfull built-in remote debugging tool for probing the extreme internals
of the Amiga.


	The second and overall shortest part of the Guru book covers Amiga
system internals like the memory maps of various Amiga systems, the way the
reset works, and how custom code may be added to the reset routine.  It
also deals with Alerts and Gurus, and their inherent meaning.

	This includes a detailed description of the system startup and the
meaning of the screen colors.  Even the secret of the A1000 startup melody
is revealed.

	The description of the hardware is closed with a rundown on the way the
CPUs of the MC 68000 family handle their exceptions.


	By far the largest part of the Guru Book is devoted to DOS and its
inner workings.  It contains basically what you'd expect to see if there
was such a thing as a "Rom Kernel Manual:  AmigaDOS".  If you have grown
exasperated with the Bantam AmigaDOS Reference Manual, you'll just love
this!  There's basically everything you need to know about dos.library,
filesystems, handlers and much more.

	Both Kickstart 1.3 and 2.0 dos.library functions are mentioned.  All
new functions which were introduced in OS 2.0 are clearly marked as such,
so that the discerning programmer can adapt his programs so that they'll
work on both revisions of the system software.

	The only drawback I was able to detect is the rather short chapter on
the current filesystems:  I would have liked to see more information about
the new DCFS, which was introduced with WB 3.0.  However, such information
is still confidential and available to registered developers only.


	The Guru Book is a very interesting source of never-seen hints and
examples. For example when reading the chapter about the CLI, one might
expect a simple description of CLI internal commands, variables or script
handling; but what you really get is by far more than that:  you can learn
how to write a user-shell, program shell I/O streams, and as a bonus you
get completely functional source code examples.

	The book also contains basic computer knowledge, such as a rundown of
BCPL, the ISO 6429.2 charset and internals of the Motorola CPUs.  This
gives the Amiga Guru Book a nice edge over the completion.


	The Amiga Guru Book is not easily digested.  You'll want to return to
it over and over again to read up on special topics.  The level of accuracy
and detail maintained throughout the book is amazing.  Thus, it is a
reliable source of information and in my opinion a successul attempt to
merge common references such as parts of the ROM Kernel Manuals and other
Amiga literature into one book.

	Ralph Babel's unique humor makes it a good and interesting read
nonetheless.  Each chapter of the book is introduced by a small list of
funny and topological quotations taken from literature or the net.

	Imagine that he cites from net.micro.amiga and comp.sys.amiga, were
people like Leo Schwab, Andy Finkel and of course Mike Sinz just started to
discuss the Amiga on the usenet.

	Or take a look at the Software Failure right on the cover of the book.
Can *you* make sense of "Error:  8703 80001 Task:  C7E4D9E4"?

	(In case you can't, here's the answer in ROT13, as not to spoil your
fun: Gur reebe pbqr vf bs pbhefr "qbf.yvoenel: Pna'g bcra rkrp.yvoenel". Gur
pbqr vf n ovg zber qvssvphyg: vg'f gur fgevat "THEH" rapbqrq va RQPOVP.)

	Chapter 6, "Reference Charts for SAC/C and Aztec C" is a bit outdated,
since it only describes SAS/C 5.x style command line switches. However, it
is still useful in conjunction with the examples given in Commodore's Rom
Kernel Manuals, because those rely heavily on SAS/C 5.10.  All the examples
in the Guru Book, though, have been designed for use with both SAS/C 5.x
and 6.x, and makefiles are supplied for both versions.

	Throughout the Amiga Guru Book, you can find lots of interesting source
code fragments and listings.  Most of them are meant to illustrate the
practical use of functions and techniques discussed in the code, but there
are also fully functional and useful programs.  The latter also contain
checksums, which can be verified after you have typed in and compiled the
supplied checksum program.  I'd love to see them available on electronic
media, since I'm usually too lazy to type them in myself.  Ralph Babel
himself has indicated that he currently doesn't plan to release the
sources, as he fears that this would hurt the sales of the book when people
would just pick up the sources.

	My only gripe is that I would like to see more examples about how to
handle AmigaDOS in all details.  However, this is no real drawback, as all
the DOS functions are well described and the references to Ansi-C standard
I/O are commented.  You'll only have to work it out yourself.


	The Amiga Guru Book is based on the older german edition "Das
Amiga-Guru-Buch".  While the german edition was based around Workbench 1.3,
the new release is now fully OS 2.0 compliant.  Even the "Guru Meditation"
on the cover mutated to a full-fledged OS 2.0 "Software Failure".

	As for reference works, the obvious comparisons are the Rom Kernel
Reference Manuals from Addison Wesley and the DOS Manual from Bantam.  The
Guru Book does its best to supplement the information contained in the
former, and to replace the latter.

	There have been many other attempts to write reference books for the
Amiga, but not a single one matches the Amiga Guru Book in the richness of
details and depth background.


	Along with the Rom Kernel Manuals, the Amiga Guru Book is one of the
essential reference works every serious Amiga programmer should own.  You
might get along without it, but if you need in-depth information on the
workings and usage of the OS and especially DOS, this is a must.  On more
than 700 pages, it sets the new standard for quality in Amiga references.

	I'd rate it 5 stars out of 5.


	Copyright 1993 Thomas Bätzler & Markus Illenseer.  All rights reserved.

Auswege: Impressum, Haftungsausschluß, Datenschutz, zurück zur Amiga-Seite, Meine Homepage.
Links: Imprint, back to the Amiga page, My Homepage.

Thomas Bätzler,
$Id: gurubook.html 1.4 1995/11/17 09:12:29 thb Rel thb $