Contents | < Browse | Browse >
/// Usenet Review: The Amiga Guru Book
By Thomas Baetzler and Markus Illenseer
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, and places special emphasis on DOS and related topics. Lots of
usable source code provides a practical, hands-on approach.
Unlike its predecessor, "Das Amiga-Guru-Buch", the Amiga Guru Book is
completely written in English.
Ralph Babel publishes the Amiga Guru Book by himself, so there is no
ISBN number. This 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 language,
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.
Although the book is published in Germany, it is written in English,
so you will need to know the language. The writing style is technical and
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 for myself.
The Amiga Guru Book is a thick paperback with about 730 pages. It
was typeset using the TeX system, which has probably contributed to the
book's clarity, good chapter organization, and high-quality, high-resolution
Ralph's writing style is generally concise and to the point, which
makes the Guru Book good a 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 hand-picked quotes taken from computer literature and various Amiga
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
AmigaDOS 2.0-only features are marked by double daggers.
The Guru Book is organized into three parts: "Programming", "System
Internals" and "Amiga DOS". The first few chapters especially 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/she might miss
some very interesting inside information about the Amiga internals.
PART I: PROGRAMMING
The first part details the use of data types throughout the book,
with special regard to the Motorola 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 book's
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 with your own
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
powerful, built-in remote debugging tool for probing the deep internals of
PART II: SYSTEM INTERNALS
The second and overall shortest part of the Guru Book covers Amiga
system internals such as 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 meanings.
This part also includes a detailed description of the system startup
and the meaning of the screen colors. Even the secret of the Amiga 1000's
startup melody is revealed.
The description of the hardware is closed with a rundown on the way
the CPUs of the Motorola 68000 family handle their exceptions.
PART III: DOS
By far the largest part of the Guru Book is devoted to AmigaDOS and
its inner workings. It contains basically what you'd expect to see if there
were such a book 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/her programs so that they'll
work on both versions 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 (Directory Caching File System), which was introduced with
AmigaDOS 3.0. However, such information is still confidential and available
to registered developers only.
The Guru Book is a very interesting source of hints and examples
never seen before. 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 one really gets is 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 character set, and internals of the Motorola CPUs.
This gives the Amiga Guru Book a nice edge over the completion.
LIKES AND DISLIKES
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 successful 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 the book a good and interesting
read. Each chapter of the book is introduced with a few funny and topical
quotations taken from literature or the Net. The words of famous Amigans
like Leo Schwab, Andy Finkel and Mike Sinz are quoted from the newsgroups
net.micro.amiga and comp.sys.amiga, way back when the Amiga was first
discussed on 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 describes SAS/C 5.x style command line switches, and
version 6 is already available. However, the reference 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 many 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 just have to work it out yourself.
COMPARISON TO OTHER SIMILAR PRODUCTS
The Amiga Guru Book is based on the older German edition "Das
Amiga-Guru-Buch". While the German edition was based on Workbench 1.3, the
new release is now fully OS 2.0 compliant. Even the "Guru Meditation" on
the old cover has 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 AmigaDOS 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
detail and depth of 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 AmigaDOS, this book is a must.
With more than 700 pages, it sets the new standard for quality in Amiga
I rate this book 5 stars out of 5.
Copyright 1993 Thomas Baetzler & Markus Illenseer. All rights reserved.
Reprinted with permission.
You can contact the authors at:
Thomas Baetzler, Herrenstr. 62, 76133 Karlsruhe, FRG
firstname.lastname@example.org (will be forwarded to me.)
email@example.com (usenet, slow but reliable)
Medic BSS, 2:2476/454.2@fidonet (fidonet, what do you expect)
Markus Illenseer, Kurt Schumacherstr. 16, 33613 Bielefeld,
Voice: ++49 (0)521 103995