The Spectrum’s own BASIC had no ELSE, no named procedures and only one kind of loop. Beta BASIC added all three without taking anything away. It loaded from tape, and after that the machine looked almost the same: CRASH noticed that “even the copyright message looks like the Sinclair one”. The difference showed up as you typed. The new keywords went in with single keypresses like the old ones, from graphics mode, and every line was still checked as it was entered.
Its author was Andy Wright, and Betasoft sold it by mail order from 92 Oxford Road, Moseley, Birmingham. It grew from release 1.0 in 1983 to version 4.0 in 1987, and CRASH’s technical columnist Simon N Goodwin came to call it “peerless”. When the SAM Coupé was designed at the end of the decade, Wright wrote the BASIC in its ROM.
Fast facts
- Author: Andy Wright.
- Publisher: Betasoft, Birmingham.
- First advertised: Sinclair User, November 1983 (release 1.0, 16K and 48K Spectrum).
- Versions: 1.0 (1983), 1.8 (1984, 48K), 3.0 (1985), 4.0 (1987, Spectrum 128 and +2).
- Prices: £11.00 for releases 1.0 and 1.8; £9.95 for 3.0 in early 1986; £15.95 for 4.0, or £8.95 to upgrade from 3.0.
- Memory used: about 18K on a 48K Spectrum for version 3.0; 25K on the 128 for version 4.0.
From 26 keywords to over 100
Betasoft’s first advertisements, in the autumn of 1983, offered “26 new keywords” and “10 new functions” for the 16K and 48K Spectrum. By July 1984 release 1.8, for the 48K machine only, cost £11.00, with a £4.00 upgrade for owners of release 1.0. The advertisement listed the features that stayed at its heart: “Commands are single entry keywords in graphics mode. Syntax is checked on entry. Fully compatible with Spectrum Basic. Microdrive compatible.”
The New Zealand magazine Bits & Bytes reviewed 1.8 in November 1984. Its reviewer counted “more than 50 new commands and functions” and thought the result was “a language that puts the BASIC implementation of most micros to shame”. He liked the way Betasoft had placed the new keywords: “LOOP is on the L key, and CLOCK on the C key”. By then Beta BASIC was also being made under licence in New Zealand.
Version 3.0 appeared in the summer of 1985, in a video-style box with a 90-page manual printed on bright red paper. By version 4.0 in 1987, Goodwin counted “more than 100 new commands and functions”.
What it added
Structured programming was the main attraction. Goodwin, reviewing version 3.0 for CRASH in February 1986, called it “a computer scientist’s dream”:
- Procedures.
DEF PROCnames a procedure andPROCcalls it, with parameters that can be local or passed by reference, and default values for any left out.PROC check answerreplacesGO SUB 1000. Recursion works. ELSE, including a multi-lineIF...THEN...ELSE.DO...LOOP, withWHILEandUNTILconditions and exits from any point. These structures can be nested freely.ON ERROR, to send errors (including BREAK) to a subroutine.
There were also features for the screen. Output could be confined to a window, in character sizes down to 64 columns, and areas of the screen could be scrolled or rolled pixel by pixel in any direction. ALTER changed colour attributes across the screen in one statement, and FILL coloured in a bounded shape. Printing could be placed with pixel accuracy, and USING formatted numbers for tables.
A toolkit made editing easier. Beta BASIC could number lines automatically, renumber, move, save or delete groups of lines, and search and replace text in a program. It could JOIN and SPLIT lines, edit a line by number without listing it first, and indent loops and tests in listings to show their structure. A CLOCK command kept time and could call a subroutine at a set moment.
It even made some things faster. Sinclair BASIC’s GO TO, GO SUB, RETURN and FOR loops slow down as a program grows, and Beta BASIC made them “up to 20 times faster in long programs”. Ordinary statements ran at the same “slothful rate” as before, and there was little machine-code support beyond two-byte PEEK and POKE.
Typing it in
Beta BASIC let you keep the Spectrum’s keyword keys, switch to typing words letter by letter, or mix the two. In the mixed mode a keyword at the start of a statement came from one keypress, but typing a space first let you spell it out. Goodwin used the mixed mode “most of the time”, since it kept LET, PRINT and GO TO to one key without making you hunt for the rarer keywords.
Battle of the BASICs
In February 1986 CRASH set Beta BASIC 3.0 against two rivals: Mega BASIC, sold by the publishers of Your Spectrum, and Ocean IQ’s Laser BASIC, a sprite system for games. Goodwin wrote that there was “no clear winner”, but “I preferred Beta BASIC, mainly because of its elegance and comprehensive support for software engineering”. The Spectrum, he argued, had been designed “as a programmer’s machine rather than a games one”, and “Beta BASIC takes the Spectrum a long way onward as a programmer’s machine”. Betasoft also produced a Beta BASIC newsletter, which he described as “fourteen typed pages crammed with neat routines and tips”.
Beta BASIC 4.0 and the 128
The Spectrum 128 arrived with only two new BASIC commands, PLAY and SPECTRUM. Goodwin’s August 1987 review opened: “AT LAST it’s worth programming the Spectrum 128 in BASIC”. Version 4.0 gave BASIC control of the new hardware. A new BEEP drove the three-channel sound chip in the background, with hundreds of sounds queued, so a program kept running while it played. Arrays could be kept on the 128’s RAM disk, giving about 73K of extra variable space, and sorted or searched there. FILL used the RAM disk as a work area and could fill “almost any shape” in under a second, DRAW ran about two and a half times faster and CIRCLE 12 times faster.
Goodwin’s verdict: “If you intend spending a few hours programming the 128 in BASIC, Beta BASIC 4.0 is the best utility you could buy. It’s not cheap, but you get a heck of a lot for your money.” He also noted what it did not do: there were “no masked sprite commands for games programmers”.
SAM BASIC
Wright’s next BASIC was built into a computer: the SAM Coupé, a Spectrum-compatible machine from Miles Gordon Technology (MGT) with 256K of RAM and a 32K ROM. CRASH reported in February 1989 that the ROM was “written by Dr Andy Wright, the author of Spectrum Beta Basic”, and would use letter-by-letter entry “rather than the 48K Spectrum keyword system”. ACE repeated the credit in November 1989.
Sources
- Sinclair User issue 20, November 1983: Betasoft advertisement for Beta BASIC, “26 new keywords — 10 new functions”.
- Your Spectrum issue 5, July 1984, p. 41: Betasoft advertisement for release 1.8, its price and the upgrade offer, the feature list, and Betasoft’s address.
- Bits & Bytes (New Zealand), vol. 3 no. 3, November 1984, pp. 66–67: review of Beta BASIC 1.8, and its licensed New Zealand edition.
- CRASH issue 25, February 1986, pp. 99–102, “Battle of the BASICs” (Tech Niche): Beta BASIC 3.0 compared with Mega BASIC and Laser BASIC; price, packaging, features, speed-ups, keyword entry, the newsletter and the verdict.
- CRASH issue 43, August 1987, pp. 65–67, Simon N Goodwin’s Tech Niche: Beta BASIC 4.0 for the Spectrum 128, its memory use, features, price and verdict.
- CRASH issue 61, February 1989, pp. 53–54: the SAM Coupé from MGT, its 32K ROM and 256K RAM, and its ROM “written by Dr Andy Wright, the author of Spectrum Beta Basic”.
- ACE issue 26, November 1989: SAM Coupé report crediting its BASIC to Dr Andy Wright, “author of Beta BASIC”.