HOME
The Info List - BBC BASIC



--- Advertisement ---


(i) (i)

BBC
BBC
BASIC
BASIC
is a programming language , developed in 1981 as a native programming language for the MOS Technology 6502 based Acorn BBC
BBC
Micro home/personal computer, mainly by Sophie Wilson (then named Roger Wilson). It is a version of the BASIC
BASIC
programming language adapted for a UK computer literacy project of the BBC
BBC
.

BBC
BBC
BASIC, based on the older Atom BASIC
BASIC
(for the Acorn Atom ), extended traditional BASIC
BASIC
with named DEF PROC/DEF FN procedures and functions, REPEAT UNTIL loops, and IF THEN ELSE structures inspired by COMAL
COMAL
. The interpreter also included powerful statements for controlling the BBC
BBC
Micro's four-channel sound output and its low-/high-resolution eight-mode graphics display.

One of the unique features of BBC
BBC
BASIC
BASIC
was the presence of an inline assembler allowing users to write 6502 , and later: Z80 , NS 32016 and ARM assembly language programs. The assembler was fully integrated into the BASIC
BASIC
interpreter and shared variables with it, which could be included between the characters, saved via *SAVE and *LOAD, and called via the CALL or USR commands. This allowed developers to write not just assembly language code, but also BASIC
BASIC
code to emit assembly language, making it possible to use code-generation techniques and even write simple compilers in BASIC.

CONTENTS

* 1 History

* 2 Platforms and versions

* 2.1 BBC Micro
BBC Micro

* 2.1.1 Further details/Determining BASIC
BASIC
version

* 2.2 Acorn Archimedes
Acorn Archimedes
(RISC OS) * 2.3 Other platforms

* 3 References * 4 External links

HISTORY

In 1978 Hermann Hauser and Chris Curry founded Acorn Computers . Much of the code was developed at Cambridge University by Sophie Wilson and her colleagues.

PLATFORMS AND VERSIONS

BBC
BBC
MICRO

Main article: BBC Micro
BBC Micro
BASIC
BASIC
prompt on the BBC Micro
BBC Micro
after switch-on or hard reset

Complete History available here:

BASIC
BASIC
I, the original version, was shipped on early BBC
BBC
Micros .

BASIC
BASIC
II was used on the Acorn Electron and BBC
BBC
Micros shipped after 1982, including the Model B. It added the OPENUP and OSCLI keywords, along with offset assembly and bug fixes.

BASIC
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
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
BASIC
III can be found is as the HI- BASIC
BASIC
version for the external second processor.

BASIC
BASIC
IV, also known as CMOS BASIC, available on the BBC
BBC
Master machines, was changed to use the new instructions available in the 65SC12 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.

BASIC
BASIC
IV(1986) was a further improvement to BASIC
BASIC
IV, and was included on the Master Compact machine. The version of BASIC
BASIC
on the Compact included re-coded mathematical routines, said to provide a 30% speed increase over the version included in the rest of the Master series.

HI-BASIC: this was available in two versions, the first based on BASIC
BASIC
III, and the second based on BASIC
BASIC
IV. Both were built to run from a higher address (&B800) on the second processor, rather than the usual it loaded into main RAM and used the 64 kB of Sideways RAM for user programs. This provided support for much larger programs at the cost of being a lot slower than the normal ROM-based version.

The interpreter can deal with both BASIC
BASIC
and 6502 assembly language , which can be included between the characters. This contributed to the system's popularity with industrial and research engineers.

Further Details/Determining BASIC
BASIC
Version

As the BBC
BBC
MOS and RISC OS were usually supplied on ROM, it may be assumed that a specific release of the operating system contained a specific version of BASIC. As such, there is no simple way to determine which version of BASIC
BASIC
is actually running other than by enquiring the operating system identity and thus making an assumption. NOTE THAT ALL ELECTRONS, AND LATER BBC
BBC
MICROCOMPUTERS, HAVE BASIC2: THE EARLIER BBC
BBC
MICROCOMPUTERS HAVE BASIC1. IF YOU ARE NOT SURE WHICH VERSION OF BASIC
BASIC
IS IN YOUR MACHINE, TYPING REPORT AFTER BASIC
BASIC
HAS STARTED UP (AFTER A BREAK OR *BASIC), WILL PRINT THE COPYRIGHT MESSAGE. IF THE DATE IS 1981, BASIC1 IS FITTED; IF IT IS 1982, YOU HAVE BASIC2. AMERICAN MACHINES, OR THOSE WITH A SECOND PROCESSOR, MAY HAVE US BASIC
BASIC
OR HIBASIC: THE ROM ROUTINES WILL NOT BE IN THE SAME PLACE FOR THESE ROMS. —  BASIC
BASIC
ROM USER GUIDE OSBYTE &00(0)

Identify OS version (See OSBYTE &81 for more information regarding OS identification)

Entry parameters: X=0 Execute BRK with a message giving the OS version X0 RTS with OS version returned in X

On exit: X=0, OS 1.00 or Electron OS 1.00 X=1, OS 1.20 or American OS

OSBYTE &81(129) Entry parameters: X=0 Y=&FF

On exit: X=0 BBC
BBC
OS 0.1 X=1 Electron OS 1.00 X=&FF BBC
BBC
OS 1.00 or OS 1.20 X= text-align: right;">—  Acorn Electron Advanced User Guide

On the BBC
BBC
family, it is possible to run both the standard BASIC
BASIC
and an enhanced HI BASIC
BASIC
on the 6502 Second Processor. One may determine if the program is running on the second processor by examining the initial value of PAGE, it will be &800 if using the second processor. To distinguish between BASIC
BASIC
and HIBASIC, one should examine the initial value of HIMEM. This will be &8000 for BASIC
BASIC
running on the second processor, and "> This was able to implement almost all of the language, with the obvious exception of the EVAL function – which inevitably required run-time programmatic interpretation. As evidence of its completeness, it was able to support in-line assembler syntax. The compiler itself was written in BBC
BBC
BASIC. The compiler (running under the interpreter in the early development stages) was able to compile itself, and versions that were distributed were self-compiled object code. Many applications initially written to run under the interpreter benefitted from the performance boost that this gave, putting BBC
BBC
BASIC
BASIC
on a par with other languages for serious application development.

OTHER PLATFORMS

BBC
BBC
BASIC
BASIC
has also been ported to many other platforms.

A 32016 version of BBC
BBC
BASIC
BASIC
was supplied with the Acorn 32016 CoProcessor and Acorn ABC.

In addition to the version of BBC
BBC
BASIC
BASIC
supplied with the BBC
BBC
Micro 's Z80 Second processor, a Z80 based version of BBC
BBC
BASIC
BASIC
also exists for CP/M based systems. Until recently, no version existed for the Sinclair ZX Spectrum ; however, due to efforts of J.G. Harston (also responsible for a PDP-11 version ), BBC
BBC
BASIC
BASIC
for the Spectrum was released in January 2002 with many improvements made in subsequent releases.

A Zilog Z80
Zilog Z80
version of BBC
BBC
BASIC
BASIC
was also used on the Tiki 100 desktop computer, Cambridge Z88 portable and the Amstrad NC100 Notepad and Amstrad NC200 Notebook computers. This version has been implemented on the TI-83 Plus and TI-84 Plus series graphing calculators .

For PC based systems, BBC
BBC
BASIC
BASIC
was also implemented for DOS
DOS
as BBC BASIC
BASIC
(86) (which aimed for maximum compatibility with the BBC Micro) and BBasic (which concentrated on the BASIC
BASIC
language itself, with its own enhancements based on BASIC
BASIC
II).

A version of BBC
BBC
BASIC
BASIC
integrated with the Microsoft Windows graphical user interface , BBC
BBC
BASIC
BASIC
for Windows created by Richard Russell (who also developed the Z80 and x86 versions), was released in 2001. This version is still under active development, seeing much industry use currently. Whilst supporting nearly completely the original BBC
BBC
BASIC
BASIC
specification ( BASIC
BASIC
IV), the Windows version supports much of BASIC
BASIC
V/VI syntax as well as some advanced features of its own. Features unique to BBC
BBC
BASIC
BASIC
for Windows include interpreter support for record/structure types, and the ability to call Windows API routines or those in an external DLL . Recent versions have included advanced features comparable with languages like C , and an external library has recently added support for objects. As of 2017 an experimental port to SDL is available on Windows, Linux and a number of mobile devices supporting the SDL library,.

A GPL clone of BBC
BBC
BASIC
BASIC
named Brandy written in portable C is also available.

An emulator of the BBC Micro
BBC Micro
for the Commodore Amiga
Amiga
was produced by Ariadne Software for CBM (UK). While extremely fast, it did not emulate the 6502 at full speed so assembly code would run slower than a real BBC
BBC
while BASIC
BASIC
programs would run much faster. Due to the way the optimised BASIC
BASIC
and the 6502 emulation interacted, almost no commercial games would run (but well behaved code and educational software generally worked); additionally it used a slightly less precise floating-point numeric format. For a while it was bundled with a special academic package of the Amiga
Amiga
500 , in the hope that schools would replace their ageing BBC
BBC
Bs with Amiga
Amiga
500s.

A version of BBC
BBC
BASIC
BASIC
(Z80) has also been made for the TI-83/84+ Texas Instruments calculator families by Benjamin Ryves.

A Commodore 64 version Shado was produced by a small software house Aztec Software in the early 1980s.

REFERENCES

* ^ " BBC Micro
BBC Micro
ignites memories of revolution". BBC
BBC
News. 21 March 2008. Retrieved 28 November 2010. * ^ "Video processor for Acorn/ BBC
BBC
computer". BBC
BBC
News. Retrieved 30 November 2010. * ^ " BBC Micro
BBC Micro
ignites memories of revolution". BBC
BBC
News. 21 March 2008. Retrieved 30 November 2010. * ^ BBC
BBC
BASIC
BASIC
version list * ^ Acorn User October 1986 - Page 17 - Master Compact Review * ^ Smith, Bruce (November 1984). A & B Computing. 1, Golden Square London: Argus specialist Publications. p. 6. * ^ Marsh, David (December 5, 2005). "ARM targets automotive and industrial dominance". EDN Europe. Retrieved August 1, 2012. * ^ Roger Wilson (3 July 1989). " BASIC
BASIC
V 1.02 versus 1.04 changes (for Richard LLoyd!)". Newsgroup : eunet.micro.acorn . Usenet: 807@acorn.co.uk . Retrieved 14 June 2011. * ^ Lee, Jeffrey (2 August 2011). "Have I Got Old News For You". The Icon Bar . Retrieved 8 December 2011. TBA software have been keeping themselves busy by releasing a test version of an updated BBC BASIC
BASIC
with VFP/NEON assembler support. * ^ BBC
BBC
BASIC
BASIC
- MDFS::Software.$.BBCBasic * ^ Williams, Chris (6 December 2003). " BASIC
BASIC
V for Unix, DOS, Windows and RISC OS: We talk to author Dave Daniels about the spirit of Brandy BASIC". Drobe . Retrieved 6 July 2011. Brandy BASIC
BASIC
is a BASIC
BASIC
V interpreter that has been compiled for RISC OS, NetBSD/arm32, NetBSD/i386, Linux, DOS
DOS
and Windows. * ^ Daniels, Dave. "Brandy Basic". RISC World. Retrieved 6 July 2011. Brandy is a portable interpreter for BBC
BBC
Basic, that is to say, it allows programs written in BBC
BBC
Basic to be developed and run on computers other than ones running RISC OS. * ^ "Brandy". Archived from the original on 17 July 2011. Retrieved 6 July 2011. * ^ "Brandy Basic V Interpreter". Retrieved 6 July 2011.

EXTERNAL