New OS modules
Since RISC OS 3.6 was released, many new features have been added to RISC OS. These features are, obviously, not documented within PRM 5a, which only documents up to RISC OS 3.6. This document lists the modules supplied as part of the Operating System, a short summary of their function, and an indication of the location of documentation.
Modularised Kernel components
Many components have been moved out of the Kernel into separate modules. This allows them to be replaced should faults be located, or augmented if their behaviour needs to be changed. From an internal development standpoint, this separation increases the maintainability of both the separated component and the Kernel itself by isolating functionality. Many of these modules provide APIs which are unchanged from their original forms. Refer to the PRMs for details of the implementations.
OS_Convert* SWI calls.
Miscellaneous SWI calls.
Management of Sys$* variables.
Line input 'ReadLine vector'.
Software implementation of Teletext mode.
Software implementation of most text and graphics primitives.
Hardware implementation of the video system for VIDC.
Filing system *-commands previously located in the Kernel.
Module manipulation *-commands.
*-commands which do not fall into the FSCommands or ModuleCommands groups.
High level Real Time Clock functions.
Hardware access for the Real Time clock, for RiscPC, A7000, RiscStation and A9 systems.
High level pointer functions.
Configuration of the printer buffer.
Hardware access to the non-volatile configuration memory.
Interrupt dispatch management.
Hardware timer management.
The increased support for non-native graphics formats and the extended functions
Colour translation and remapping.
Support for transparent blending.
Non-native font name translation.
Library for decoding and encoding of PNG bitmap images.
Generic image file conversion interface, providing ImageFileRender for converted files.
Generic image rendering.
JPEG compression, decompression and transcoding functions, now part of the ROM rather than being disc based.
PNG file conversion using ImageFileConvert.
BMP file conversion using ImageFileConvert.
Windows .ico file conversion using ImageFileConvert.
PNM (PBM, PPM, PGM) file conversion using ImageFileConvert.
Sprite file conversion via ImageFileRender, using ImageFileConvert.
Sun raster file conversion using ImageFileConvert.
X bitmap file conversion using ImageFileConvert.
PCX file conversion using ImageFileConvert.
Translator 'Clear' file conversion using ImageFileConvert.
The Desktop has been enhanced both visibly (through the new Icon Bordering interface) and behind the scenes by providing enhanced interfaces for various components.
Managed, filter based redraw functions, allowing non-application components (for example Toolbox) to perform rendering within application windows.
Re-implementation of basic button style.
Updated button style, allowing round buttons and other effects.
Clipboard support functions to aid application developers and used by the WindowManager to provide cut-and-paste within writable icons.
Support for scrolling windows using the alternate pointing device (eg, scroll wheel).
Although the toolbox as a whole has been enhanced, only a few new modules are provided within the current version of the operating system.
A semantic 'divider' gadget.
Advanced version of the regular 'Action' buttons.
Text-based gadgets - scrolling lists and text input area.
Gadget for rendering ImageFiles within a window.
Library for compressing using the ZLib compression method.
Library for reading and creating Zip archives.
Diagnostic functions for Shared C library and other external implementations.
Extended keyboard input interfaces.
Floating point version of the BASIC library, now part of the ROM, rather than being disc based.
Advanced developer functions such as longer command lines and editor 'throwback'.
System 'path' variable manipulation functions.
The network components have been enhanced quite considerably since their initial release with RISC OS 3.6. The Network directory contains more details of the specific functions of the new modules and the enhancements to the existing modules.
Translation between service names and numbers.
Translation between host names and addresses.
Translation between MIME media types, filetypes, file extensions and Mac data types.
Management for automatic network configuration on startup.
Automatic network configuration using the DHCP protocol.
Automatic network configuration using the Link-local addressing protocol.
Automatic gateway discovery using the ICMP router discovery protocol.
Distribution of host names over Freeway, previously an internal function of the Freeway module.
Access to Windows (and other) filing systems.
Access to Apple filing systems.
Legacy support components
As the operating system has developed, a number of functions have become obsolete, or have required different handling. These functions have been moved to separate components such that they can easily be removed and to make maintenance of the core components simpler.
Many of the obsolescent BBC interfaces are provided through this module.
With the advent of multiple display devices within a system, the single 'Screen' dynamic area no longer has any purpose. This module provides this dynamic area in order that components which require the area still function.
As support for StrongARM (split cache) and 32bit systems, the CallASWI module was introduced. Its functionality is part of the core operating system. This module merely prevents unsuitable versions of the module from being used.
Finally, a few components do not fit easily into any of the above categories and are listed here.
Provides the new start up banners for both the Desktop and boot.
Extends the *Help system to provide additional information for library cmmands and aliases.
A stub module which sets up a many of the common filetypes and their execution formats on startup. Previously this was part of FileSwitch.
In order to ensure the stability of the system, and to allow support for emulated execution of non-32bit safe programs, Absolute files are now checked and executed by the AIF module. Previously this task was a part of FileSwitch.
Provides support for transient utilities, similar to that for AIF-headered absolute files, primarily to enforce the new headered utility file format.
Provides management of desktop screen savers.
Support for multiple clients of the 16bit sound system.
This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.
HTML document version 1.03 3rd November 2015