The natural reaction to a new book on the Archimedes OS, is Yippee! I can throw away my copy of Acorn's Programmer's Reference Manual (PRM). But as we shall see, this is not possible just yet.
In fact, Dabs new book (which I'll refer to by its initials AOS) falls into the area between the Archimedes User Guide and the PRM. This is difficult territory, since there is a danger of just re-hashing Acorn's User Guide for the Archimedes. The book actually opens by admitting that a copy of the PRM will also be needed by those producing serious applications.
AOS is aimed at people who have read the User Guide and would like to move on to something more advanced, or those who have bought the PRM and would like some further explanation. The reader is assumed to have just the standard system: no space is devoted to things like the Acorn linker, or the various compilers etc. now available. Interfaces to the OS are described from either Basic or Basic assembler. In contrast, despite the A User's Guide subtitle, AOS is really of more use to programmers than users. In fact non-programmers would probably be best advised to avoid this book.
One problem the writers have had to face is the now imminent release of RISC OS. Is the book compatible with this? In fact, the minimum of revision has been undertaken to ensure that all the features of Arthur described are relevant under RISC OS. So you can happily use the book with RISC OS, but some of the new features which are very useful even at a basic level, like the printer drivers and draw module, are omitted.
Having said that, coverage is pretty comprehensive: there are chapters on everything from the philosophy behind RISC processors to how to write your own modules and applications, including assembly language and the ARM chip set. As one might expect, there is information on the usual SWI calls concerned with files, miscellaneous OS functions, and character input and output. Other chapters cover vectors and interrupts, and conversion SWI calls. There are four chapters on the sound system as well as a chapter each on the Window Manager and font system.
There is a good description of the command line interpreter, both from the star prompt, and from Basic or assembler (using OSCLI). This deals with such subjects as aliases and OS variables. Another sizable chunk deals with filing systems, the file switch module and filing system SWI calls.
The chapters on modules and applications give coverage to the neglected subjects of memory management including claiming memory from the heap. A demonstration 'shell' program shows how to run one application from inside another.
The description of the support chips (like VIDC and MEMC) is interesting, but probably stops just short of being really useful. The programmer's interface to the floating point unit is also described.
Such comprehensiveness leads one to wonder whether a mere 14 pages on the Window Manager will convert the novice into a WIMP expert, or if the space could have been better used. Given this constraint, the chapter on the Window Manger is not too bad, with an extensive example at the end. However, not all the Arthur 1.2 features are covered, and even the RISC OS extensions to the WIMP which a beginner could use are not mentioned.
The chapters on the sound system present this difficult subject in a clear way. They culminate in a voice generator module which will convert a sampled waveform into a voice module.
The style of the book throughout is to take a section of the OS, describe it in general terms, investigate the various ways of calling the routines in it, and then provide some tutorial programs along with a few hints and tips. The programs are for the most part fairly illuminating and useful (e.g. a printer buffer module) but not exciting. A disc containing them is available for £9.95, or the book and disc can be obtained together for £21.95. There could have been more description of what the snags are with the various types of programs. For example, WIMP programs usually suffer from one set of problems, modules from another.
Most of the technical information in the book can be found in either the PRM or the User Guide. There are interesting snippets throughout, and of course all of the examples are new. Some things which would take great powers of deduction to derive from the PRM are brought into the light. The contentious issue of the serial port is for the most part avoided. This is understandable, but many people (programmers and users alike) will have to use this at some time, even if they aren't interested in communications as such. A few notes on how to wire serial leads would have been most useful.
The authors write in an informal and interesting way, which makes the book easy to read, and although I can believe that it would be easier to find information more quickly in this book than from the PRM, neither approaches the quality of the old BBC Advanced User Guide as a high speed reference work.
AOS is spiral bound with a handy place marker in the cover, and is highly professional in appearance. Archimedes books are hardly commonplace, and Dabs are to be congratulated for putting so much effort into something for the Archie.
Overall, a well written and well presented book offering good value for money. Those looking for the whole truth about the Archie OS will have to wait for a far weightier (and probably more expensive) tome in the future. For many people though, this will make interesting and useful reading for now.
Title | Archimedes Operating System (A User's Guide) |
Authors | Alex and Nic van Someren |
Publisher | Dabs Press |
Price | £14.95. |