Matrix Brandy BASIC: BBC Basic V interpreter

Brandy implements Basic V, the dialect of Basic that Acorn Computers supplied with their ranges of desktop computers that use the ARM processor such as the Archimedes and RiscPC.

Brandy is a Basic V interpreter. It is source code compatible with Acorn’s Basic V interpreter and runs under a number of different operating systems. It currently works with RISC OS, NetBSD (arm32 and i386), Linux (X86) and DOS using the DJGPP DOS extender. The aim of this project is to write a Basic interpreter that is compatible with the Acorn interpreter and that runs identically across all supported operating systems, emulating features of the RISC OS environment where necessary so that a program will run unchanged using the Acorn interpreter under RISC OS or this one under any other OS. No attempt has been made to support features of operating systems other than RISC OS, for example, it is not possible to make operating system calls from within a program except under RISC OS. The program is simply a Basic interpreter and that is all.

Basic V is an extended version of BBC Basic. This was the Basic used on the BBC Micro that Acorn made during the early 1980s.

Brandy includes limited graphics support under Linux. It includes only a subset of the facilities provided by the RISC OS VDU drivers.

The graphics support is based around SDL 1.2

The graphic support includes all of the Basic graphics statements with some restrictions and a small number of the VDU 23 commands. The graphics ‘plot action’ set by VDU 18 is limited to just setting the colour of a pixel, that is, VDU 18,0,… It is not possible to, for example, plot points by exclusive or’ing the old and new pixels. This is a limitation set by the library. Features such as the extended colour fill patterns are not supported. The standard RISC OS palettes in 2, 4, 16 and 256 colour modes are emulated and both colour and greyscale palettes are possible. Modes can be set using either MODE , MODE or MODE , , .

Networking has been added to Brandy BASIC.

Support: GitHub code repository
Developer: Michael McConnell (original author David Daniels)
License: GNU GPL v2

Matrix Brandy