These pages are dedicated to the memory and continued support of the BBC
microcomputer, and all its close relatives. These include the Atom, the BBC
models A, B and B+, the Electron, the BBC Master and the Master Compact.
All of these micros were based on the 6502 microprocessor, and provided
unparalleled ease of use and extendability for their time. The focus of the
pages will be to support the use and connectivity of existing BBCs, and the
use of emulators. Even though the
early Archimedes models had the BBC logo on them, this site will not attempt to
support them, except by listing available Archimedes emulators as they become
available.
History
Most of the following text (the historical facts) was contributed by Dave Jeffrey.
Most of the rest (technical information) are my own recollections and contributions from all over the net.
Corrections and contributions are always welcome. For example, I'd definitely like
to spice this page up a bit with images and some scanned articles from the various
stages of the BBC line's history.
Some pieces of information were leeched from Acorn's own online presentation of its
history, sadly gone from the web now.
This page also has some more information on Acorn's activities in prehistoric times (i.e.
before the release of the BBC micro.... :-)
The links on the micros' names usually lead to
The Machine Room,
a great, informative database and index of micros and their features.
Maybe the Acorn leaflets page might also be of interest?
The Atom
The Acorn Atom
was the first commercially released microcomputer from Acorn.
It was sold as a kit for UKP 120, or prebuilt for UKP 170. It supported up to 128 KB
bank-switched RAM, tape and disc interfaces and Econet.
The BBC and the BBC micro
In the very early 80's BBC (British Broadcasting Corporation)
Education started
what became the "BBC Computer Literacy Project" (it's logo was the familiar Owl
made up of dots). This was started largely in response to a BBC documentary
(called "The Mighty Micro") in which a professor predicted the coming computer
revolution, and how important it would be to the economy, industry and
lifestyle of the country (i.e. the United Kingdom). It was a very
influential film - questions were asked in parliament after it was shown.
The BBC wanted to base its project around a computer that was capable of
doing all of the various things it wanted to demonstrate in its series
"The Computer Programme" (1981) extremely well. It needed to be capable of
Teletext/Telesoftware, comms, Controling Hardware, Programming, Artificial
Intelligence, Graphics, Sound and Music, etc. It decided to badge a micro,
drew up a specification and asked for takers.
The BBC had serious discussions with
Clive Sinclair (or Sir Clive),
who tried to peddle the terrible
"NewBrain"
micro to them, but it came nowhere near the
specification the BBC had drawn up, and was rejected. The BBC made
appointments to see several other computer firms, including Acorn.
A small Acorn team, which relied largely on Cambridge students (such as the
legendary Roger Wilson) worked through the night to get a working Proton
together to show the BBC. They got Mode 0 working just before they set off
for London! The Acorn Proton was not only the only machine that came up to
the BBC's specification, it also exceeded it in nearly every field. It was
a clear winner.
Thus, during 1982, children and parents all over the UK became familiar with the BBC micro.
Compared to many of the other popular micros at the time, the openness of the
BBC's design was superior, proven by the amount of serious uses people found
for it. Its games were charming, but not spectacular, but you could do so
much more.
Acorn anticipated the total sales to be around 12000 units, but eventually more
than 1 million BBC micros are sold.
BBC Education made several series "starring" the BBC Micro, which included:
"The Computer Programme", "Making the Most of The Micro", "Computers In Control"
(about robots and other hardware), "Micro Live" (weekly computer news magazine),
and it also made the ground-breaking "Domesday Project" in 1986. Specifically,
The BBC version of Elite was actually advertised on TV in Britain when it
was released; the advert was narrated by the extremely popular ex-"Doctor
Who" Tom Baker. The Acorn Electron was also advertised on TV in Britain as
well.
The BBC micro and its features
The first model, BBC model A (UKP 235+VAT), was limited by 16 KB of RAM. Since RAM was
shared between user programs and video memory, the more colorful graphics modes
were severely limited. However, the teletext mode became quite poopular because
of its speed, low memory footprint, and suitability for serious (text based)
applications, for example teletext information services and bulltin board systems
(like Prestel). The BBC model B (UKP 335+VAT) doubled the amount of RAM, and became the de
facto educational machine - especially when combined with a diskette drive and
Acorn's proprietary Econet network. Software and data could be loaded from
tape, diskettes, ROM chips, the network or Winchester drives. ROMs could be
mapped in and out of the language ROM area as they were needed.
The line editing concept used in the BBC is like nothing seen before or since, and
must be one of the more innovative ideas ever in this area. Instead of having a
command recall buffer (like most UNIX and DOS shells have) or a fully movable
cursor (like the Commodore 64 or Microsoft BASICs), the input focus always
moved as a teletype carriage - it was always at the end of the last line (like in
UNIX and DOS shells). However, instead of recalling previous commands, the arrow
keys moved the main cursor, leaving a "ghost" cursor where the focus was.
Next, when the COPY key was pressed, a character would
be copied from underneath the main cursor to the ghost cursor, and both cursors
would advance. I have sorely missed such a feature in all command shells
I have used since, since with this you can copy any information that is
already on the screen (like file names, variable names or full program lines),
not only previous commands.
The BBC BASIC became famous for its rich set of built-in features. Where other
dialects at the time referred the programmer to "PEEKs" and "POKEs" to produce
decent graphics and sound, and were otherwise not much more than simplified
assembly language with numeric and string variables, the BBC BASIC had almost all
you could ask for:
Graphics: MODE (set graphics/text mode), COLOUR (set text color), GCOL
(set graphics operation color and drawing mode (normal, AND, OR, XOR)),
MOVE (position graphics cursor), DRAW (draw a line), PLOT (provided a lot
of primitives, like points, lines, filled triangles). The only thing missing was sprite graphics, and this is where BBC games lost
out on some of their competitors'.
However, the above features were perfect
for educational use, both with 2D and 3D graphics. Also, this shift of emphasis
resulted in a number of innovative, mathematically powered blockbuster games
which started their lives on the BBC, but were ported to most micros around.
The most prominent examples of such hits are Elite (of course), Sentinel
(by Geoff Crammond) and Thrust. Aviator was heralded as the most accurate
flight simulator to that date, and Revs did the same for racing simulations
(both written by Geoff Crammond).
Another interesting note is that "Way of the Exploding Fist", an immensely
popular fighting game on the Commodore 64 and ZX Spectrum, was actually
first written on a BBC, but a BBC version was released much later.
Sound: SOUND (to play a note or noise, including channel, pitch, duration,
and volume. It was also possible to synchronise channels with each other!),
ENVELOPE (to specify further parameters for attack, sustain and decay, both
on volume and pitch).
Named procedures and functions with parameters, and local variables: this
made it possible to write modular programs, and recursive programs.
Both of these concepts are vital in the study of data structures and
algorithms, and they make BBC BASIC programs incredibly readable - almost
like Pascal code.
REPEAT/UNTIL, IF/THEN/ELSE, FOR/TO/STEP/NEXT: these constructs, when combined
with procedures and functions, made it virtually unneccessary to use the
dreaded GOTO or GOSUB/RETURN statements. The only thing missing to make
them truly obsolete, was a block construct (like Pascal's begin/end).
So, since line numbers were much used, the RENUMBER command was also a very
welcome inclusion (even if only natural in such a well equipped dialect of
BASIC!).
EVAL: for evaluating the contents of a string as a BBC BASIC expression.
Though not a particularly "clean" feature, it made it easier to support
formulas read from file or user input, which is perfect for exploring the
world of 2D/3D graphs, equations solving and more.
Integer variables: appending a percent sign (%) to a variable name guaranteed
that it would only contain integer values. These were much faster to process
than normal numeric variables. In addition, single letter, integer variables
(A% to Z%) were kept in fixed memory locations and were still faster to
process.
Memory addressing operators: instead of supporting the clumsy PEEK and POKE
statements, BBC BASIC addressed provided elegant memory access through special
operators: "?loc" and "!loc" address a byte and a word (double byte) at loc,
respectively. loc can be any expression evaulating to an integer, and the
addressing notation can be used both on the left and the right side of an
assignment.
Built-in assembler: 6502 opcodes could be written explicitly in BASIC code.
When run, the code would be assembled to any address, and the number of
passes could be customized. The 6502 opcodes could refer to BASIC variables.
Of course, machine code could be called from BBC BASIC (with CALL, or through
the USR function if the code returned something). Also, operating system
calls were quite easily called, or extended upon. Parameters and results
could be communicated to machine code through the variables A%, X% and Y%,
which were mapped to the 6502 registers A, X and Y.
Combining the versatility of the BBC BASIC, the 2 MHz CPU, and MODE 7, you got
the fastest text-only BASIC programs in existence, but the graphics were also
very fast.
BBC BASIC was actually ported to many systems, including the IBM
compatible PC, the Apple Mac, and several smaller micros. It was provided as
standard with two non-Acorn computers: the
Z88 and the
Tatung Einstein.
However, programmers were not limited to BBC BASIC as one could easily
switch from one language to another (provided one bought the ROM), and
implementations appeared of the languages Forth, COMAL, BCPL, Lisp, Pascal and C,
among others.
The Electron
Because of the expandability of the BBC B, it was quite an expensive
microcomputer at the time. Acorn decided to produce a smaller, more limited
"little brother", called Electron.
It was launched in 1983, and inherited the BBC micro's wonderfully
structured BBC BASIC language and the graphics modes, but not the teletext mode,
so it was obviously meant for the home market. Sound was
limited to one channel. Most of the expansion ports were also removed (but made
available through extra units to be purchased, the most popular being the
"Plus 1" and "Plus 3"). The micro was, however, roughly half the price of the
BBC, and quite compatible on the base level.
Still, because "BBC" and "Acorn"
were quality and "educational" brand names, parents provided for a huge demand
near the Electron's first Christmas. Acorn was not prepared for this demand, so
most parents bought ZX Spectrums for their children instead. The year after,
the Amstrad CPC was released, and included a monitor, tape deck and a reasonable
version of BASIC. This really finished the Electron off.
However, the Electron did become popular and was highly regarded among its
users, and for a long while, Superior sold more Electron versions than BBC
versions of their games.
Technically, the Electron did not have the 6845 CRTC of the BBC, only an ULA.
Proper hardware scrolling was thus not supported, and many Electron conversions
of popular BBC games (like Repton 1-3 and Ravenskull) were rather disappointing
because a much smaller screen area was used for the scrolling playfield. A few
programmers saw this as a challenge, and eventually, decent versions of both
Stryker's Run and Firetrack were released.
Another side effect was that games which needed to use screen memory found no
alternative but to leave their data visible on the screen - traditionally,
BBC coders used the 6845 CRTC to hide this "garbage". Apparently, Tony Oakden
did manage to get the ULA to hide this data from the display, evident in his
games Quest, StarPort and Camelot.
Graphics modes 0, 1 and 2 were noticeably slower on the Electron because of the
lack of the 6845 CRTC.
The Electron had no separate Function Keys; the number keys doubled up for
them. To use them you needed to hold down a special "FUNC" key and then
type a number key. BASIC tokens (such as PRINT, LET) were printed on the
letter keys. If you pressed the "FUNC" key and a letter key the token would
be typed in. Acorn were aware that a similar system was popular on the ZX81
and ZX Spectrum. Acorn User magazine even published a memory resident program
which provided similar functionality to BBC users, some time after the Electron's
release!
The Master series
As technology improved, the BBC fell a bit behind on the basic features.
In 1985, Acorn launched the BBC B+, basically a BBC B with 64 or 128 KB RAM instead of 32 KB.
Since the address space was still limited to 64 KB (which had to be shared between
32 KB ROM and the increased RAM), pieces of RAM had to
be "shadowed" into "sideways" RAM, and paged into the address space when
needed. As the improvement wasn't enough to steal ground from other brands, the B+
didn't sell much.
In the same year, Acorn introduced the BBC's "big brother", the BBC Master, which was a big step
ahead, and which would come to take over much of the BBC B's position, both in
education and in homes. It also came in several models:
Master 128 (128 as in 128 KB memory)
Master Turbo
Master ET ("Econet Terminal", with no tape or disk interfaces)
Master 512 (with 512 KB memory, and the ability to run DOS+ and the GEM
graphical user interface).
Master Compact (ADFS only, no cassette port)
The Masters sported better graphics modes, greater configurability
and new, more professional features. They also had two cartridge slots
copied from the Electron Plus 1. Acorn enthusiasts who knew about the RISC
project, realised that these machines were what they looked like - a stop gap
to get money coming in from schools whilst Acorn worked on the next big thing.
The Masters also had to fight the threat of the steadily cheaper Atari ST.
It was obvious that very few commercial applications took advantage of the extra
features and power of the Masters. In addition compatibility with the older
BBC models was not that good, and this discouraged quite a few people.
However, the Master 128 version of Stryker's Run did create a wave of interest.
The Master Compact looked more like a three-part desktop computer, as the keyboard
was separate from what looked like the main unit. It should be noted, however,
that only the power supply and the 3.5 inch disk drive was in the box under the
monitor - the computer itself was actually inside the keyboard unit. The @ symbol
was moved above the 0, to make room for a special key for typing foreign language
characters. Both the cartridge slot and the cassette port were removed. The
removal of the latter was a huge mistake on Acorn's part. The Compact came with
some rudimentary desktop software, which was nowhere near a proper GUI. Software
for the Compact became very expensive (typically 20 UKP for a game) because of
the small user base.
Early on the BBC Master 128 hit the headlines for an interesting reason -
exploding battery packs! The battery packs were used by internal clock and
also stored various settings that were configurable via *CONFIGURE
commands. The original ones recharged themselves, which caused the problem.
The Micro User reported on one that blew up in a hospital. Acorn had to do
a quick recall!
Interestingly, the Master Compact didn't have a battery pack. It stored
it's *CONFIG settings in an EEPROM (Electronically Erasable PROM) and the
internal clock and date were not stored after power down at all!
The Master Series had a feature that schools had been begging Acorn for - a
little screw by the side of the BREAK key that disabled it!
The Archimedes
When the Acorn Archimedes (with a RISC processor) was launched in 1987, it was obvious to
everyone that the BBC series of microcomputers was dying. Even though the
Archimedeses had the BBC owl on them (until the A3020), only some compatibility
was left. Most BBC programs (like games) were not supported until a 6502 emulator
was bundled with RISC OS.
The Archimedes was superior to the BBC/Master series in every way, and truly a
next generation product. Was there a BBC owner out there who didn't feel a
lump in his or her throat when they first saw the 256-color, 3D demonstration
game "Lander", or the full fledged game "Zarch" from Superior Software?
It is noteworthy that the Archimedes was 10 times faster than an equivalent PC
at the time (386/16 MHz), at 4 MIPS. (Acorn's own numbers.)
In 1988, RISC OS is released. It is a multitasking operating system and graphical
user interface, supporting anti-aliased fonts and laser printers.
The rest is history
As I'm writing this section (in May, 2000), Acorn has been as good as dead for about
half a year. A good summary of the rest of Acorn's history and their computers and
other products can be found in the first section of the
comp.sys.acorn.* FAQ.