[ main | what's new | search | software | emulators | archive | documentation | links ]

Introduction & History

Welcome to "The BBC Lives!"

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 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.
  • 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.
  • The BBC Micro was also used to provide little cartoons between childrens programmes for a couple of years.
  • 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.
  • The BBC had a software arm "BBC Software" that supported the BBC Micro, and released several books through BBC Books.
  • 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).
  • 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.
  • 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.

    Here's an overview of the BBC's features:

  • 2 MHz 6502 processor (quite impressive for a micro at the time)
  • 32 KB ROM (16 KB OS, 16 KB language)
  • 32 KB RAM (16 KB in model A, 64 KB in model B+)
  • Screen modes (text resolution in parentheses):
  • mode 0: 640x256 (80x32), 2 colors
  • mode 1: 320x256 (40x32), 4 colors
  • mode 2: 160x256 (20x32), 8 colors + 8 "blinking colors"
  • mode 3: 640x200 (80x25), 2 colors
  • mode 4: 320x256 (40x32), 2 colors
  • mode 5: 160x256 (20x32), 4 colors
  • mode 6: 320x200 (40x25), 2 colors
  • mode 7: 80x32 teletext, 8 colors and teletext graphics
  • 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.

    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.

  • 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.

    Support for an optional hardware speech synthesizer was provided, but this product and interface was completely undermined by Superior Software's "Speech!", a software speech synthesizer.

  • 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.

    Acorn was so proud of it's second processor technology that it actually registered a trademark for it - The Tube(R).

    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.

    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.

  • 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.

    Robert Schmidt - rsc@nvg.org.