Beta BASIC
![]() Screenshot of BetaBasic in operation | |
Original author(s) | Dr Andrew Wright |
---|---|
Developer(s) | BetaSoft |
Initial release | 1983 |
Final release | Beta Basic v4.0
/ 1987[1] |
BASIC programming language interpreter | |
License | Proprietary |
Beta BASIC is a BASIC interpreter for the Sinclair Research ZX Spectrum microcomputer, written by Dr Andrew Wright[2][3] in 1983 and sold by his one-man software house BetaSoft.[1][4][5] BetaSoft also produced a regular newsletter/magazine, BetaNews.
Originally it started as a
Facilities
Beta BASIC completely replaced
It supported Sinclair's
KEYWORDS
statement could also be used to alter this behaviour, for example by disabling the K mode.)
The editor, when listing, could optionally automatically
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.
Language changes
For its time, Beta BASIC was sophisticated. It provided full
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
New functionality
Beta BASIC also drove the Spectrum's 256x192 pixel display directly, eliminating the restrictions of the ROM's 32-column text display. Beta BASIC offered scalable screen fonts, with a special soft font which was only 4 pixels wide but still legible. This meant that Beta BASIC could display 64 columns of text across the screen, making it more comparable to traditional 80-column displays of computer terminals and typical hobbyist and professional CP/M machines. (A few home computers of the 80s could also display 80 columns.) If the user was prepared to tolerate characters being displayed without gaps between them, an 85 column display was possible. This was not very readable but did allow easy porting of BASIC applications designed for an 80-column screen. Text size could be controlled programmatically so that part of a program's display might use 64-column text, part 32-column text and enlarged or reduced intermediate sizes.
Limitations
Beta BASIC suffered from some limitations. As with other 8-bit microprocessors, the Spectrum could only address 64 KB of contiguous memory due to the addressing restrictions of the Spectrum's
The replacement of Sinclair's editor meant that it was not possible to use the 128K Spectrum ROM's full-screen BASIC editor. No compiler was available for Beta BASIC code and existing Sinclair BASIC compilers such as HiSoft BASIC could not handle the extended keywords and facilities of Beta BASIC.
Another remaining Sinclair BASIC limitation was that only single-letter variable names could be used for strings, arrays and other types.
The only other 8-bit BASIC with inbuilt support for structured programming was BBC BASIC. Beta BASIC named procedures did not need to be called with the PROC keyword like in BBC BASIC and thus became new language keywords, allowing the language to be extended in itself. However, BBC BASIC was considerably quicker - the fastest BASIC interpreter of the time. Beta BASIC was not especially fast, though it included faster replacements for particularly slow ROM routines, such as the circle and arc drawing code.
Versions
- BetaBasic V1.0 - 1983[4]
- BetaBasic V1.8 - 1984[4]
- BetaBasic V1.9 - 1984[4]
- BetaBasic V3.0 - 1985[4]
- BetaBasic V3.1 - 1985[4]
- BetaBasic V4.0 - 1987[4]
Special versions were produced for users of
Subsequent development
During the development of their sophisticated new successor to the Spectrum, the SAM Coupé, Alan Miles and Bruce Gordon of Miles Gordon Technology approached BetaSoft and contracted Wright to provide the BASIC for the new machine. He provided a complete BASIC interpreter which drew extensively upon Beta BASIC but was differently structured, as this was a language in its own right and had no Sinclair ROM to call upon or work around. SAM BASIC[6] was largely compatible with Beta BASIC and operated in a very similar manner, except for areas where the SAM hardware was significantly different, such as the SAM's screen and extended memory. BetaSoft later released an extension to SAM BASIC, named MasterBASIC.[7][8]
References
- ^ a b Beta Basic - World of Spectrum
- ^ "Andrew Wright". Spectrum Computing - ZX Spectrum games, software and hardware. Retrieved 2022-11-30.
- ^ "Andy Wright". World of SAM. Retrieved 2022-11-30.
- ^ a b c d e f g "Beta Basic". Spectrum Computing - Sinclair ZX Spectrum games, software and hardware. Retrieved 2022-11-30.
- ^ "BETASOFT". Spectrum Computing - ZX Spectrum games, software and hardware. Retrieved 2022-11-30.
- ^ Croucher, Mel (1989). SAM Coupé Users' Manual (PDF). MILES GORDON TECHNOLOGY plc.
- ^ Wright, Andy (1990). MasterBASIC for the SAM COUPÉ User Manual. Betasoft.
- ^ "MasterBasic". Spectrum Computing - Sinclair ZX Spectrum games, software and hardware. Retrieved 2022-11-30.