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 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