Computer Languages and the BBC Micro-Computer
This is a brief overview of the computer programming languages that
are available for the 8-bit BBC model 'B' and Master 128 computers. The
languages mentioned in this article do not require a second processor,
although some of them may benefit by having one. The additional
requirements over and above the specification of a standard BBC Model 'B'
will be detailed where appropriate. The various second (or co) processors
that are available for the BBC 8-bit machines further extend the
programming languages that are available to the user, but these will not
be discussed here, but could be the subject of a future article if enough
interest is shown. The languages are discussed in alphabetic sequence and
not in ease of use! So off we go with the letter 'A' :-
APL
This language is interesting in that it uses a special character set.
The language itself is very concise and powerful, but does take a bit of
getting used to. To the best of my knowledge there is only one version of
this language for our machines, and that is I-APL. The disk itself is
'freeware' i.e. can be freely distributed on its own and unaltered to
those who require it. Books on its use can be ordered from I-APL Ltd at a
very reasonable cost (less than it would cost to copy them!) A copy of the
disk is in the pool. EDITOR...... TBI-37-3 (DFS) TBI-37-4 (Archi)
The software comprises two rom images (which can be blown into Eproms)
and a disk of some sample workspaces and tutorials. As special characters
are used for the language, a graphics mode (preferably 0) is best for
program development, and therefore shadow ram will allow much larger
workspaces.
ASSEMBLER
There are many assemblers, macro or other, for our beloved 8-bit
machines, in fact there is one built into the BASIC interpreter!.
For the serious assembler programmer however, a good macro assembler
is a boon to writing large programs. Probably the best of the crowd is
SYSTEM ADE+. This comprises 2 (or 3) roms, a disk and a comprehensive
manual. The two main roms are the assembler itself and the linker/memory
management rom. The optional third rom is the SPY debugger. The assembler
contains a simple but useful full screen editor designed specifically for
entering assembler programs. It can use shadow ram, up to 4 banks of
sideways ram, and even the memory in the 65C02 second processor if present
and switched on.
A slightly simpler (and cheaper) macro assembler is Clares MACROM.
This comprises one rom, one disk, and a manual.
Finally, there is a very good public domain macro assembler from Alan
Phillips of Lancaster University.
All of these I use regularly and would heartily recommend them.
BASIC
This language comes supplied with our machines, and all versions are
well known to us. However, there are two other Basics available to us and
they are :-
Multi-Basic by CMS
This has additional commands that allow for multi-tasking.
XBASIC
This has additional commands making it more structured and more
powerful language.
Although XBASIC is mentioned as a 'new' version of BASIC, personally I
would place it among the other 'add-ons' to existing BASIC. Other add-ons
I would include are Computer Concepts Graphics Rom, Acorn's GXR, Computer
Concepts Accelerator (Basic compiler), Vine Micro's Matrix Rom, and
finally Acorn's Basic Editor.
BCPL
This language (the forerunner of 'C') is a powerful language for
writing 'system' type software such as editors and compilers, although it
need not be restricted to this. It was released by Acornsoft and comprises
a rom, a disk, and a very detailed manual. Other add-ons included a
disk/book entitled 'BCPL Calculations Package' and similarly the 'BCPL
Stand Alone Generator'.
C
This very popular language was one of the last languages to arrive for
our machines, and there are several versions :-
Acornsoft 'C'
This version was designed for the Master series machines, and requires
two banks of SWR and shadow ram. If you Model 'B' has been expanded to
this level, then this version of 'C' is one of the two leaders.
Beebug 'C'
This version of C has more modest demands, and hence I highly
recommend its purchase if you wish to learn C on a BBC micro. It comprises
two roms, a disk, and a manual. A further bonus is that there is an
add-on, the Stand Alone Generator, which allows your programs to run
without the roms being present.
Mijas 'C'
This comprises a disk and several manuals which contains the Small C
and the 6502 development system. This version of C generates assembler
code which is then assembled to produce 6502 machine code. It is not as
comprehensive a C as either Acornsoft's or Beebug's, but it has the
advantage of compiling down to machine code. It is a much enhanced version
of the public domain version of C. This version requires 4 banks of SWR or
the rom images blown into eproms.
Brasscourt 'C'
This comprises a rom, a disk, and a manual. Comments as for Mijas C,
but is less comprehensive.
Public Domain Tiny C
This version of C is too restrictive for serious use, but it is never
the less a reasonable introduction to C.
*** NOTE *** None of the above versions of C come supplied with a book
to teach you about the C language, the manuals supplied simply detail how
to use the compiler and what functions are contained within each library
supplied with the package.
COMAL
This language comprises a rom and a very comprehensive manual. The
language is a dialect of BASIC, but has a much tighter program structure
and also has syntax checking on entry. It has additional commands such as
CASE, excellent string manipulation, and enhanced file i/o commands. It
does not, however, contain the assembler.
FORTH
There are many versions of this language available for the BBC micro,
but I will concentrate on Acornsoft's, which is probably the most well
known. Forth is available on cassette, disk, or rom, but for serious use
the rom version is preferred. It is a language that comprises of a
dictionary of known 'words'. Each word performs a particular function and
the dictionary is extended by the definition of new words which comprise
combinations of existing (or known) words. Extensive use is made of the
stack and reverse polish notation is the norm here! Programs (or rather
new words) are defined as 'screens'. It is an ideal language to use for
real time control of devices connected to the outside world. It has also
been used to write games due to its impressive speed.
FORTRAN
As far as I am aware, there is only one version of Fortran available
for the native BBC micro, and that is supplied by AJS Soft. Unfortunately
I do not possess the manual for the rom, but I have discovered that it is
a reasonable implementation. If anyone has the manual or knows where I may
obtain one, then please let me know.
HALCIEN
This language, by High Level Algorithms, is a powerful graphics and
text handling language. The package comprises a rom, a disk and a very
detailed manual containing many example programs.
LISP
This language from Acornsoft is available on cassette, disk, or rom,
but as with FORTH, only the rom version should be considered for serious
use. It is used (as its name implies) for list processing and is often
talked about in Artificial Intelligence circles. It is an excellent
implementation, but it is not a language for the faint hearted. A disk of
examples was released by Acornsoft as an extra purchase option.
LOGO
This language, 'the turtle graphics' language, is available from
several suppliers, the most well known ones being Logotron and Acornsoft.
Logotron's package comprises a rom, disk, and a manual. Acornsoft's
comprises 2 roms, a disk, and a manual. Both versions are very good, and
have been widely used is schools.
PASCAL
There have been three versions of Pascal for the BBC micros :-
Acornsoft's S-Pascal.
This is disk based and is an implementation of tiny Pascal, and as
such is not suitable for serious use.
Acornsoft's Iso Pascal
This comprises 2 roms, a disk, and two books and is a very good
implementation. The 2 roms contain an excellent full screen editor as well
as the compiler and run time interpreter. A stand alone generator is
available as an extra purchase if required.
Oxford Pascal
This comprises a rom, a disk, and a manual. It is a reasonable
implementation of Pascal, but it uses the editor in BASIC and so all the
Pascal statements have to have line numbers, which detracts from the
purity of the language.
Overall, Acornsoft's is the one to go for.
PROLOG (Micro Prolog)
This language is supplied by Acornsoft and comprises a rom, two disks
(1x5.25 and 1x3.5) and a very readable manual. It is a language that is
often used in expert systems. This implementation is a good one and
represents excellent value for money.
EDITOR...........
If any interest is shown, K2O Will continue this series by going into each
of the above languages in greater detail. Please let 8BS have your comments
and encouragement as I personally would like to see this subject flourish
into a series of articles.