The Machine Operating System (MOS)
or OS is a discontinued computer
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
(OS) used in
Acorn Computers
Acorn Computers Ltd. was a British computer company established in Cambridge, England in 1978 by Hermann Hauser, Christopher Curry (businessman), Chris Curry and Andy Hopper. The company produced a number of computers during the 1980s with asso ...
' BBC computer range. It included support for four-channel sound, graphics,
file system abstraction, and digital and analogue
input/output
In computing, input/output (I/O, i/o, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, such as another computer system, peripherals, or a human operator. Inputs a ...
(I/O) including a
daisy-chained expansion bus. The system was single-tasking,
monolithic
A monolith is a monument or natural feature consisting of a single massive stone or rock.
Monolith or monolithic may also refer to:
Architecture
* Monolithic architecture, a style of construction in which a building is carved, cast or excavated f ...
and non-
reentrant.
Versions 0.10 to 1.20 were used on the
BBC Micro
The BBC Microcomputer System, or BBC Micro, is a family of microcomputers developed and manufactured by Acorn Computers in the early 1980s as part of the BBC's Computer Literacy Project. Launched in December 1981, it was showcased across severa ...
, version 1.00 on the
Electron
The electron (, or in nuclear reactions) is a subatomic particle with a negative one elementary charge, elementary electric charge. It is a fundamental particle that comprises the ordinary matter that makes up the universe, along with up qua ...
, 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
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
and ran
RISC OS
RISC OS () is an operating system designed to run on ARM architecture, ARM computers. Originally designed in 1987 by Acorn Computers of England, it was made for use in its new line of ARM-based Acorn Archimedes, Archimedes personal computers an ...
, which kept on portions of the Acorn MOS architecture and shared a number of characteristics (e.g. "star commands"
CLI CLI may refer to:
Computing
* Call Level Interface, an SQL database management API
* Command-line interface, of a computer program
* Command-line interpreter or command language interpreter; see List of command-line interpreters
* CLI (x86 instruc ...
, "VDU" video control codes and screen modes) with the earlier
8-bit
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data bu ...
MOS.
Versions 0 to 2 of the MOS were 16
KiB in size, written in
6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small ...
machine code
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
, and held in
read-only memory
Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing sof ...
(ROM) on the
motherboard
A motherboard, also called a mainboard, a system board, a logic board, and informally a mobo (see #Nomenclature, "Nomenclature" section), is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It ho ...
. The upper quarter of the
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two ...
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
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
(CPU) with its denser
instruction set
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, s ...
plus the careful use of
paging
In computer operating systems, memory paging is a memory management scheme that allows the physical Computer memory, memory used by a program to be non-contiguous. This also helps avoid the problem of memory fragmentation and requiring compact ...
.
User interface
The original MOS versions, from 0 to 2, did not have a user interface per se: applications were expected to forward operating system command lines to the OS on its behalf, and the programming language
BBC BASIC
BBC BASIC is an interpreted version of the BASIC programming language. It was developed by Acorn Computers Ltd when they were selected by the BBC to supply the computer for their BBC Literacy Project in 1981.
It was originally supplied on ...
ROM, with 6502 assembler built in, supplied with the BBC Micro is the default application used for this purpose. The BBC Micro would halt with a
Language?
error if no ROM is present that advertises to the OS an ability to provide a user interface (called ''language ROMs''). MOS version 3 onwards did feature a simple
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
, normally only seen when the
CMOS memory did not contain a setting for the default language ROM.
Application programs on ROM, and some cassette and disc-based software also, typically provide a command line, useful for working with file storage such as browsing the currently inserted disc. The OS provides the line entry facility and obeys the commands entered, but the application oversees running the
command prompt
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
.
Cassette and disc based software typically relies on BBC BASIC's own
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
in order to be loaded, although it is possible to configure a
floppy disk
A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
to boot up without needing to have BASIC commands executed, this was rarely used in practice.
In BBC BASIC, OS commands may be preceded with an asterisk to instruct BASIC to forward that command directly to the OS. This led to the asterisk being the prompt symbol for any software providing an OS command line; MOS version 3 onwards officially uses the asterisk as the command prompt symbol. When referring to an OS command, they generally include the asterisk as part of the name, for example , , etc., although only the part after the asterisk is the command. The asterisk was called a "star" and the commands were called "star commands".
From BBC BASIC 2 onwards, commands can also be issued using the keyword in conjunction with a command string.
Alternatively, the OSCLI routine may be invoked directly using the keyword after initialising the relevant BASIC variables.
Unrecognised commands are offered to any ''service'' (extension) ROMs; filing system ROMs will often check to see if a file on disc matches that name, the same most other command-line interfaces do. The operating system call OSWORD with
accumulator = 0 does however offer programs single line input (with ctrl-U for clear line and the cursor copying keys enabled) with basic character filtering and line length limit.
The MOS
command line interpreter
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
features a rather unusual idea: abbreviation of commands. To save typing a dot could be used after the first few characters, such as for and for . was abbreviated to alone. , the command to catalogue (list) a cassette or disc, can be abbreviated down to .
Service ROMs
3rd party ROMs generally also support command abbreviation, leading to ambiguity where two service ROMs provide commands which are very similar in name but possibly different in function. In this case, the MOS would prioritise the command from the ROM in the higher numbered ROM slot, e.g., 7 has precedence over 6.
Some 3rd party suppliers would get around this by prefixing their star commands with other letters. For example,
Watford Electronics ROMS would have their star commands prefixed with
W
thus making them unique.
Extension
The lower 16 KiB of the ROM map (0x8000 to 0xBFFF) is reserved for the active
Sideways address space paged bank. The Sideways system on the BBC Micro allows for one ROM at a time from sockets on the motherboard (or expansion boards) to be switched into the main memory map. Software can be run from ROM this way (leaving the RAM free of user program code, for more workspace) and the OS can be extended by way of such ROMs. The most prevalent sideways ROM after BASIC is the
Acorn Disc Filing System used to provide floppy disc support to the machine.
During a reset, every paged ROM is switched in and asked how much public and private workspace it needs. Each ROM is allocated a chunk of private workspace that remains allocated at all times, and a single block of public workspace, equal to the size of the largest request, is made available to the active ROM. During operation, the paged area is rapidly switched between ROMs when file system commands are issued and unrecognised commands are put to the OS.
MOS allocates a 3.5 KiB block of memory (0x0000 to 0x0DFF) from the bottom of the memory map for operating system and language ROM workspace:
On a cassette-only machine, 0x0E00 is the start of user program memory. With OS extension ROMs fitted such as the a filing system ROM, more memory is allocated above this point; DFS ROMs generally use another 2.75 KiB to cache the disc catalogue and manage random access buffers. A network filing system ROM (for
Econet
Econet was Acorn Computers's low-cost local area network system, based on a Carrier-sense multiple access with collision detection, CSMA-CD serial protocol carried over a five-wire Bus (computing), data bus, intended for use by schools and sm ...
) allocates another 0.5 KiB on top of this. This is a serious problem because MOS does not support relocation of machine code, which must be run from the address at which it was assembled, so some programs which assumed a fixed start of user program memory could overwrite MOS workspace. The problem was alleviated in versions 3 to 5 by allowing ROMs to allocate workspace in an alternative RAM bank at 0xC000 to 0xDFFF which was present in Master series computers, though old ROMs could continue to allocate blocks of main memory.
The OS also maintains a vector table of all its calls which can be updated to
hook
A hook is a tool consisting of a length of material, typically metal, that contains a portion that is curved/bent back or has a deeply grooved indentation, which serves to grab, latch or in any way attach itself onto another object. The hook's d ...
any OS calls for user extension. By altering or 'hooking' these vectors, developers could substitute their own routines for those provided as defaults by the MOS.
Text, graphics, printing
The MOS permits textual output intended for the screen to be directed instead to the printer, or both at once, allowing for very trivial printing support for plain text. Graphics printing is not supported and has to be written separately.
Graphics and in general all screen output is handled in a very unusual way. The
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
control characters are almost entirely given new significance under MOS: known as the "VDU drivers", because the documentation described them in relation to the VDU statement in BBC BASIC, they are interpreted as video control characters. (i.e. ASCII 30) moves the cursor to (0, 0), VDU 4 and 5 select whether text should be drawn at the graphics or text cursor, VDU 12 clears the screen and VDU 14 and 15 turn scroll lock on and off. Thus, pressing ctrl-L will clear the screen and ctrl-N will enable scroll lock. VDU 2 and 3 toggle whether screen output is echoed to the printer. The BBC BASIC VDU statement is equivalent to the conventional BASIC and many of the control codes (such as 12 for "clear screen" and 7 for "beep") have the same functions as on other contemporary machines.
Many more control characters take parameters: one or more characters that follow are used solely for their bit value as a parameter and not as a control code. VDU 19 handles palette remap; the following five bytes represent the palette entry, the desired colour and three reserve bytes. VDU 31 locates the text cursor to the location held in the following two bytes. VDU 17 sets the text colour and 18 the graphics colour. VDU 25 uses the succeeding five bytes to move the graphics cursor and plot solid and dashed lines, dots and filled triangles, the documented extent of graphics in MOS 0 and 1. The first byte is the command code, followed by the x and y co-ordinates as two byte pairs. Other graphic functions such as horizontal line fill bounded by a given colour were available by use of undocumented or poorly documented command codes.
BBC BASIC contained aliases for the commonly used VDU codes (such as GCOL for VDU 18 or PLOT for VDU 25). Some statements were direct equivalents to VDU codes, such as CLS for VDU 12. Some statements were less exact equivalents as they incorporated functionality specific to BASIC as well as calling the OS routines; for example the statement would set screen mode and adjust the BASIC system variable HIMEM according to the amount of memory the new mode left available for BASIC, while would set the screen mode only, without altering HIMEM. This allowed a programmer to allocate a block of memory from BASIC for example to load machine code routines into by lowering the value of HIMEM at the start of a program, and still be free to switch screen modes without deallocating it as a side effect.
There is one operating system command to write a character, OSWRCH, which is responsible for all text and graphics. For example, to move the cursor to (10, 15), needed, in
6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small ...
assembler:
LDA #31: JSR OSWRCH \ move text cursor
LDA #10: JSR OSWRCH \ x-coordinate
LDA #15: JSR OSWRCH \ y-coordinate
(LDA loads a value into the accumulator; JSR is "
jump to
subroutine
In computer programming, a function (also procedure, method, subroutine, routine, or subprogram) is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times.
Callable units provide a ...
".) On the third OS call, the cursor will move. The following code would draw a line from (0, 0) to (0, +100):
LDA #25: JSR OSWRCH \ begin "PLOT" (ASCII 25) command
LDA #4: JSR OSWRCH \ command k=4, or move absolute
LDA #0: JSR OSWRCH: JSR OSWRCH: JSR OSWRCH: JSR OSWRCH
\ send (0, 0) as low, high byte pairs
LDA #25: JSR OSWRCH \ begin PLOT
LDA #1: JSR OSWRCH \ k=1 - draw relative
LDA #0: JSR OSWRCH: JSR OSWRCH \ x = 0
LDA #100: JSR OSWRCH \ y = 100 (low byte)
LDA #0: JSR OSWRCH \ high byte
BBC BASIC allows performing the above as any of the following:
VDU 25, 4, 0; 0; 25, 4, 100; 0;
PRINT CHR$(25); CHR$(4); CHR$(0); ... etc.
PLOT 4, 0, 0: PLOT 1, 0, 100
MOVE 0, 0: DRAW 0, 100: REM absolute co-ords only!
OSWRCH=&FFEE: A%=25: CALL OSWRCH: A%=4: CALL OSWRCH: A%=0: CALL OSWRCH ... etc.
Graphics in the Acorn MOS use a virtual graphics resolution of 1280×1024, with pixel positions mapped to the nearest equivalent pixel in the current graphics mode. Switching video resolution will not affect the shape, size or position of graphics drawn even with completely different pixel metrics in the new mode, because this is all accounted for by the OS.
MOS does provide two other OS calls that handle text output:
OSNEWL
and
OSASCI
. OSNEWL writes a line feed and carriage return to the current output stream. OSASCI forwards all characters directly to OSWRCH except for carriage return, which triggers a call to OSNEWL instead. The precise code for OSASCI and OSNEWL five lines of 6502 assembler is documented in the BBC Micro User Guide.
MOS implements character recognition so that text printed on screen in the system font can be selected with the arrow keys and input with the key as though it was being typed. To activate ''screen editing'' the user moves the hardware cursor to the text to be read and the OS displays a second cursor in software at the original position. Pressing copies one character from the hardware cursor to the software cursor and advances both, so that holding the key down copies a section of the text, the cursors wrapping around the vertical edges of the screen as necessary. If the screen scrolls during editing, the hardware cursor's position is adjusted to follow the text. The user can make changes to the text during the copy, and user-defined characters are recognised in graphics modes. Screen editing is terminated when or are pressed, which have their usual effects. Character recognition is made available to users in the API with a call to read the character at the current cursor position.
Sound
Sound generation is carried out through another OS call, OSWORD, which handles a variety of tasks enumerated via a task code placed into the accumulator. All OSWORD calls bear a parameter block used to send and receive multiple data; the address of this block is passed in the X and Y registers, with the low byte in X and the high byte in Y. There are four buffered sound channels three melodic and one noise-based on the sound chip found in the BBC Micro. There is only one
waveform
In electronics, acoustics, and related fields, the waveform of a signal is the shape of its Graph of a function, graph as a function of time, independent of its time and Magnitude (mathematics), magnitude Scale (ratio), scales and of any dis ...
for melodic channels; the supported note parameters are pitch, duration, amplitude, envelope selection and various control options. For the amplitude parameter, a zero or negative sets a static amplitude, and a positive value select an amplitude and pitch envelope (a predefined temporal variation) to apply to the note.
Control parameters was passed through the channel parameter, and include flush (the buffer is cleared and the channel silenced before the note is played), synchronise count (as soon as the same sync count is received for that many channels, all the synchronised notes are played together), and control over the Speech system upgrade where fitted.
OSWORD handles many functions other than sound, many of which do not have direct support in BASIC. They may be accessed from BASIC by setting up the parameter block, loading its address into X% and Y% and the task code into A%, and then calling the routine.
Other I/O and second processor support
The BBC Micro had support for a second processor connected via the ''
Tube
Tube or tubes may refer to:
* ''Tube'' (2003 film), a 2003 Korean film
* "Tubes" (Peter Dale), performer on the Soccer AM television show
* Tube (band), a Japanese rock band
* Tube & Berger, the alias of dance/electronica producers Arndt Rör ...
'', which allowed direct access to the system bus. The driver code for the Tube interface is not held in the MOS, usually being supplied by an external service ROM.
The OS has calls to handle reading and writing to all I/O (ports and screen memory) and programmers are strongly advised to use these by the Acorn documentation. The reason for this is that when a second processor is installed, user software is run from the separate memory map on the far side of the Tube processor bus, and direct access to memory-mapped I/O registers and video memory is impossible. However, for the sake of performance, many apps including many games, write directly to main address space for I/O, and hence crash or give a blank screen if a 6502 second processor is attached. One such performance-critical area is
sprite support: BBC Micro hardware does not support sprites, and games must implement sprites in software. In practice, the widespread use of direct access in place of the OS calls very rarely caused problems. Second processor units were expensive and very little software was written to make use of them, so few people bought them, and those who did have them could simply switch them off or unplug the cable if a problem arose.
The MOS contains two built-in file systems: cassette and ROM. These are quite similar (try , , with a suitable ROM installed) and share a great deal of code. They feature a
rudimentary copy protection mechanism where a file with a certain flag set cannot be loaded except to execute it.
(Before
Amstrad
Amstrad plc was a British consumer electronics company, founded in 1968 by Alan Sugar. During the 1980s, the company was known for its Home computer, home computers beginning with the Amstrad CPC and later also the ZX Spectrum range after the ...
's launch of a mass-market twin cassette recorder in 1987, most home users did not have facilities to
dub cassettes without loading the files into the computer for re-saving.) The Advanced Disc Filing System (ADFS), installed as standard in the Master series, has a similar mechanism.
Versions
Releases 0 and 1
Versions for the
BBC Micro
The BBC Microcomputer System, or BBC Micro, is a family of microcomputers developed and manufactured by Acorn Computers in the early 1980s as part of the BBC's Computer Literacy Project. Launched in December 1981, it was showcased across severa ...
family, starting at 0.10 and finishing at 1.20. Confusingly the
Electron
The electron (, or in nuclear reactions) is a subatomic particle with a negative one elementary charge, elementary electric charge. It is a fundamental particle that comprises the ordinary matter that makes up the universe, along with up qua ...
shipped with version 1.00 despite being released after the BBC Micro's version 1.20, because it was the first release of a ROM for the Electron. The MOS version number was not intended as an API definition: the Electron ROM was not "based on" the BBC Micro ROM version 1.0 in any sense.
Release 2
This version is for the BBC Model B+, essentially the same as MOS 1.20 except with the addition of support for the sideways and
shadow RAM present on the B+.
Releases 3 to 5
MOS 3 to MOS 5 shipped with the
BBC Master Series systems, in the Master 128, Master ET, and Master Compact models respectively.
The initial release of MOS 3 expanded upon the facilities provided in MOS 2 on the B+ to support additional hardware, provide a command line facility and extend the VDU driver code with enhanced graphics plotting abilities. Two notable versions were made public: version 3.20 being the most common, and version 3.50 (although this had more functionality and bug fixes it was not 100% compatible with some popular applications software so was offered as an optional upgrade only).
MOS 4 was a stripped-down version of MOS 3 intended for the similarly minimised Master ET, and a few minor bugs fixed.
MOS 5 shipped with the Master Compact, and was much altered with some functions removed or highly amended.
Credits
With the exception of MOS 3.50 where the space was reclaimed for more code, the area normally hidden by the input/output memory locations (the 768 bytes from 0xFC00-0xFEFF inclusive) in the MOS ROM contained a list of names of contributors to the system. This could be recovered by extracting the ROM and reading its contents in an
EPROM
An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) integrated circuit, chip that retains its data when its power supply is switched off. Computer memory that can retrieve stored d ...
programmer. Those who did not have such a device could access the ROM on a Master by setting a test bit of an access control register, then using a machine-code program to copy the ROM directly to text-mode screen memory.
The full text of the ASCII credits string in MOS 1.20 is as follows; no spaces occur after the commas to save memory:
(C) 1981 Acorn Computers Ltd.Thanks are due to the following contributors to the development of the BBC Computer (among others too numerous to mention):- David Allen,Bob Austin,Ram Banerjee,Paul Bond, Allen Boothroyd,Cambridge
Cambridge ( ) is a List of cities in the United Kingdom, city and non-metropolitan district in the county of Cambridgeshire, England. It is the county town of Cambridgeshire and is located on the River Cam, north of London. As of the 2021 Unit ...
,Cleartone, John Coll,John Cox,Andy Cripps, Chris Curry,6502
The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small ...
designers,Jeremy Dion,Tim Dobson,Joe Dunn,Paul Farrell,Ferranti
Ferranti International PLC or simply Ferranti was a UK-based electrical engineering and equipment firm that operated for over a century, from 1885 until its bankruptcy in 1993. At its peak, Ferranti was a significant player in power grid system ...
, Steve Furber,Jon Gibbons,Andrew Gordon,Lawrence Hardwick,Dylan Harris,Hermann Hauser
Hermann Maria Hauser (born 1948) is an Austrian entrepreneur, venture capitalist and inventor who is primarily associated with the Cambridge technology community in England.
Education and early life
When Hauser was 16 he went to the United K ...
,Hitachi
() is a Japanese Multinational corporation, multinational Conglomerate (company), conglomerate founded in 1910 and headquartered in Chiyoda, Tokyo. The company is active in various industries, including digital systems, power and renewable ener ...
, Andy Hopper, ICL,Martin Jackson,Brian Jones,Chris Jordan,David King,David Kitson,Paul Kriwaczek, Computer Laboratory,Peter Miller, Arthur Norman,Glyn Phillips,Mike Prees,John Radcliffe,Wilberforce Road, Peter Robinson, Richard Russell,Kim Spence-Jones,Graham Tebby,Jon Thackray,Chris Turner,Adrian Warner, Roger Wilson,Alan Wright.
Reception
In interviews in 1993 and 2001, Acorn cofounder
Hermann Hauser
Hermann Maria Hauser (born 1948) is an Austrian entrepreneur, venture capitalist and inventor who is primarily associated with the Cambridge technology community in England.
Education and early life
When Hauser was 16 he went to the United K ...
recounted that Microsoft's
Bill Gates
William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
had tried to sell
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
to Acorn, but Hauser considered that adopting MS-DOS would have been a "retrograde step" compared to retaining Acorn's system.
References
;Notes
* Watford Electronics, "The Advanced Reference Manual for the BBC Master Series", 1988
{{Acorn computers, clones and compatibles
Acorn Computers operating systems
Discontinued operating systems
1981 software