Carry on programming in BBC
BASIC. Use the programs you have written on the Z88, Acorn or
any other computer on your PC!
This is now a FREE and unsupported version and is supplied with BBC BASIC for Windows.
BBC BASIC (86) is
fully configured for the IBM PC and compatibles, and all the
statements and functions specified for BBC BASIC are available.
It is supplied with a HTML manual and has been designed to be
as compatible as possible with Version 4 of the 6502 BBC BASIC
resident in the BBC Micro Master series. The language syntax
is not always identical to that of the 6502 version but in most
cases the 80x86 version is more tolerant.
BBC BASIC (86)
version 4.82 is
supplied in four versions:
- BBCBASIC.EXE The standard 'small memory
model' interpreter
- BIGBASIC.EXE The large memory model' interpreter
- BBCRUN.EXE The 'small memory model'
run-only version
- BIGRUN.EXE The large memory model' run-only
version
You can use the run-only
versions to combine a BBC BASIC program with a cut-down version
of the interpreter to create a single executable file which may
be run directly from the DOS prompt (or from Windows) without
it necessarily being apparent that BBC BASIC is involved. Executable
files created this way may be distributed freely without any
royalty for BBCBASIC being due.
The 'small memory
model' versions allocate 64 Kbytes (when available) for the user's
program and variable space; the large memory model' versions
allow the variable storage area (the heap) to exceed 64 Kbytes,
up to the limit of low memory in the machine (normally a maximum
of 640 Kbytes). The large memory model versions run slightly
more slowly than the standard versions when performing the same
operations, and use more code and data memory than the standard
versions for the same BASIC program. The small memory model versions
are also generally more appropriate when it is necessary to 'shell
out' from BBC BASIC to run another DOS utility.
The documentation
provided covers the features which differ from the standard Acorn
versions and should therefore be read in conjunction with a standard
BBC BASIC manual.
BBC BASIC (86) requires
about 32 Kbytes of code space. When available, a full 64K segment
is used for data (small memory model version), resulting in PAGE
having a value of &900 and HIMEM a value of &F800. If
less than 64K is available HIMEM will be set at a lower value.
BBC BASIC releases any memory surplus to its requirements so
that other programs may be run from within BBC BASIC (using a
"star" command). If you have sufficient memory you
can even run BBC BASIC from BBC BASIC (although this is hardly
useful)!
Demonstration
Software
Try out BBC BASIC
now before ordering the full version.
This version has
- HIMEM restricted
to &2000
- Program and data
space limited to under 8K bytes
Download the software
from here, put these files in a separate directory and type 'BBCDEMO'
to run.
Serial
Port
There's no code in
BBC BASIC (86) to support the serial port directly, but you can
(using *OPT 1) vector the output to MS-DOS's 'auxiliary output'
which should be configurable in DOS to be a serial port. Details
of *OPT are on Richard
Russell's web site.
In the old versions
of MS-DOS this was a fairly primitive (and therefore slow) polled
interface, although possibly the implementation is more sophisticated
under Windows.
Whenever I need access
to the serial ports from BASIC (which I commonly do) I use assembler
routines based on those supplied with BBC BASIC (86): i.e. the
COMIO.BBC program on the distribution disk. This allows me to
use high-speed interrupt-driven serial comms which work extremely
well, but of course the use of assembler code makes it something
not to be attempted by the faint-hearted!
There are a few details
on using serial I/O from BBC BASIC (86) again on Richard
Russell's web site.
Richard.Russell 11th
January 2000
|