Skip to content

BBC Micro

Acorn's computer for the BBC's Computer Literacy Project

Acorn built the BBC Microcomputer for the BBC's Computer Literacy Project, which launched with The Computer Programme on BBC2 in January 1982. Announced at £235 and £335, it sold for £299 (Model A) and £399 (Model B), ran a 6502 at 2 MHz, and came with a BASIC that let programmers write named procedures and mix in 6502 assembly language. Elite was written for it.

In the summer of 1982 Acorn Computers had a problem that most computer makers would have liked. It had shipped more than 10,000 Model A BBC Microcomputers, but only about 7,000 Model Bs, and it had “nearly 12,000 outstanding orders”. The first issue of Acorn User printed a delivery timetable by order number, and told customers with questions to write to BBC Microcomputer Systems in Kettering, not to Acorn. The machine had been designed to go with a television series, and the series had created a queue.

The BBC Micro cost more than a ZX Spectrum, and it gave programmers more: a fast 6502, a BASIC with named procedures and a built-in assembler, and an operating system documented in enough detail that people could extend it. It became a common machine in British schools, and it was the machine Elite was written for.

Fast facts

  • Maker: Acorn Computers, for the BBC.
  • Announced: late 1981 at £235 (16K) and £335 (32K); on sale in 1982 at £299 (Model A) and £399 (Model B).
  • CPU: 6502 at 2 MHz, slowed to 1 MHz when it talks to slow peripherals.
  • Memory: 16K of RAM (Model A) or 32K (Model B), with 32K of ROM holding the operating system and BBC BASIC.
  • Display: eight screen modes, from 640×256 in two colours to 160×256 in sixteen, two text-only modes and a 40×25 teletext mode.
  • Sound: a Texas Instruments 76489 chip: three tone channels and one noise channel.
  • Expansion: the Tube for second processors, a 1 MHz bus, a user port, and fittings for disc drives and the Econet network.

The Computer Literacy Project

The BBC’s Computer Literacy Project began with a television series, The Computer Programme, first shown on BBC2 in January 1982. Its companion, The Computer Book, set out the aim: to explain what computers can do and how they work, and “to encourage a new kind of literacy – ‘computer literacy’”. The project also ran a referral service for viewers and published books, and it wanted a computer that viewers could buy and that the programmes could use.

Acorn won that contract in 1981 with a machine it had been developing under the name Proton. Other British firms, Sinclair among them, had been in the running. In December 1981 Computer and Video Games reported that “the computer adopted by the BBC to sell in conjunction with its forthcoming series is based on the Acorn Proton”, with 16K or 32K of memory, and that “price is put at £235 for the 16K computer and £335 for the 32K version”. By the time machines were reaching buyers the prices had gone up. Dealers in July 1982 were advertising the Model A at £299 and the Model B at £399.

Production could not keep up. Acorn reported “enormous problems with the Ferranti ULA which forms a vital part of the television picture”, the custom chip that generates the display, and its delivery timetable for Model B orders ran into September. In the same issue of Acorn User, David Allen, editor of the Computer Literacy Project, announced a second series, provisionally called Make the Most of the Micro, for January 1983. The BBC had had 80,000 postal enquiries from viewers.

A computer for classrooms

In July 1982 the government announced a £9 million scheme to put a microcomputer into every primary school by the end of 1984. From October that year the Department of Industry paid half the price of an approved computer. Acorn User started a monthly series for teachers in January 1983, noting a fear among teachers that the machines would be “relegated to the store cupboard as expensive toys”. Personal Computing Today listed the machines the scheme covered in September 1984: “the BBC Model B, 48K Spectrum and RML Link 480Z”. It added that most educational software of the time was written for one of those three, and that software for the home concentrated “on the BBC or the Spectrum, or both”.

Acorn also sold a network for classrooms. Econet linked BBC Micros so that they could share files on a central file server. Acorn User’s first issue described a seven-station Econet network at Long Road Sixth Form College and concluded that “Econet and the BBC microcomputer will offer a flexible, powerful and low-cost solution to many of the hardware demands in the education sector”. The BBC Micro’s operating system has Econet support built in: The Advanced User Guide documents its vectors and calls.

BBC BASIC and the assembler

Sophie Wilson wrote the BBC BASIC interpreter. Her earlier Acorn languages and later ARM work connect this programming environment to the design of the processor itself.

BBC BASIC had features that most home-computer BASICs of 1982 lacked. Programs could define named procedures and functions with DEF PROC and DEF FN, with local variables, instead of relying on GOSUB and line numbers. It also contained a 6502 assembler. Ian Birnbaum’s Assembly Language Programming for the BBC Microcomputer (1982) explained what that meant: “Every BBC Microcomputer, whether Model A or Model B, comes equipped with an immensely powerful and very fast assembler. What is more, assembly language statements and BASIC statements can be freely mixed”. A program could use BASIC for its setup, loops and variables, and switch into assembly language, between square brackets, for the parts that had to be fast.

The machine was fast for its time too. The 6502 runs at 2 MHz, twice the speed of the Commodore 64’s processor. The Advanced User Guide notes that the clock “is stretched whenever 1MHz bus peripherals are being accessed”, so “the processor clock is only ever truly 2MHz when accessing main memory”.

The display modes are a memory budget

The BBC Micro’s screen memory comes out of the same RAM as the program. On a Model B, the choice of screen mode decides how much room a program has. The Advanced User Guide gives the address where screen memory starts: “&3000 for modes 0, 1, and 2; &4000 for mode 3; &5800 for modes 4 and 5; &6000 for mode 6; and &7C00 for mode 7 (teletext)”. RAM ends at &7FFF, and a program’s workspace normally starts at &E00:

Mode Screen Screen starts Screen uses Left for the program
0 640×256, 2 colours &3000 20K 8.5K
1 320×256, 4 colours &3000 20K 8.5K
2 160×256, 16 colours &3000 20K 8.5K
3 80×25 text &4000 16K 12.5K
4, 5 320×256 in 2 colours; 160×256 in 4 &5800 10K 18.5K
6 40×25 text &6000 8K 20.5K
7 40×25 teletext &7C00 1K 27.5K

Mode 7 is cheap because it stores one byte per character position, not a bitmap. An SAA5050 teletext character generator turns those codes into characters and block graphics, the same way a teletext television does. A program that needs space can use mode 7 and have 27.5K; the same program in mode 2 has 8.5K. These figures are the most a program can have: the guide warns that the start of workspace “may be raised by font explosion, or by paged ROMs taking workspace”, so a machine with a disc system fitted has less.

David Braben, who wrote Elite with Ian Bell, called this the BBC’s “hideous shortage of memory”. Bell told Acorn Programs in December 1984, “If the BBC had more memory, we would probably still be writing it. As it is, there is not a single free byte in the program.”

The Tube

The Tube connects the BBC Micro to a second processor, and the relationship between the two machines is unusual. When a second processor is fitted, programs run on it, and the BBC Micro’s own 6502 handles the keyboard, screen, discs and other hardware. The New Advanced User Guide describes second-processor programs “passing the request across the Tube to the i/o processor where the operating system proper performs” the work. Acorn made a faster 6502, a Z80 running the CP/M operating system, which opened up “a vast library of software”, and a 32016 that came with Pascal, Fortran, C and Lisp.

Games and Elite

Games on the BBC Micro came from companies such as Acornsoft, Acorn’s own software label. The best known is Elite, published by Acornsoft in 1984. Acorn Programs described its authors as “two unassuming undergraduates at Jesus College, Cambridge, 20-year-old Ian Bell and 19-year-old David Braben”, ages that do not match the birth dates in the Ian Bell and David Braben entries. Bell told the magazine: “I wanted to follow that with a 3D simulation game and it seemed logical to set it in space. Then Braben added the trading ship scenario and things just developed from there.” Acornsoft’s advertisements in Acorn User offered “3-dimensional graphics”, “2,000 planets in eight galaxies” and nine ranks from “Harmless” to “Elite”, at £14.95 on cassette or £17.65 on disc.

According to later secondary accounts, Acorn had expected to sell about 12,000 BBC Micros and sold more than 1.5 million.

Sources

  • Computer and Video Games issue 2, December 1981: buyer’s guide entry for the BBC computer (Acorn Proton, 16K–32K, £235 and £335).
  • Computer and Video Games issue 9, July 1982: dealer advertisement (Model A £299, Model B £399).
  • Acorn User issue 1, July/August 1982: p. 3, Acorn News (deliveries, outstanding orders, Ferranti, the Kettering order office); p. 10, David Allen on the Computer Literacy Project (second series, 80,000 enquiries); pp. 36–37, Econet at Long Road Sixth Form College; dealer advertisements (prices, memory).
  • Acorn User issue 6, January 1983, pp. 28–29: Heather Govier, “Micros in schools” (the £9 million primary schools scheme, half-price computers from 1 October 1982).
  • Personal Computing Today vol. 3 no. 2, September 1984: the machines covered by the Department of Industry’s primary schools scheme.
  • Acorn User issue 27, October 1984: Acornsoft advertisement for Elite (ranks, planets, prices).
  • Acorn Programs, December 1984: feature on Elite with Ian Bell and David Braben.
  • Robin Bradbeer, Peter De Bono and Peter Laurie, The Computer Book: an introduction to computers and computing (BBC, 1982): the introduction; the series first transmitted on BBC2 from January 1982; David Allen as editor of the Computer Literacy Project.
  • A.C. Bray, A.C. Dickens and M.A. Holmes, The Advanced User Guide for the BBC Micro (Cambridge Microcomputer Centre, 1983): p. 281 (memory allocation and HIMEM), section 23.3 (the 76489 sound chip), section 28 (the 1MHz bus and the 2MHz clock), the SAA5050 teletext character generator, the Econet vectors and calls, and Appendix F (screen mode layouts).
  • The New Advanced User Guide (BBC/Master), pp. 338, 340 (the Tube and the i/o processor) and sections 18.10–18.11 (Z80 and 32016 second processors).
  • Ian Birnbaum, Assembly Language Programming for the BBC Microcomputer (Macmillan, 1982), preface.
  • BASIC ROM User Guide (Addler Publishing, 1984): procedures and the BASIC assembler.
  • Wikipedia, “BBC Micro” (web, secondary): the contract in 1981, other companies considered, sales estimate. https://en.wikipedia.org/wiki/BBC_Micro

See also

Checked. Verified against primary sources and signed off by a person.