Acorn User


The BBC Micro Toolbox

Author: Ian Birnbaum
Publisher: BBCSoft/BBC Publications
Machine: BBC Model B

 
Published in Acorn User #018

TV Start For Useful Trackman's Tools

The BBC Micro Toolbox

Toolbox is an extremely useful collection of 25 utility routines. They are all written by Ian Trackman, whom many of you know from the BBC series Making The Most Of The Micro; and indeed, it seems that most of the routines were written to help him produce programs for the series.

The routines fall into two groups: the first consists of thirteen routines which are designed to be incorporated into your own programs.

For example, there are six sorting routines; a circle draw and fill; two double-height character generators (one for Modes 0, 1 and 4, the other for Modes 2 and 5); a machine code graphics dump for the Epson MX80; and a generator to output numbers through the speech chip. All of these can be used in programs without breaching the copyright.

The second group consists of programs, all but two in machine code, to allow various testing and debugging operations on Basic programs, or to allow you to globally alter your Basic programs. For example, there is a cross referencer, which will output lines containing a specific keyword and text (i.e. it is equivalent to a 'find' utility); a replacer, which will change any part of a Basic program into anything else (e.g. it will change VARI% to V% throughout the entire program); a packer, which will squash as many lines as possible together into a single line (this is one of three 'squeeze' utilities - the others are a space remover and a REM remover); and a variable dump, which outputs all variables, including arrays, used in your Basic program except the static variables (i.e. A% to z%) - but the program has to be run and all the relevant variables created, for the utility to be used to maximum effect.

The software (on tape) comes with very comprehensive documentation: a 208-page book with full instructions for each utility, full listings for each utility (for the machine code ones, the source code), and clear details on where in memory to put the routines for both tape and disc machines. There is also a section on how to relocate the machine code programs, which unfortunately proves to be a rather messy operation in most cases.

This is a very well-produced and well-thought-out package for the serious programmer, and is highly recommended. I look forward to the second part, which is in preparation.

Ian Birnbaum