<?php
	$title = "Introduction & History";
	include("pre.php3");
?>

<IMG SRC="img/sw/Welcome.jpg" ALIGN=RIGHT>
Welcome to "<A HREF="index.html"><B>The BBC Lives!</B></A>"
<P>
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 <A HREF="emulators.html">emulators</A>.  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.

<H1>History</H1>

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.
<P>
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.... :-)
<P>
The links on the micros' names usually lead to 
<A HREF="http://www.tardis.ed.ac.uk/~alexios/MACHINE-ROOM/">The Machine Room</A>, 
a great, informative database and index of micros and their features.
<P>
Maybe the <A HREF="doc/AMP.html">Acorn leaflets</A> page might also be of interest?

<H2>The Atom</H2>

The <A HREF="http://www.tardis.ed.ac.uk/cgi/alexios/MACHINE-ROOM/getentry.cgi?Acorn/Atom.00">Acorn Atom</A> 
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.


<H2>The BBC and the BBC micro</H2>

In the very early 80's <A HREF="http://www.bbc.co.uk">BBC</A> (British Broadcasting Corporation) 
<A HREF="http://www.bbc.co.uk/education/">Education</A> 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.
<P>
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.
<P>
The BBC had serious discussions with 
<A HREF="http://www.nvg.ntnu.no/sinclair/sinclair/sinclair.htm">Clive Sinclair</A> (or Sir Clive), 
who tried to peddle the terrible 
"<A HREF="http://www.oldcomputers.freeserve.co.uk/new-brain.html">NewBrain</A>" 
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.
<P>
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.
<P>
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.
<P>
Acorn anticipated the total sales to be around 12000 units, but eventually more 
than 1 million BBC micros are sold.
<P>
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,
<MENU>
<LI>The BBC was often seen on BBC television programmes such as The Adventure
Game, Tomorrow's World, Beat the Teacher, Doctor Who (where it provided
many graphics and even special effects) and on countless educational
programmes during the 1980s. 
<LI>BBC Radio 4 had a programme called "The Chip Shop" which broadcast some
software for the BBC Micro that could be taped and then loaded.
<LI>The BBC Micro was also used to provide little cartoons between childrens
programmes for a couple of years.
<LI>The BBC broadcast Telesoftware on Ceefax (it's teletext service) that could
be downloaded if you had a teletext adaptor connected to your computer
until 1987.
<LI>The BBC had a software arm "BBC Software" that supported the BBC Micro, and
released several books through BBC Books.
<LI>The BBC also badged a multi-purpose robot, called "The BBC Buggy", which
worked with a BBC Micro and was made by the Microelectronics in Education
Programme
(MEP). 
<LI>The Domesday Project was a project that involved schools in gathering
together information that would be put onto a set of laser disks. This
information included hundreds of photographs, text, sound and even video.
The idea was to create something like the original Domesday book written for
King William the Conqueror 900 years earlier. It was really a precursor of
CD-ROMs today, and extremely innovative for its time. The laser disks ran
on a specially adapted Master 128 which was linked to a videodisc player.
</MENU>

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.


<H2>The BBC micro and its features</H2>

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.
<P>
Here's an overview of the BBC's <A HREF="http://www.tardis.ed.ac.uk/cgi/alexios/MACHINE-ROOM/getentry.cgi?Acorn/BBC_Model_B.00">features</A>:
<MENU>
<LI>2 MHz 6502 processor (quite impressive for a micro at the time)
<LI>32 KB ROM (16 KB OS, 16 KB language)
<LI>32 KB RAM (16 KB in model A, 64 KB in model B+)
<LI>Screen modes (text resolution in parentheses):
  <MENU>
  <LI>mode 0: 640x256 (80x32), 2 colors
  <LI>mode 1: 320x256 (40x32), 4 colors
  <LI>mode 2: 160x256 (20x32), 8 colors + 8 "blinking colors"
  <LI>mode 3: 640x200 (80x25), 2 colors
  <LI>mode 4: 320x256 (40x32), 2 colors
  <LI>mode 5: 160x256 (20x32), 4 colors
  <LI>mode 6: 320x200 (40x25), 2 colors
  <LI>mode 7: 80x32 teletext, 8 colors and teletext graphics
  </MENU>
  The "blinking colors" were a funny peculiarity of the BBC, never to be seen 
  anywhere else.  Each "blinking color" alternated between a fixed pair of the 
  normal eight colors.  Also, in all the graphics modes, the palette was fully 
  programmable, so any of the 8 colors and the 8 "blinking colors" could be 
  assigned to any of the available logical color entries available.  
  Game programmers made impressive use of palette animation to give the effect 
  of movement.
  <P>
  Another peculiar, but extraordinarily useful feature was the BBCs notion of a 
  virtual graphics resolution of 1280x1024, which was the same in every mode, 
  allowing positioning of graphics primitives on the sub-pixel level with no extra 
  effort on the programmer's side.  As a professional graphics programmer, I'd say this 
  was a rather spectacular feature, as even very few modern graphics libraries provide
  sub-pixel addressing.
<LI>Sound capabilities: 4 independent channels (one noise and 3 melodic).  
    The loudspeaker of the BBC was generally very loud, and the channels had 
	few variational possibilities (only volume and pitch).  By applying sound 
	"envelopes" which automatically modified the output volume and pitch over 
	time, quite nice effects could be achieved, at low cost. There were also 
	rudimentary facilities for synchronizing playback on channels with each other.
	<P>
	Support for an optional hardware speech synthesizer was provided, but this
	product and interface was completely undermined by <A HREF="doc/Speech.html">Superior 
	Software's "Speech!"</A>, a software speech synthesizer.
	
<LI>Built-in hardware support: pluggable ROM chips, tape deck (with motor control)
	printers (through the 
    Centronics interface), serial communication (through a proprietary RS-432 
	interface), diskette drive (requiring an extra ROM), TV set or 
	monochrome/color monitors, twin proprietary analogue joysticks, a second 
	processor (6502, Z80 (adding CP/M capability), 32016 and ARM1 processors were
	launched) and a "user port" connected to 
	the bus.  ROMs could be inserted directly on the main board, or into an
	extension socket through an oblong hole one could make on the side of the 
	keyboard.
	<P>
	Acorn was so proud of it's second processor technology that it actually
	registered a trademark for it - The Tube(R).
	<P>
	The BBC B with 6502 second Procesor unit evolved into the Master Turbo, the
	BBC with Z80 second processor evolved into the Master 512, but with an 80186 as
	the main processor.
	<P>
	The Acorn harware speech add-on was based around complete words and word fragments 
	digitised by a BBC TV news-reader called
	Kenneth Kendall. You could play them using the SOUND command. 
	The idea of	having Kenneth Kendall was that the BBC Micro should speak in "BBC
	English".  The hardware (2 chips - one speech synthesiser and
  one speech ROM) was from Texas instruments based on their early 5220 family
  of speech synthesisers.
  Part of the reason for the success of Speech!, besides it being software only, 
  was that it was phoneme based, so the user had a practically unlimited vocabulary.
</MENU>

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 <B>all</B> command shells 
I have used since, since with this you can copy <B>any</B> information that is
already on the screen (like file names, variable names or full program lines), 
not only previous commands.
<P>
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:
<MENU>
  <LI>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'.
	  <P>
	  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).
	  <P>
	  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.
	  
  <LI>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).
	  
  <LI>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.
	  
  <LI>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!).
	  
  <LI>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.
	  
  <LI>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.
	  
  <LI>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.
	  
  <LI>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.
</MENU>

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.
<P>
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 
<A HREF="http://www.menaxus.demon.co.uk/z88/z88home.htm">Z88</A> and the 
<A HREF="http://www.insset.u-picardie.fr/museum/english/pages_museum/einstein.htm">Tatung Einstein</A>.
<P>
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.

<H2>The Electron</H2>

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 <A HREF="http://www.tardis.ed.ac.uk/cgi/alexios/MACHINE-ROOM/getentry.cgi?Acorn/Electron.00">Electron</A>.  
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.
<P>
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.
<P>
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.
<P>
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.
<P>
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.
<P>
Graphics modes 0, 1 and 2 were noticeably slower on the Electron because of the 
lack of the 6845 CRTC.
<P>
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!


<H2>The Master series</H2>

As technology improved, the BBC fell a bit behind on the basic features.
In 1985, Acorn launched the <A HREF="http://www.tardis.ed.ac.uk/cgi/alexios/MACHINE-ROOM/getentry.cgi?Acorn/BBC_Model_B_Plus.00">BBC B+</A>, 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.
<P>
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: 
<MENU>
  <LI>Master 128 (128 as in 128 KB memory)
  <LI>Master Turbo
  <LI>Master ET ("Econet Terminal", with no tape or disk interfaces)
  <LI>Master 512 (with 512 KB memory, and the ability to run DOS+ and the GEM 
      graphical user interface).
  <LI>Master Compact (ADFS only, no cassette port)
</MENU>

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.
<P>
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.  
<P>
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!
<P>
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!
<P>
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!


<H2>The Archimedes</H2>

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.
<P>
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?
<P>
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.)
<P>
In 1988, RISC OS is released.  It is a multitasking operating system and graphical
user interface, supporting anti-aliased fonts and laser printers.


<H2>The rest is history</H2>

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
<A HREF="http://www.vigay.com/riscos/FAQ/">comp.sys.acorn.* FAQ</A>.
<P>

<?php include("post.php3") ?>
