BBC BASIC is a programming language, developed in 1981 as a native programming language for the MOS Technology 6502 based Acorn BBC Micro home/personal computer, mainly by Sophie Wilson. It is a version of the BASIC programming language adapted for a U.K. computer literacy project of the BBC.
BBC BASIC, based on the older Atom BASIC (for the Acorn Atom), extended traditional BASIC with named
DEFPROC procedures and functions,
REPEAT-UNTIL loops, and
IF-THEN-ELSE structures inspired by COMAL. The interpreter also included powerful statements for controlling the BBC Micro's four-channel sound output and its low / high-resolution seven mode graphics display.
One of the unique features of BBC BASIC was the presence of an inline assembler allowing users to write 6502 assembly language programs. The assembler was fully integrated into the BASIC interpreter and shared variables with it. This allowed developers to write not just assembly language code, but also BASIC code to emit assembly language, making it possible to use code generation techniques and even write simple compilers in BASIC.
In 1978 Hermann Hauser and Andrew Hopper (while at Cambridge University), founded Acorn Computers. Andrew Hopper is now the head of the University of Cambridge computer laboratory.  Much of the code was developed at Cambridge University by Sophie Wilson and her colleagues.
Platforms and versions
BASIC I, the original version, was shipped on early BBC Micros.
BASIC II was used on the Acorn Electron and BBC Micros shipped after 1982, including the BBC B+. It added the
OPENUP OSCLI keywords, along with offset assembly and bug fixes.
BASIC III, was produced in both a UK version and a US market version for Acorn's abortive attempt to enter the cross-Atlantic computer market. Apart from a few bug fixes, the only change from BASIC II was that the
COLOUR command could also be spelled
COLOR: regardless of which was input, the UK version always listed it as
COLOUR, the US version as
COLOR. The main place that BASIC III can be found is as the HI-BASIC version for the external second processor.
Full article ▸