Jump to page content

The Acorn BBC Microcomputer

The BBC Microcomputer was a British machine made by Acorn Computer and introduced in 1981, primarily for the British education market, finding a home in schools all across Britain. It was a bit expensive for a home computer and was not as popular as rival machines like the Spectrums, but still has a small dedicated following even to this date. A vast range of software was developed for the BBC Micro, including educational software for schools, office software, desktop publishing and graphics, a whole host of excellent games (most notably Elite, and my old favourite Gold Digger) and radio amateur software such as morse code decoding and even satellite access.

This page is intended to offer a summary (albeit a long one) of the machine’s specifications for interested computer enthusiasts. A different account of features can be found on The BBC Lives! -- Introduction & History. See the further reading section for sites that offer information in even greater detail and for BBC Micro software to run under emulation.

The best BogoIIPS score I can get for my BBC Micro is 5000.5; see my BBC Micro BogoIIPS page for more details and the benchmark program source code.

The BBC Micro

The BBC Micro is a 2 MHz 6502-based microcomputer 1 with up to 32 k of RAM. The machine shipped as two models: the model A (16 k) and model B (32 k, with other little goodies); the model A could be upgraded to the capabilities of the B. Both versions come with Acorn’s OS and BBC BASIC. Acorn OS is a nifty little operating system with a lot of nice features like co-processor support, extensibility via ROMs and filing system abstraction. All graphics on the Beeb are done using the ASCII control character set (1-31) passed to the OS using the OSWRCH (write character to screen) call. For example, setting palette entry 2 to colour 5 uses the character sequence 17 (palette remap), 2, 5, 0, 0, 0. BBC BASIC was probably the best microcomputer BASIC implementation ever, with dedicated I/O commands for sound and graphics and a built-in macro-assembler allowing you to assemble from BASIC (including things like LDA #ASC("A")) and construct hybrid assembly/BASIC programs to combine development ease with speed.

Video and audio

Of the 32 k fitted RAM, up to 20 k can be used as video memory. The machine provides 7 raster modes (0-6) and one hardware text mode (7). The graphical video modes are 640×256 (1-bit), 320×256 (1- and 2-bit) and 120×256 (2- and 4-bit); there are also raster text modes. Raster text modes still run with a framebuffer, but save memory by skipping a few rows of the video output after each line of text (see diagram); the line count of the screen is thus reduced from 32 down to 25, saving 20% of the system RAM used by the framebuffer. In all the raster modes, you can assign any of sixteen colours to the palette entries. The machine offers eight normal colours, and eight flashing colours where two colours are alternated. For example, colour 9 alternates red/cyan and colour 14 alternates cyan/red. Screen mode 7 uses the SAA 5050 Teletext generator chip to provide a character set the same as what you see in the British Teletext/Ceefax system, including the chunky graphics. From this you can correctly surmise that, with an adapter, the machine could access Teletext and make use of it, even for software downloads, in those dark days before the World Wide Web. The machine also provides simple four-channel audio which, while not as flexible as the SID chip, was plenty charming enough.

Expansion

The machine is very expansible, with numerous ports provided: analogue in (one or two joysticks, scientific instruments, etc), User Port (three-button mouse, trackball, video digitiser, graphic pad etc.), RS423 serial (which can be used for a Cumana touch pad as well as conventional serial devices), 1 MHz bus (usually used for a hard drive but it has other uses) and the Tube® second processor bus allowing a second processor and extra RAM to be connected to the machine, in an external box fondly called a cheese wedge. There are 6502, Z80, 32016 and 80186 external processor units available, and the Tube processor port is a subject unto itself. There are also ports for a floppy drive, cassette, parallel printer, and television (UHF) and mono and colour monitor output. There is space for an optional network socket for when the Econet network adapter upgrade is fitted, allowing the machine to be connected to Acorn’s Econet LAN system (Economy Network). Finally, there is a 5 V/12 V power socket on the power supply to provide a convenient power source to floppy disc drives.

Floppy disc support

Software was initially provided on cassette tape, but with a floppy controller upgrade fitted (either the Intel 8271 controller or the more advanced 1770 controller), you could use discs with the machine. The classic Disc Filing System supports 100 k (40 tracks) or 200 k (80 tracks) per disc side, and up to 31 files per side (the two disc sides are independent volumes) with filenames up to seven characters long. Structure is provided with a prefix letter on filenames, e.g. L.myList or G.PACMAN, and you can filter directory listings to put files of a particular directory (prefix) at the top. The file system does not provide for external fragmentation (extents). The later ADFS returned to the 10-character limit of the cassette filing system and offered a conventional hierarchical directory system.

Sideways expansion

Software could also be provided on EPROMs, which you fit directly into chip sockets on the motherboard. One ROM at a time is bank-switched on the fly into an area of the upper 32 k of the machine’s 16-bit address space for access. There are four EPROM sockets on the BBC Micro although the OS can address up to 16 sideways memory banks, which can each be either an EPROM or a RAM chip. Using an EPROM for software moves the code into the upper half of the address space out of the RAM, and provides instant access to code instead of having to load it from disc. Programs like Acorn’s and Computer Concepts’s word processors (View and Wordwise respectively) and Watford Electronics’s Quest Paint mouse-driven art package were all supplied as EPROMs, as was the BASIC interpreter chip supplied with the machine. EPROMs could also extend the operating system by way of new OS commands and new filing system drivers – the CFS was built into the operating system, but all other filing systems were supplied as EPROMs. As you can imagine, people soon started finding ways to use more than four EPROMs into a machine, such as zero insertion force sockets and expansion boards.

This should be enough information for this page; more details can be found at the sites referenced in the further reading section. However, the morbidly curious can check out the complete BBC motherboard guide on the 8-bit Software site … if the site ever comes back. Be warned, it is scary stuff in 21st century hindsight.

The Master Series Microcomputer

In 1986, Acorn shipped a series of replacement machines to the BBC Micro series, the Master Series range, all with at least 128 k of RAM and the ADFS fitted as standard. Features include shadow RAM (so you can do off-screen buffered video), external EPROM cartridge slots, support for an internal co-processor card and even space to fit a SCSI controller, useful for the Master AIV which was apparently the world’s first multimedia machine, using a Philips SCSI laserdisc player.

Further reading

Footnotes

1 By the way, any modern personal computer (IBM PC, Macintosh etc) is a microcomputer.