Personal Computer News


Toolkit

 
Published in Personal Computer News #053

Simon Williams tools along nicely with this collection of useful BBC programming aids in Eprom.

BBC Tool Chip

Simon Williams tools along nicely with this collection of useful BBC programming aids in Eprom

Several programs are available for the BBC Micro on Eprom at the moment, but few designed specifically with the Basic programmer in mind. Toolkit provides a number of utilities useful in program construction and remedies some shortfalls in Acorn's software.

Features

The Toolkit Eprom provides seventeen new commands, accessible to Basic and some valid for use within a program. In addition, aids are provided for program development in the shape of a full screen editor and a number of search, display and/or replace routines. The error checking facilities of the BBC machine are improved and various colour codings are introduced to improve on-screen listings.

Presentation

The package consists of a 28 pin Eprom housed in a plastic library case of the type often used for cassette software. This may seem rather excessive, considering the size of the chip itself, but is largely governed by the size of the accompanying 32-page manual. About the same size as a cassette, it is produced to a high standard and fully details the syntax and action of all Toolkit commands.

In Use

For anyone who has added previous ROMs to their micro, the insertion of the Toolkit Eprom will be very straightforward. Removal of the top half of the computer's case and the keyboard reveals two or three spare ROM sockets on the front right of the main circuit board. The chip is simply plugged into one of these.

If all is well after following the full instructions, the Eprom will signal its arrival in response to the *HELP command by displaying its version number on-screen. Toolkit's commands may be listed using *HELP TOOLKIT and *HELP INFO will display the settings of certain system variables.

All Toolkit commands are preceded with an asterisk. Some of these may be identical to command names used by other ROM packages so, to overcome any confusion that might be caused to the Operating System, the Toolkit commands may also be suffixed with a 'B'. For example, both *CHECKS and *BCHECKS will perform a byte-by-byte comparison of a file recorded on cassette or disk with one resident in memory.

Other useful commands which rectify deficiencies in the Operating System include *FREE, which lists PAGE, TOP, LOMEM and HIMEM and calculates the amount of free memory available, *MERGE which allows two files to be easily merged together into memory, *RECOVER, which attempts to intelligently recover a 'Bad Program', and *RENUMBER, which permits renumbering of selected sections of a program.

The *ON command (counteracted by *OFF), produces error messages in red, comments in cyan and other information in a variety of colours. It also invokes a special error-handling routine which reports not only the error and its line number, but also enters Toolkit's screen editor and moves the cursor to the likely position of the error.

The screen editor allows the user to insert or replace statements anywhere on screen, without having to use COPY as in normal cases. The down cursor key will produce successive lines and scroll the program up the screen. A valuable advantage has been missed here, as the up cursor key lists the program backwards up the screen, rather than scrolling the whole program downwards, ´ la Wordwise. This would have improved the editor no end.

The *UTIL command enters a separate subprogram which offers another nine useful facilities. Each of these may be called through the UTILS menu or by calling *UTIL n directly, where n is the number of the utility. The utilities are as follows:

  1. String search. List all lines containing the required string, which will be highlighted in cyan.
  2. Search and replace. Performs a string search, but also replaces all occurrences of the string with a specified alternative.
  3. Move lines. Transfers a section of a Basic program to an alternative location. The program will not be renumbered, so the line numbers will be out of sequence.
  4. List procedures and functions. Lists all lines containing DEFPROC or DEFFN.
  5. List A% to Z%: displays the contents of all the resident integer variables.
  6. List other numeric variables: displays all other variables used in a program.
  7. List string variables: as 6 but for strings.
  8. List arrays: as 6 but for arrays.
  9. Change edit range: limits the action of UTILS 1 and 2 to specified lines of a program.

Other commands within Toolkit allow the packing and relocation of a program, the use of NEW and OLD within it and the saving of a text or graphics screen in any MODE.

Reliability

The utilities within Toolkit seem very robust and the provision of the optional 'B' suffix should avoid any confusion when using the program with other ROMs.

Verdict

The provision of these very useful programming aids in Eprom, where they are instantly accessible, should speed the process of programming considerably. It is a pity Beebug could not squeeze a proper windowing screen editor into the chip. But this criticism aside, Toolkit is highly recommended.

Rating

Features	4/5
Documentation	4/5
Performance	4/5
Usability	3/5
Reliability	4/5
Overall Value	4/5

Simon Williams