Contents | < Browse | Browse >


/// Usenet Review:  The Amiga Guru Book
    -----------------------------------
    By Thomas Baetzler and Markus Illenseer
    (s_walter@irav1.ira.uka.de)


PRODUCT NAME

        The Amiga Guru Book


BRIEF DESCRIPTION

        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.


AUTHOR/COMPANY INFORMATION

        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
        (Euro)

        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
MasterCard!

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


LIST PRICE

        Suggested retail price is DM 79.-.


SPECIAL REQUIREMENTS

        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
clear.


REVIEW

        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.


GENERAL

        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
Linotype printing.

        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
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
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
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
powerful, built-in remote debugging tool for probing the deep internals of
the Amiga.


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.


CONCLUSION

        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.


CONCLUSIONS

        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
references.

        I rate this book 5 stars out of 5.


COPYRIGHT NOTICE

 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
                s_walter@irav1.ira.uka.de       (will be forwarded to me.)
                thomas_baetzler@mil.ka.sub.org  (usenet, slow but reliable)
                Medic BSS, 2:2476/454.2@fidonet (fidonet, what do you expect)


                Markus Illenseer, Kurt Schumacherstr. 16, 33613 Bielefeld,
                FRG
                Voice: ++49 (0)521 103995
                markus@techfak.uni-bielefeld.de