title.png

This site contains a highly annotated reassembly of the BBC Micro MOS. It can be browsed in HTML form by clicking on the "MOS 1.20" link on the left. It can also be downloaded as an assembly language file here:

This source file can be assembled to make an image that is byte-for-byte identical with the original ROM. Details of how to assemble are included in the file. Earlier and alternative versions of the OS are also provided for reference.

The BBC Microcomputer was released in December 1981 by Acorn Computers Ltd of Cambridge, England, as the successor to the Atom, a very early home machine loosely derived from the Acorn System 2 industrial microcomputer. The design was guided by the needs of the British Broadcasting Corporation's computer literacy campaign of 1982, but also drew on local expertise from the University of Cambridge's computing laboratory. The BBC Micro was offered at two price points, the Model A and Model B. As with the Atom, the CPU was the widely-used and American made 6502, clocked at a then-impressive 2 MHz. Other hardware included a full QWERTY keyboard, Teletext and raster graphics, optional Econet networking, a cassette-tape relay, and an internal loudspeaker. Much I/O was handled by two 6522 Versatile Interface Adapters, or VIAs, and one 6850 Asynchronous Communication Interface Adapter, or ACIA: both also standard parts in this era. But the BBC Micro also used Uncommitted Logic Arrays (ULAs) containing Acorn-designed logic, and had a unique interface for potential second processors via "The Tube". This was used to connect a wide range of CPUs, including the first-ever ARM chips. A "sideways ROM" paging system allowed multiple programming languages or utilities to coexist in the memory map, but the BBC shipped with just one sideways ROM, for BBC Basic. Though built for home and education use, the BBC Micro was a no-compromise design and its operating system is a model of clarity and power for its time. It occupied 16K of ROM, four times as much as the Atom.

Toby Nelson

tobymnelson@gmail.com