BBC BASIC
|
BBC BASIC was developed in 1981 as a native programming language for the MOS Technology 6502 based Acorn BBC Micro home/personal computer, mainly by Roger Wilson. It was 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 procedures and functions, REPEAT-UNTIL
loops, and IF-THEN-ELSE
structures. The interpreter also included powerful statements for controlling the BBC Micro's four-channel sound output and its high-resolution graphics display. Significantly, BBC BASIC was also fitted with an easily accessible in-line assembler, allowing programmers to write 6502 assembly language programs directly in BASIC code. This was a unique feature among home/personal computer BASIC interpreters at the time.
BASIC I, the original version, available on BBC A and BBC B, was superseded by BASIC II which added OPENUP
and OSCLI
keywords, along with offset assembly and bug fixes.
A U.S. market version, known as BASIC III, was produced for Acorn's abortive attempt to enter the cross Atlantic computer market - apart from a few bug fixes the only difference was the availability of the alternative spelling of the command COLOR
. The UK version of BASIC III listed the same command as COLOUR
.
BASIC IV, also known as CMOS BASIC, available on the BBC Master and BBC Master Compact machines, was changed to use the new intructions available in the 65C12 processor, reducing the size of the code and therefore allowing the inclusion of LIST IF
, EXT#
as a statement, EDIT
, TIME$
, ON PROC
, | in VDU
statements and faster floating point. Bug fixes were again included.
With the move to the 32 bit ARM CPU and the removal of the 16kB limit on the BASIC code size many new features were added. BASIC V version 1.04 was 61kB long and included many new commands such as WHILE-ENDWHILE
, IF-THEN-ELSE-ENDIF
, CASE-OF-WHEN-OTHERWISE-ENDCASE
, RETURN
parameters in proceduces, local arrays, procedure libraries (LIBRARY
, INSTALL
and OVERLAY
), LOCAL DATA
and LOCAL ERROR
handlers, a relative RESTORE
, array operations, new operators, TRACE STEP
, along with commands for the new sound system, mouse, graphics. The in-line in 6502 assembler was replaced by an ARM assembler. BASIC V was said, by Acorn, to be "certainly the fastest interpreted BASIC in the world" and "probably the most powerful BASIC found on any computer".
BASIC VI is a version of BASIC V that supports 8 byte format real numbers (according to IEEE standard 754) as opposed to the standard 5 byte format introduced in BASIC I.
BBC BASIC V and VI were delivered as standard on the Acorn Archimedes and the Risc PC. Current versions of RISC OS still contain a BBC BASIC interpreter.
A Zilog Z80-version of BBC BASIC was later used on the Tiki 100 desktop computer, Cambridge Z88 portable and the Amstrad NC100 Notepad and Amstrad NC200 Notebook computers. It was also implemented on the PC for DOS as BBCBASIC (86) (which aimed for maximum compatibility with the BBC Micro) and BBasic (which concentrated on the BASIC language itself, with its own enhancements based on BASIC II). In January 2002 it was also ported to the ZX Spectrum. A version integrated with the Microsoft Windows graphical user interface, BBC BASIC for Windows (http://www.rtrussell.co.uk/products/bbcwin/bbcwin.html), was released in 2001. BBC BASIC has been ported to many other platforms [1] (http://www.mdfs.net/Software/BBCBasic/).
A GPL clone of BBC BASIC named Brandy (http://users.argonet.co.uk/users/dave_daniels/) written in portable C is also available.
External links
- http://www.bbcbasic.org/
- http://www.rtrussell.co.uk/
- http://www.mdfs.net/Software/BBCBasic/
- The Amstrad NC Users' Site (http://www.ncus.org.uk/)
- Ebook programming guide with interfacing methods (http://www.pawbooks.co.uk)