Path: menudo.uh.edu!usenet From: s_walter@irav1.ira.uka.de (Thomas Baetzler and Markus Illenseer) Newsgroups: comp.sys.amiga.reviews Subject: REVIEW: The Amiga Guru Book Followup-To: comp.sys.amiga.programmer Date: 3 Dec 1993 23:14:57 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 285 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Distribution: world Message-ID: <2doh9h$qvg@menudo.uh.edu> Reply-To: s_walter@irav1.ira.uka.de (Thomas Baetzler and Markus Illenseer) NNTP-Posting-Host: karazm.math.uh.edu Keywords: book, manual, AmigaDOS, programming, reference, commercial PRODUCT NAME The Amiga Guru Book [MODERATOR'S NOTE: This review was updated on Feb 21, 1994. Search for the text "[UPDATE:" to find updated information. -Dan] 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) [UPDATE: The Amiga Guru Book is now available from these other distributors. - Dan] Periscope Attn: Cody Lee Discs, Tapes, Books 1717 W Kirby Ave Champaign, IL 61821 USA Voice: (217) 398-4237 Fax: (217) 398-4238 Someware 27 rue Gabriel Peri 59186 Anor France Voice: +33 27596000 Fax: +33 27595206 E-Mail: didierj@swad.adsp.sub.org If you live outside of these countries, 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. 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 --- Daniel Barrett, Moderator, comp.sys.amiga.reviews Send reviews to: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews