Acorn MOS

Machine Operating System (MOS)
DeveloperAcorn Computers
Written in8-bit 6502 machine code (v0, v1) 65C02 machine code (v2–v5)
Working stateDiscontinued
Source modelClosed source
Initial releaseLate 1981; 43 years ago (1981)
Final release5 / Early 1986; 38 years ago (1986)
Marketing targetPersonal computers
Available inEnglish
Update methodReplacement ROMs
PlatformsBBC Micro, Acorn Electron, BBC Master series
Kernel typeMonolithic
Default
user interface
Command-line interface (v3, v4, v5)
Succeeded byARX (discontinued)
Arthur, renamed RISC OS

The Machine Operating System (MOS)[2] or OS is a discontinued computer operating system (OS) used in Acorn Computers' BBC computer range. It included support for four-channel sound, graphics, file system abstraction, and digital and analogue input/output (I/O) including a daisy-chained expansion bus. The system was single-tasking, monolithic and non-reentrant.

Versions 0.10 to 1.20 were used on the BBC Micro, version 1.00 on the Electron, version 2 was used on the B+, and versions 3 to 5 were used in the BBC Master series.

The final BBC computer, the BBC A3000, was 32-bit and ran RISC OS, which kept on portions of the Acorn MOS architecture and shared a number of characteristics (e.g. "star commands" CLI, "VDU" video control codes and screen modes) with the earlier 8-bit MOS.

Versions 0 to 2 of the MOS were 16 KiB in size, written in 6502 machine code, and held in read-only memory (ROM) on the motherboard. The upper quarter of the 16-bit address space (0xC000 to 0xFFFF) is reserved for its ROM code and I/O space.

Versions 3 to 5 were still restricted to a 16 KiB address space, but managed to hold more code and hence more complex routines, partly because of the alternative 65C102 central processing unit (CPU) with its denser instruction set plus the careful use of paging.

  1. ^ Rare iPhone P-series prototypes run Acorn OS (video). YouTube: Cult of Mac. 2017-06-29. Event occurs at 3:46. Archived from the original on 2021-12-21. Retrieved 2019-01-05.
  2. ^ Cite error: The named reference bbcug was invoked but never defined (see the help page).