Beebug
1st August 1985
Author: Geoff Bains
Publisher: Acornsoft
Machine: BBC Model B
Published in Beebug Volume 4 Number 4
Acorn at last concedes that there's more to editing basic programs than just using the Copy key. Geoff Bains, in a critical frame of mind, assesses Acornsoft's full screen editor.
Basic Editor
BBC Basic has a lot to be said for it. It's extensive, versatile and fast. However, a major failing it has, compared to the Basics of many other home computers, is its editor. The simple screen copying technique that is used can be tedious in the extreme if a lot of editing is to be performed on a program.
How much better, I have mused to myself for about three years, if someone would come up with a ROM that would make the Beeb emulate the full screen editors of such machines as the Commodore 64 and MSX. Acornsoft has made a brave (if belated) attempt to answer my prayers.
The Basic Editor is a word processor for programs. In the package is a ROM chip, a key strip, and a forty page manual. The ROM is actually that, a ROM and not an EPROM which demonstrates that this version is here to stay.
The editor is entered with *BE and presents you with a View-like title screen displaying program size, bytes free, and so on. Just like View or Wordwise, you can now switch between this control screen and the program itself with the Escape key.
From the control screen some familiar sounding commands can be entered - LOAD, SAVE, NEW, OLD and MODE - and a couple of new ones - HELP prints out a help screen with all the Basic Editor's commands, and INFO gives you the detailed low-down on the program in memory at the time.
A couple of nice touches have been added. Like View, no inverted commas are needed for filenames when loading and saving. The MODE command changes the display mode of the editing screen (the control screen stays in Mode 7 all the time). In Modes 3 and 6 this defaults to the striped blue background, so much favoured in 'The Computer Programme' and in other Modes the plain blue background is used. Modes 2 and 5 are not allowed. The edit screen mode defaults, on entering the Basic Editor, to whatever mode your machine was in before leaving Basic.
From the edit screen, using the Basic Editor is just like using a word processor, allbeit a somewhat warped one. The cursor keys move you freely around the screen and new program statements can be typed in at any position with an insert/overwrite option. This is switched with a function key. The function keys are made to work for their living with 28 options controlled using function keys and Shift or Ctrl. Many of these options are doubled by commands typed in full.
Where the Basic Editor shows it orientation to programs rather than text is in its handling of program lines. When editing a program you have no access to the line numbers. They are there mostly for show. Pressing Return anywhere in the program inserts a new program line which is automatically numbered for you. If there isn't enough space for a new line number, the whole program is renumbered automatically. That is fine, and it makes entering programs very easy (once you're used to it). However, things are not so simple when you want to go the other way. To join program lines together a complicated manoeuvre of cursor movement and function key pressing is required to remove the offending line number.
Like a word processor, The Basic Editor has several commands that deal with blocks of program lines. The block between any two program lines, first marked with another function key press, can be copied or moved to another part of the program or simply deleted altogether. A nice feature is that a line can be tagged with another marker and the cursor moved to that line from another part of the program with a single key press.
The redundancy of line numbers is really shown up by the labelling system employed in the Basic Editor. When you're writing a program in the Basic Editor you can forget about line numbers and refer to previous or forthcoming lines in a program with a label. You can quite legitimately enter:
100 IF X>20 GOTO @BIGX
The @ symbol denotes a label name. At the point in the program pointed to you have to insert a REM statement of the form:
2000 REM @BIGX
When the program is next renumbered, or NUMBERed, the new references to labels are replaced with line numbers as needed.
From the control screen, several other advanced features are available. Most notable of these is the search and replace facility. There are many ROMs that include this (notably Beebugsoft's Toolkit) but to have a search and replace included in the editor does make life easy.
The Basic Editor's search and replace is pretty sophisticated. There are four commands associated with this facility: EDIT
There are several other commands available in the Basic Editor. Those are mostly concerned with changing the default values of such things as the background and foreground colour, tab stops, and so on.
The Basic Editor operates well as a word processor for programs. If that is all you want, then you will not be unhappy with Acornsoft's efforts. However, I must admit that I was a little disappointed. The Basic Editor is too much like a word processor and has become divorced from 'normal' Basic programming because of this. Although a program can be RUN from within the Basic Editor (in fact, it returns you to Basic first), you have the feeling that you are not really in a programming language at all.
I would have preferred to have seen an editor that knitted more closely in with the existing Basic editing procedure, that used a normal LIST command to display a program, but included a real full screen editor. Such goodies as the search and replace could then be included as standalone utilities. As it is, the Basic Editor requires you to learn a whole new system of writing programs.
However, The Basic Editor is no mean feat in itself. Acornsoft may not have answered my own prayers in quite the way I wanted, but writing a Basic program on the Beeb is certainly easier now than it ever has been before.
Other BBC Model B Game Reviews By Geoff Bains
Scores
BBC Model B VersionOverall | 70% |