|Click on picture for full-size version:||
The BBC BASIC Console Mode editions are advanced cross-platform implementations of
BBC BASIC for Windows (64-bit), Linux
(x86, 64-bit), Mac OS-X (64-bit) and Raspberry Pi (PiOS, 32-bit or 64-bit). They do not support sound or graphics but
otherwise are highly compatible with BBC BASIC for Windows and
BBC BASIC for SDL 2.0.
They share with those dialects many new and advanced features
including data structures, PRIVATE variables, an EXIT statment, long strings, timer interrupts, an
address-of operator, byte variables, a line continuation character,
indirect procedure and function calls and improved numeric accuracy. Up to 256 Megabytes of
memory is provided for the user's program, data and stack.
The Console Mode editions take their input from stdin and send their output to stdout so may be run at a regular command prompt or in a client-server context (e.g. through a network or serial connection, or even via the internet). The console/terminal is assumed to be VT-100 compatible, which the great majority are, in which case most of the standard BBC BASIC VDU commands behave as expected (with the exception of graphics commands), although text viewports are not supported. Alternatively these editions may be used in CGI (Common Gateway Interface) applications, or as a shell replacement. Common shell commands may be accessed by prefixing them with a star (*), in the usual BBC BASIC way.
Limited program entry and editing capabilities are provided in Immediate Mode by means of the AUTO, DELETE, EDIT, LIST [IF], LISTO, LOAD, NEW, RENUMBER and SAVE commands, but in the case of large programs you are recommended to use either the BBC BASIC for Windows or BBC BASIC for SDL 2.0 IDE. The LOAD command will load a program in internal (tokenised) format or as a plain-text file (line numbers will be added if necessary). A BASIC program may be executed automatically by specifying it as a command-line parameter (it must be in tokenised format) or by giving it the same name as the executable but with a .bbc extension.
The Console Mode editions incorporate an assembler for the appropriate CPU (a 64-bit x86 assembler in the case of the Windows, MacOS* and Linux editions, and a 32-bit or 64-bit ARM assembler in the case of the Raspberry Pi editions). You can access Application Program Interface (API) functions from assembler code and from BASIC (using the SYS statement), allowing an experienced programmer to produce sophisticated applications.
These editions are entirely free and may be downloaded for the supported platforms as follows :
In each case the zip file contains the executable, some libraries and a few demonstration BBC BASIC programs; the contents should be extracted to a suitable directory. You may wish to add this directory to your PATH so that the executable and libraries can be accessed from 'anywhere'.
* The Mac M1 ('Apple silicon') edition has an AArch64 assembler, but with only limited usefulness because Apple enforces the Hardened Runtime on that platform.