Hubbry Logo
search
logo

Beta BASIC

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Beta BASIC

Beta BASIC is a BASIC interpreter for the Sinclair Research ZX Spectrum microcomputer, written by Dr Andrew Wright in 1983 and sold by his one-man software house BetaSoft. BetaSoft also produced a regular newsletter/magazine, BetaNews.

Originally it started as a BASIC toolkit but over time it grew into a full replacement.

Beta BASIC completely replaced Sinclair BASIC, which as common for the time was also the OS providing a command line interface (CLI). Thus Beta BASIC provided a new and improved CLI and editor.

It supported Sinclair's idiosyncratic single-key entry system for BASIC keywords but also allowed keywords to be spelled out letter-for-letter. This also removed the necessity for memorising the sometimes arcane key combinations necessary to enter less-commonly-used BASIC keywords. However, the single-key entry system was also extended by mapping the Spectrum's 'graphics' characters to Beta BASIC's new keywords. To switch from keyword entry to typed entry, it was merely necessary to type a single space, causing the cursor mode to change from K (keyword) to L (lowercase) or C (capital). (The KEYWORDS statement could also be used to alter this behaviour, for example by disabling the K mode.)

The editor, when listing, could optionally automatically prettyprint code. It was possible to do this manually in Sinclair BASIC, but automatic indentation has the advantage of highlighting certain types of coding error - primarily those to do with failing to correctly close constructs. Other editing improvements included automatic highlighting of the current-line indicator - a small tweak but disproportionately helpful - and the ability to move the cursor up and down as well as left and right, a huge boon when editing long lines. Combined with the 64-column display (see "New functionality" section below), these improvements made Beta BASIC a much more productive environment even for coding standard Sinclair BASIC and making no use of BetaSoft's language additions.

Beta BASIC was also a standalone interpreter in its own right, bypassing the Spectrum ROM, which it used as a library. It occasionally made calls into the ROM to access functions that were not worth re-implementing either because the ROM routines were good enough or for reasons of space - Beta BASIC had to run in the 48 KB of memory available on a Spectrum and still leave room for the user's code.

For its time, Beta BASIC was sophisticated. It provided full structured programming with named procedures and functions, complete with local variables, allowing for programming using recursion. Although it supported line numbers, they were not necessary and it offered a mode of operation which completely suppressed the display of line numbers.

On the 128K Spectrum machines, Beta BASIC provided extended facilities allowing programmers to access the machine's extra memory, which took the form of a RAM disk. As well as allowing the programmer to save and load programs, blocks of memory or screen images into the RAM disc and catalogue the contents of the RAM disk, Beta BASIC also provided commands for the creation and use of arrays held in the RAM disk, allowing programs running in the 30 KB or so of free memory on the Spectrum to manipulate arrays approaching 80 KB - a significant extra amount of space by 1980s standards and more than almost any other 8-bit BASIC, which were generally limited to 64 KB of program and data combined.

See all
User Avatar
No comments yet.