everyBASIC
Docs ยป BBC BASIC

bbc

BBC BASIC

BBC BASIC
Keywords

  • ABS
  • ACS
  • ADVAL
  • AND
  • ASC
  • ASN
  • ATN
  • AUTO
  • BGET
  • BPUT
  • CALL
  • CHAIN
  • CHR$
  • CLEAR
  • CLG
  • CLOSE
  • CLS
  • COLOR
  • COLOUR
  • COS
  • COUNT
  • DATA
  • DEF
  • DEG
  • DELETE
  • DIM
  • DIV
  • DRAW
  • ELSE
  • END
  • ENDPROC
  • ENVELOPE
  • EOF
  • EOR
  • ERL
  • ERR
  • EVAL
  • EXP
  • EXT
  • FN
  • FOR
  • GCOL
  • GET
  • GET$
  • GOSUB
  • GOTO
  • HIMEM
  • IF
  • INKEY
  • INKEY$
  • INPUT
  • INSTR
  • INT
  • LEFT$
  • LEN
  • LET
  • LIST
  • LISTO
  • LN
  • LOAD
  • LOCAL
  • LOG
  • LOMEM
  • MID$
  • MOD
  • MODE
  • MOVE
  • NEW
  • NEXT
  • NOT
  • OLD
  • ON
  • OPENIN
  • OPENOUT
  • OPENUP
  • OPT
  • OR
  • OSCLI
  • PAGE
  • PI
  • PLOT
  • POINT
  • POS
  • PRINT
  • PROC
  • PTR
  • RAD
  • READ
  • REM
  • RENUMBER
  • REPEAT-UNTIL
  • REPORT
  • RESTORE
  • RETURN
  • RIGHT$
  • RND
  • RUN
  • SAVE
  • SGN
  • SIN
  • SOUND
  • SPC
  • SQR
  • STEP
  • STOP
  • STR$
  • STRING$
  • TAB
  • TAN
  • THEN
  • TIME
  • TO
  • TOP
  • TRACE
  • UNTIL
  • USR
  • VAL
  • VDU
  • VPOS
  • WIDTH

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
  • TRUE and FALSE value keywords
  • 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...

  • Acorn Atom BASIC

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:
      • OSCLI
      • OPENUP
    • Keywords with changed behaviours:
      • ABS now could be used with a preceding minus operator (-) without causing a Type Mismatch error
      • COUNT now would be reset to 0 if MODE was changed and the screen was cleared
      • ELSE now could be used along with ON-GOSUB and ON-GOTO in the scope of procedures and functions
      • EVAL became able to evaluate COUNT, ERL, ERR, HIMEM, LOMEM, PAGE, TIME and TOP
      • 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
      • OPENIN became used for opening a file in read-only mode; its previous functionality was assumed by the new keyword OPENUP.
  • BASIC III - Had a version for the United States market with COLOR instead of COLOUR.
  • BASIC IV - For the 65SC12 processor of the BBC Master. Included keywords EDIT, LIST_IF, TIME$ and ON_PROC, along with a new usage of EXT.
  • 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.
Interpreters, Compilers, 8-bit, BBC BASIC, Acorn, RISC
Previous Next

everyBASIC

Table of Contents

Table of Contents

  • BBC BASIC
    • Where it is/was used
    • Noteworthy characteristics
    • Environment and usage
    • Extensions
    • Curiosities
    • Related to...
      • Influenced by
      • Influence for
    • Versions and successors
    • References

Home Login Links

  • BASICs we know of
    • Apple II INTEGER BASIC
    • Altair BASIC
    • ANSI BASIC
    • Applesoft BASIC
    • Atari BASIC
    • Acorn Atom BASIC
    • BBC BASIC
    • bootBASIC
    • Bywater BASIC
    • Commodore BASIC
    • Dartmouth BASIC
    • DEC BASIC-PLUS
    • Decimal BASIC
    • FreeBASIC
    • Gambas
    • Microsoft GW-BASIC
    • HP Time-Shared BASIC
    • Liberty BASIC
    • Numbered Lines BASIC
    • MiniBASIC (Joe Strout's)
    • minibasic (McLean's)
    • Microsoft BASIC-80
    • Amiga Microsoft BASIC
    • Microsoft Atari BASIC
    • Microsoft QuickBASIC
    • MSX BASIC
    • Sinclair BASIC
    • Structured BASICs
    • TI BASIC
    • TRS-80
    • Color BASIC
    • TrueBASIC
    • twinBASIC
    • ugBASIC
    • MS Visual Basic for DOS
  • BASIC keywords reference
  • Links