bbc
BBC BASIC
Keywords
The BBC BASIC is said by many to be the most advanced BASIC of the 8-bit era, and such a bold statement has plenty of arguments for it.
Widespread availability was not one of them, though.
This advanced BASIC was bundled with the BBC Micro, part of the government-funded computer literacy program of the United Kingdom in the early 1980s. Also part of the program were a number of high-quality books and partworks about "microcomputers" which were translated and published all around the world. They made the BBC Micro and its BASIC quite famous, but that was the closest most people could get to them: outside the UK, Acorn machines like the Beeb and some rare clones were not available.
Richard T. Russell, a BBC employee, wrote a Z80 processor, CP/M port of the language, commercially released in 1983. It would not take BBC BASIC much far from the UK market for decades to come, but BBC BASIC was no longer confined to BBC/Acorn machines, and this would eventually become the longest-living, open, SDL-based multiplatform branch of BBC BASIC still alive, active and highly regarded by users as of January 2024.
Widespread availability, finally.
Additionally, the fifth version of BBC BASIC became open-sourced along with RISC OS V in 2018, and parallel open-source projects were born with the intent to implement BBC BASIC's syntax and capabilities, such as Brandy.
This page mostly refers to the 6502-processor, 8-bit "classic" versions BASIC I to BASIC IV, which shipped with BBC and Acorn machines from late 1981 to 1993. Check the Versions and successors section below for RISC OS versions (BASIC V and beyond), ports and offsprings.
Where it is/was used
- BBC Micro Models A and B
- BBC Master and Master Compact
- Acorn Electron
- Wren Executive
- Tatung Einstein (UK/Taiwan/Taipei)
- Cambridge Z88
- Amstrad CPC
- RMNimbus
- Victor Sirius (1988)
TO DO: This section is still fairly incomplete and must be better organized to differentiate past and current versions.
Noteworthy characteristics
BBC BASIC was ahead of its time, and while somewhat based on Acorn Atom BASIC it was a gigantic leap from its oddball predecessor. It was still a line-numbered BASIC, but had features that for years would remain unheard of in the Microsoft side of BASIC. For example:
- Named subroutines and functions with arguments and local variables
- Multiline functions
- REPEAT-UNTIL loop structures
Environment and usage
The screen editor of BBC BASIC had some advanced commands, such as LISTO, a version of LIST enhanced with numeric options for things like automatic indentation of nested FOR-NEXT and REPEAT-UNTIL loops.
Extensions
Curiosities
Related to...
Influenced by
Influence for
Versions and successors
- BASIC I - 1981, the original 6502-based BBC Micro A/B BASIC.
- BASIC II - 1982, for BBC Micros and the Acorn Electron. Brought bugfixes and some changes.
- New keywords:
- Keywords with changed behaviours:
- ABS now could be used with a preceding minus operator (-) without causing a
Type Mismatch
error - INPUT now accepted semicolons (;) as separators in its list of variables that could be written at once
- INSTR no more crashed if the "needle" string was longer than the "haystack" string
- ON ERROR passed to accept any line number
- BASIC V - The first 32-bit, RISC OS version, open sourced in 2018.
- BBC BASIC for SDL 2.0 (last check 2024-01-04) - by Richard T. Russell, is a very active open-source implementation based on BASIC IV with some language extensions, able to run under Microsoft Windows, GNU/Linux, Apple MacOS and iOS, Google Android, Raspberry Pi OS and WebAssembly. It will most certainly deserve a version page of its own pretty soon.
- Brandy is an open interpreter of BBC BASIC V code, implemented in C. As of January 2024, the project didn't seem that active, having had its last update in November 2016.
- Napoleon Brandy is a fork of Brandy with graphics support.
- Matrix Brandy is a fork of Brandy with support for the BASIC VI version. As of January 2024, it seems to be the most active of the Brandy-based projects. Ready builds for Windows (32 and 64 bits), GNU/Linux (RHEL/Fedora YUM packages) and RISC OS are available for download.
References
- https://www.bbcbasic.net , last check 2024-01-04
- https://www.bbcbasic.co.uk , last check 2024-01-04
- https://en.wikipedia.org/wiki/BBC_BASIC , last check 2024-01-04
- https://www.alphr.com/features/91575/bbc-basic-the-peoples-language , last check 2024-01-04
- https://en.wikipedia.org/wiki/BBC_Micro , last check 2024-01-04
- COLL, John. BBC Microcomputer System User Guide. British Broadcasting Corporation, 1984. Available at http://bbc.nvg.org/doc/BBCUserGuide-1.00.pdf , last check 2024-01-07.