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 computer’s BogoIIPS score 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 with up to 32 kB of memory. The machine shipped as two models: the model A (16 kB) and model B (32 kB). The Model A, in addition to being fitted with only half the supported memory, also lacked most of the I/O ports including parallel, serial, digital, and analogue. The Model B came with most ports and controller chips fitted as standard. However, the floppy controller and network adapter and the ancillary circuit components were not fitted to the motherboard, remaining as optional extras. It should be noted that an onboard network adapter was most unusual for its day.
The machine was fitted with a mechanical keyboard featuring linear keyswitches, presumed to be Cherry, and double-shot moulded key caps.
Both modesl came with Acorn MOS and BBC BASIC. Acorn MOS is a modular, extensible, single-tasking operating system with interesting features such as co-processor support, extensibility via ROMs, and file system abstraction. The graphics API is presented in the form of the ASCII control character set (codes 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 19, 2, 5, 0, 0, 0 (ASCII 19 is palette remap). BBC BASIC was a powerful BASIC variant featuring I/O commands, function calls with local variables, non-reclaimable heap allocation, and an inline assembler allowing hybrid assembly/BASIC programs that combined development ease with runtime performance.
Video and audio
Of the 32 kB fitted RAM, up to 20 kB 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, with three square wave channels and one noise channel.
Expansion
The machine is very expansible, with numerous ports provided: analogue in (one or two joysticks, scientific instruments), the user port (three-button mouse, trackball, video digitiser, graphics tablet), RS423 serial (which can be used for a Cumana touch pad as well as conventional serial devices), 1 MHz bus (fast expansion including hard drives) 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 were 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 disc drive, cassette recorder, parallel printer, and video output via UHF and mono and colour monitor ports. 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 a floppy controller upgrade using either the Intel 8271 controller or the more advanced 1770 controller allow for the use of floppy discs. Just as with the Econet network adapter, the 8271 floppy controller was designed into the motherboard with all circuit traces being provided, but no components were soldered and the controller chip was not supplied. The controller chip and circuit components were left as a kit or dealer upgrade. Unlike Apple’s home computers, the BBC Micro does not feature expansion card slots, which would have greatly simplified this process!
The classic Disc Filing System supports 100 kB (40 tracks) or 200 kB (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 Advanced Disc Filing System returned to the 10-character limit of the cassette filing system and offered a conventional hierarchical directory system suitable for hard drives.
“Sideways” expansion
Software could also be provided on ROMs, which fit into sockets on the motherboard. These ROMs are bank-switched into the Sideways address space of &8000–&BFFF, the lower 16 kB of the upper 32 kB of the machine’s 16-bit address space set aside for ROM code and memory-mapped registers. There are four ROM sockets on the BBC Micro, although the OS can address up to 16 Sideways memory banks. Using a ROM for software moves the binary code into the ROM portion of the address space, freeing up main memory, 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 ROMs, as was the BASIC interpreter chip supplied with the machine. ROMs could also extend the operating system by way of new OS commands and new filing system drivers – the Cassette Filing System was built into the operating system, but all other filing systems were supplied as ROMs.
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 kB of RAM and the DFS fitted as standard. Features include shadow RAM (off-screen video buffer), external ROM 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
- BeebMaster maintains a fascinating site about Acorn hardware and peripherals, in particular Acorn’s Econet LAN system and the Domesday Project, which he continues to actively use. There is hardware and goodies there like you would not believe, including spares for sale.
- The BBC lives! offers lots of Acorn-related information, software and documentation, particularly helpful to those in the emulation scene.
- Stairway to Hell is a BBC Micro and Electron games archive full of BBC software to play under emulation or copy over to a real machine as well as cover scans, help, instructions, MP3 audio of game music, cheats and lots more. The site also has useful emulation information.
- The BBC Games Archive is another, and easier to follow, games archive site which includes unreleased software and a big high score table for BBC games. Here you can also find a number of interviews with prominent figures in the BBC software industry including a fascinating interview with Richard Hanson of Superior Software.