Acorn User


Basic ROM User Guide /The Advanced Basic ROM User Guide

Author: Bruce Smith
Publisher: Acornsoft/Adder
Machine: BBC/Electron

 
Published in Acorn User #036

Two for the ROM road

Following in the footsteps of the highly successful Advanced User Guide come two books aimed at providing a similar wealth of information about the entrails of the Basic ROM itself.

Neither book contains a byte by byte blow of the interpreter. Instead they list the various entry addresses to a variety of subroutines, along with entry conditions suitable for use by the machine code devotee.

The Advanced Basic ROM User Guide by Colin Pharo comes as a spiral-bound affair. The book is conveniently divided into ten sections which comprehensively cover most aspects of the interpreter's number and string handling routines, including integer and floating point storage, base conversion and mathematical functions.

Each section looks at the techniques involved and the various areas of memory used by taht particular portion of the BASIC interpreter. The section is completed with a brief user's description of the associated subroutines. This comprises the subroutine name, its function, BASIC 1 and 2 execution addresses, plus entry and exit conditions to and from the subroutine. The description is completed with an often none-too-clear demonstration program written in BASIC 2 only.

The Basic Rom User Guide by Mark Plumley contains much of the information provided in The Advanced Basic ROM User Guide but has a much less mathematical bent. It concentrates more on the actual workings of the BASIC interpreter itself. For example, it takes a very interesting look at the workings of the program control mechanisms such as PROCs and FNs; how the expression evaluator works; trapping errors; various ways of adding new commands; and overlaying procedures.

The ROM subroutines are presented in a similar fashion to The Advanced Basic ROM User Guide but, not surprisingly, all have different names, which is an absolute pain. Practical program demos of these ROM routines are very limited - however, the descriptions of each routine are more than adequate to compensate for this.

If I was writing this book, I would probably have wondered just how practical demo programs would be anyway! However the book does demonstrate the use of the BASIC ROM routines by including them in a variety of useful practical programs (such as a disassembler) which will run on both versions of BASIC.

Both books contain a wealth of information, but as one would expect there is a large duplication of material. Of the two, the Basic Rom User Guide is without doubt the more comprehensive and a much better production in terms of presentation and style. I would strongly recommend this book as an initial purchase if you are interested in learning about the BASIC ROM itself.

The Advanced Basic ROM User Guide has much to commend it, and covers areas avoided by the former such as trigonometrical manipulations and mathematical functions. A useful second purchase if your budget will stretch to it.

Bruce Smith