# History of RISC OS

RISC OS, the computer operating system developed by Acorn Computers for their ARM-based Acorn Archimedes range, was originally released in 1987 as Arthur 0.20, and soon followed by Arthur 0.30, and Arthur 1.20. The next version, Arthur 2, became RISC OS 2 and was completed and made available in April 1989. RISC OS 3 was released with the very earliest version of the A5000 in 1991 and contained a series of new features. By 1996 RISC OS had been shipped on over 500,000 systems.
RISC OS 4 was released by RISCOS Ltd (ROL) in July 1999, based on the continued development of OS 3.8. ROL had in March 1999 licensed the rights to RISC OS from Element 14 (the renamed Acorn) and eventually from the new owner, Pace Micro Technology. According to the company, over 6,400 copies of OS 4.02 on ROM were sold up until production was ceased in mid-2005.
RISC OS Select was launched in May 2001 by ROL. This is a subscription scheme allowing users access to the latest OS updates. These upgrades are released as soft-loadable ROM images, separate to the ROM where the boot OS is stored, and are loaded at boot time. Select 1 was shipped in May 2002, with Select 2 following in November 2002 and the final release of Select 3 in June 2004. ROL released the ROM based OS 4.39 the same month, dubbed RISC OS Adjust as a play on the RISC OS GUI convention of calling the three mouse buttons 'Select', 'Menu' and 'Adjust'. ROL sold its 500th Adjust ROM in early 2006.
RISC OS 5 was released in October 2002 on Castle Technology's Acorn clone Iyonix PC. OS 5 is a separate evolution based upon the NCOS work done by Pace for set-top boxes. In October 2006, Castle announced a source sharing license plan for elements of OS 5. This Shared Source Initiative (SSI) is managed by RISC OS Open Ltd (ROOL). RISC OS 5 has since been released under a fully free and open source Apache 2.0 license, while the older no longer maintained RISC OS 6 has not.
RISC OS Six was also announced in October 2006 by ROL. This is the next generation of their stream of the operating system. The first product to be launched under the name was the continuation of the Select scheme, Select 4. A beta-version of OS 6, Preview 1 (Select 4i1), was available in 2007 as a free download to all subscribers to the Select scheme, while in April 2009 the final release of Select 5 was shipped. The latest release of RISC OS from ROL is Select 6i1, shipped in December 2009.

## Arthur

The OS was designed in the United Kingdom by Acorn for the 32-bit ARM based Acorn Archimedes, and released in its first version in 1987, as the Arthur operating system. The first public release of the OS was Arthur 1.20 in June 1987.
It was bundled with a desktop graphical user interface (GUI), which mostly comprises assembly language software modules, and the Desktop module itself being written in BBC BASIC. It features a colour-scheme typically described as "technicolor".
The graphical desktop runs on top of a command-line driven operating system which owes much to Acorn's earlier MOS operating system for its BBC Micro range of 8-bit microcomputers.
Arthur, as originally conceived, was intended to deliver similar functionality to the operating system for the BBC Master series of computers, MOS, as a reaction to the fact that a more advanced operating system research project (ARX) would not be ready in time for the Archimedes.
The Arthur project team, led by Paul Fellows, was given just five months to develop it entirely from the ground up—with the directive "just make it like the BBC micro". It was intended as a stop-gap until the operating system which Acorn had under development (ARX) could be completed. However, the latter was delayed time and again, and was eventually dropped when it became apparent that the Arthur development could be extended to have a window manager and full desktop environment. Also, it was small enough to run on the first 512K machines with only a floppy disc, whereas ARX required 4 megabytes and a hard drive.
The OS development was carried out using a prototype ARM-based system connected to a BBC computer, before moving onto the prototype Acorn Archimedes the A500.
Arthur was not a multitasking operating system, but offered support for adding application-level cooperative multitasking. No other version of the operating system was released externally, but internally the development of the desktop and window management continued, with the addition of a cooperative multitasking system, implemented by Neil Raine, which used the memory management hardware to swap-out one task, and bring in another between call-and-return from the Wimp_Poll call that applications were obliged to make to get messages under the desktop. Reminiscent of a similar technique employed by MultiFinder on the Apple Macintosh, this transformed a single-application-at-a-time system into one that could operate a full multi-tasking desktop. This transformation took place at version 1.6 though it was not made public until released, with the name change from Arthur to RISC OS, as version 2.0.
Most software made for Arthur 1.2 can be run under RISC OS 2 and later because, underneath the desktop, the original Arthur OS core, API interfaces and modular structures remain as the heart of all versions. (A few titles will not work, however, because they used undocumented features, side effects or in a few cases APIs that became deprecated).
In 2011, Business Insider listed Arthur as one of ten "operating systems that time forgot".

## RISC OS 2

RISC OS was a rapid development of Arthur 1.2 after the failure of the ARX project. Given growing dissatisfaction with various bugs and limitations with Arthur, testing of what was then known as Arthur 2 was apparently ongoing during 1988 with selected software houses.
At this stage, Computer Concepts, who had been prolific developers for the BBC Micro and who had begun software development for the Archimedes, had already initiated a rival operating system project, Impulse, to support their own applications (including the desktop publishing application that would eventually become Impression), stating that Arthur did not meet the "hundreds of requirements" involved including "true multi-tasking". Such an operating system was to be offered free of charge with the planned application packages, but with the release of RISC OS and Computer Concepts acknowledging that RISC OS "overcomes the old problems with Arthur", the applications were to be able to run under either RISC OS or Impulse. Impression was eventually released as a RISC OS application.
Ultimately, Arthur 2 was renamed to RISC OS, and was first sold as RISC OS 2.00 in April 1989.
The operating system implements co-operative multitasking with some limitations but is not multi-threaded. It uses the ADFS file system for both floppy and hard disc access. It ran from a 512 KB set of ROMs. The WIMP interface offers all the standard features and fixes many of the bugs that had hindered Arthur. It lacks virtual memory and extensive memory protection (applications are protected from each other, but many functions have to be implemented as 'modules' which have full access to the memory). At the time of release, the main advantage of the OS was its ROM; it booted very quickly and while it was easy to crash, it was impossible to permanently break the OS from software. Its high performance was due to much of the system being written in ARM assembly language.
The OS was designed with users in mind, rather than OS designers. It is organised as a relatively small kernel which defines a standard software interface to which extension modules are required to conform. Much of the system's functionality is implemented in modules coded in the ROM, though these can be supplanted by more evolved versions loaded into RAM. Among the kernel facilities are a general mechanism, named the callback handler, which allows a supervisor module to perform process multiplexing. This facility is used by a module forming part of the standard editor program to provide a terminal emulator window for console applications. The same approach made it possible for advanced users to implement modules giving RISC OS the ability to do pre-emptive multitasking.
A slightly updated version, RISC OS 2.01, was released later to support the ARM3 processor, larger memory capacities, and the VGA and SVGA modes provided by the Acorn Archimedes 540 and Acorn R225/R260.

## RISC OS 3

RISC OS 3 introduced a number of new features, including multitasking Filer operations, applications and fonts in ROM, no limit on number of open windows, ability to move windows off screen, safe shutdown, the Pinboard, grouping of icon bar icons, up to 128 tasks, native ability to read MS-DOS format discs and use named hard discs. Improved configuration was also included, by way of multiple windows to change the settings.
RISC OS 3.00 was released with the very earliest version of the A5000 in 1991; it is almost four times the size of RISC OS 2 and runs from a 2 MB ROM. It improves multitasking and also places some of the more popular base applications in the ROM. RISC OS 3.00 had several bugs and was replaced by RISC OS 3.1 a few months later; the upgraded ROMs were supplied for the cost of postage.
RISC OS 3.1 was released later and sold built into the A3010, A3020, A4000, A4 and later A5000 models. It was also made available as replacement ROMs for the A5000 and earlier Archimedes machines (this is the last RISC OS version suitable for those machines). Three variants were released: RISC OS 3.10 the base version, RISC OS 3.11 which included a slight update that fixes some serial port issues and RISC OS 3.19 which was a German translation.
RISC OS 3.50 was sold from 1994 with the first Risc PCs. Due to the very different hardware architecture of the Risc PC, including an ARM 6 processor, 16- and 24-bit colour and a different IO chip (IOMD), RISC OS 3.50 was not made available for the older Archimedes and A Series ARM2 and 3 machines. RISC OS 3.5 was somewhat shoehorned into the 2 MB footprint, and moved the ROM applications of RISC OS 3.1 onto the hard drive; this proved so unpopular that they were later moved back into ROM. This version introduced issues of backward compatibility, particularly with games.
RISC OS 3.60 followed in 1995. The OS features much improved hard disk access and its networking was enhanced to include TCP/IP as standard in addition to Acorn's existing proprietary Econet system. The hardware support was also improved; Risc PCs could now use ARM7 processors. Acorn's A7000 machine with its ARM7500 processor was also supported. RISC OS 3.6 was twice the size of RISC OS 3.5, shipping on 4 MB in two ROM chips; components that had been moved onto disk in 3.5 (the standard application suite and networking) were now moved back into ROM.
RISC OS 3.70 was released in 1996. The primary changes in the OS was support for the StrongARM processor that was made available as an upgrade for the Risc PC. This required extensive code changes due to StrongARM's split data and instruction cache (Harvard architecture) and 32-bit interrupt modes.
RISC OS 3.71 is a small update released to support the hardware in the Acorn A7000+ with its ARM7500FE processor. The FE offered hardware support for floating point mathematics, which until then was usually emulated in one of the RISC OS Software modules).
RISC OS 3.60 also formed the foundation of NCOS, as shipped in the Acorn NetChannel NCs.

## Demise of Acorn Computers Ltd

Acorn officially halted work in all areas except set-top boxes in January 1999 and the company was renamed Element 14 (the 14th element of the periodic table being silicon) with a new goal to become purely a Silicon design business (like the previous very successful spin off of ARM from Acorn in 1990). RISC OS development was halted during the development of OS 4.0 for the RiscPC 2 ("Phoebe 2100"), whose completion was also cancelled. A beta version, OS 3.8 ("Ursula") for the original RiscPC, had previously been released to developers. The project code names of Phoebe (for the hardware), Ursula (for the software) and Chandler (for the graphics processor chip) were taken from the names of characters in the TV series Friends (Phoebe and Ursula were twin sisters in the series).
This led to a number of rescue efforts to try to keep the Acorn desktop computer business alive. Acorn held discussions with many interested parties, and eventually agreed to exclusively licence RISC OS to RISCOS Ltd, which was formed from a consortium of dealers, developers and end-users. Pace purchased the rights to use and develop NCOS. There were also a number of projects to bring the advantages of the RISC Operating System to other platforms by the creation of the ROX Desktop to provide a RISC OS-like interface on Unix and Linux systems. The separate work by RISC OS Ltd and Pace resulted in a code fork. This continued after the subsequent licensing agreement with Castle Technology, causing much community debate at the time. The debate remains ongoing in 2011.

## Work post-Acorn by RISCOS Ltd
### RISC OS 4

In March 1999, a new company called RISCOS Ltd was founded. They licensed the rights to RISC OS from Element 14 (and eventually from the new owner, Pace Micro Technology) and continued the development of OS 3.8, releasing it as RISC OS 4 in July 1999.
Whilst the hardware support for Phoebe was not needed, the core improvements to RISC OS 3.80 could be finished and released. They included:
* a better file system, increasing the number of items in directory from 77 to approximately 88,000 and increasing the max length of a filename from 10 characters to 255
* a plugin based system configuration utility
* a new screensaver API
* an enhanced window manager
* an updated interactive help application
* a redesigned set of icons
According to the company, over 6,400 copies of RISC OS 4.02 on ROM were sold up until production was ceased in mid-2005.
During 1999 and 2000, RISCOS Ltd also released versions of RISC OS 4 to support several additional hardware platforms, the MicroDigital Mico, MicroDigital Omega, RiscStation R7500 and the Castle Kinetic RiscPC. In 2003 a version of RISC OS 4 was released with support for the Millipede Graphics AlphaLock podule.
RISC OS 4 is also available for various hardware emulators for other operating systems. In September 2003 VirtualAcorn released the commercial emulator VirtualRPC which included a copy of RISC OS 4.02. In December 2008 RISCOS Ltd made 4.02 available for non-commercial emulators for £5 in a product called Virtually Free.

### RISC OS Select and Adjust

In May 2001, the company launched RISC OS Select, a subscription scheme allowing users access to the latest OS updates. These upgrades are released as soft-loadable ROM images, separate to the ROM where the boot OS is stored, and are loaded at boot time. By providing soft-loads, physical ROM costs are eliminated and updates are able to be delivered with accelerated speed and frequency. It has also allowed the company to subsidise the retail price of ROM releases, which are generally a culmination of the last few Select upgrades with a few extra minor changes.
In May 2002 the final release of Select 1 was shipped that included;
* DHCP client
* Multi-User support and logon
* Preview versions of new printer support and networking with AppleTalk
In November 2002, the final release of Select 2 was shipped that included;
* Support for CMYK sprites
* Hardware support for the scroll wheel on PS/2 mice
* Support for the window manager tools to be in a configurable order
* RiscStation hardware support is now in the kernel
In June 2004 the final release of Select 3 was shipped that included:
* Cut and Paste supported in writeable icons (textboxes)
* The filer can display image thumbnails
* Button and other icons can now support rounded borders
* The sprite format now supported an alpha channel
* A recycle bin
* An improved version of !Paint, the bitmap editor, to support the alpha channel sprites
Also in June 2004, RISCOS Ltd released the ROM based version 4.39, being dubbed RISC OS Adjust. (The name was a play on the RISC OS GUI convention of calling the three mouse buttons 'Select', 'Menu' and 'Adjust'.) RISCOS Ltd sold its 500th Adjust ROM in early 2006. Features introduced in 4.39 include user customization of the graphical user interface.
Further release under the Select scheme were made under the RISC OS Six branding, mentioned below.

### The A9Home

The A9home, released in 2006, uses RISC OS version 4.42 Adjust 32. This was developed by RISCOS Ltd and supports 32-bit addressing modes found on later ARM architectures.

### RISC OS Six

In October 2006, shortly after Castle Technology announced the Shared Source Initiative, RISCOS Ltd announced RISC OS Six, the next generation of their stream of the operating system.
The first product to be launched under the RISC OS Six name, was the continuation of the Select scheme, Select 4. A beta-version of RISC OS 6, Preview 1 (Select 4i1), was available in 2007 as a free download to all subscribers to the Select scheme, both present subscribers and those whose subscription was renewed after 30 May 2004 but has since lapsed.
RISC OS Six brought portability, stability and internal structure improvements, including full 26/32-bit neutrality. It is now highly modularised, with legacy and hardware specific features abstracted, and other code separated for easier future maintenance and development. Teletext support, device interrupt handler, software-based graphics operations, the real-time clock, the mouse pointer, CMOS RAM support, and hardware timer support have been abstracted out of the kernel and into their own separate modules. Legacy components, like the VIDC driver, and obsolete functionality for the BBC Micro have been abstracted too. AIF and transient utility executable checking has been introduced also to protect against rogue software, while graphics acceleration modules may be provided for the SM501 graphics chip in the A9home and for ViewFinder AGP podule cards. In April 2008 the final release of Select 4 was shipped that included:
* 8 MB VRAM support in VirtualRPC
* Filer updates, Keyboard shortcuts, alternative layouts, configurability
* SVG export in !Draw
Select 4 releases are initially compatible with only Acorn Risc PC and A7000 machines. RiscStation R7500, MicroDigital Omega and Mico computers will not officially be supported, as the company does not have test machines available and requires proprietary software code to which they do not have the rights. Lack of detailed technical information about the MicroDigital Omega has also been cited as being another reason why support of that hardware is difficult.
In April 2009 the final release of Select 5 was shipped that included:
* 64K colour screen modes
* More responsive desktop
* Improvements to !Paint and !Draw
The final release of RISC OS from RISCOS Ltd was Select 6i1, shipped in December 2009, it includes;
* Configurable Filer toolbars
* Improved Task Manager
* Improved Draw with new editing features
* Configurable File Types menu
* New Firewall configuration interface
* Improvements to Pinboard configuration
* Improvements to Configure itself

## Post-Acorn development
### RISC OS 5

RISC OS 5 is a separate evolution by Castle Technology Ltd based upon work done by Pace for their NCOS based set top boxes. RISC OS 5 was written to support Castle's Iyonix PC Acorn-compatible, which runs on the Intel XScale ARM processor. Although a wealth of software has now been updated, a few older applications can only be run on RISC OS 5 via an emulator called Aemulor, since the ARMv5 XScale processor does not support 26-bit addressing modes. Likewise, RISC OS 5 itself had to be ported to run properly on the new CPU, and abstraction of the graphics and other hardware interfaces created, to allow it, for example, to use standard graphics cards, instead of Acorn's own VIDC chip.
In July 2003, Castle Technology Ltd bought the head licence for RISC OS from Pace Micro.

### Shared Source Initiative

In October 2006, Castle Technology Ltd announced a plan to release elements of RISC OS 5 under a source sharing license. The Shared Source Initiative (SSI) was a joint venture between Castle and RISC OS Open Limited (ROOL), a newly formed software development company, which aimed to accelerate development and encourage uptake of the OS. Under the custom dual license, released source was freely available and could be modified and redistributed without royalty for non-commercial use, while commercial usage incurred a per-unit license fee to Castle.
The SSI made phased releases of source code, starting in May 2007. By October 2008, enough source was released to build an almost complete Iyonix ROM image. By late 2011, it was possible to build complete ROM images from the published sources; with the full source code available as tarballs, CVS, or a web interface to the CVS archive.
In October 2018, the rights to RISC OS 5 were acquired by RISC OS Developments, and re-licensed under the Apache 2.0 license. ROOL continues to maintain the source tree and co-ordinates an international developer community on a non-profit basis to support and encourage development.
Prebuilt images are available, as both stable releases and development "nightly builds".
Ports of RISC OS 5 are available for the A7000/A7000+, RiscPC, RPCemu, the OMAP3 BeagleBoard and derivatives, OMAP4 PandaBoard and PandaBoard ES, OMAP5 IGEPv5 and UEVM5432, AM5728 Titanium, the Raspberry Pi, and the XScale Iyonix.