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.
Conversions
OS_Convert* SWI calls. No specific documentation; see PRM 1.
OSSWIs
Miscellaneous SWI calls. No specific documentation; see PRM 1.
EvaluateExpression
OS_EvaluateExpression SWI. See PRM 1-457, section EvaluateExpression.
SystemVars
Management of Sys$* variables. Version 0.08 and above handle all system variables. No specific documentation; see PRM 1.
ReadLine
Line input 'ReadLine vector'. See section ReadLine.
CLIV
*-command interpreter. No specific documentation; see PRM 1-929.
VideoTTX
Software implementation of Teletext mode. See section Teletext.
VideoSW
Software implementation of most text and graphics primitives. See section Graphics.MultiDrivers.
VideoHWVIDC
Hardware implementation of the video system for VIDC. See section Graphics.MultiDrivers.
FSCommands
Filing system *-commands previously located in the Kernel. No specific documentation; see PRM 1.
ModuleCommands
Module manipulation *-commands. No specific documentation; see PRM 1.
OSCommands
*-commands which do not fall into the FSCommands or ModuleCommands groups. No specific documentation; see PRM 1.
RTC
High level Real Time Clock functions. See PRM 1-399, section RTC, RTCV, OS_Word15.
RTCHW
Hardware access for the Real Time clock, for RiscPC, A7000, RiscStation and A9 systems. See section RTCV.
OSPointer
High level pointer functions. See PRM 5a-242, section PointerDevices, PS2Driver, WindowScroll.
PrinterBuffer
Configuration of the printer buffer. No specific documentation.
NVRAMHW
Hardware access to the non-volatile configuration memory. See PRM 1-363, section NVRAMV.
IRQ
Interrupt dispatch management. See PRM 1-121, section IRQHandler.
Timer
Hardware timer management. See section Timer.
Graphics components
The increased support for non-native graphics formats and the extended functions provided by the existing systems have required that a number of new modules be provided. Many of these are described in more detail in the GraphicsSystem section and the Graphics.MultiDrivers section.
ColourMap
Colour translation and remapping. See sections ColourMap, ColourMap-DrawFile, Graphics.Sprites.ColourMap.
BlendTable
Support for transparent blending. See section BlendTable.
FontMap
Non-native font name translation. See section FontMap.
PNG
Library for decoding and encoding of PNG bitmap images. See section PNG.
ImageFileConvert
Generic image file conversion interface, providing ImageFileRender for converted files. See section ImageFileConvert.
ImageFileRender
Generic image rendering. See section ImageFileRender.
CompressJPEG
JPEG compression, decompression and transcoding functions, now part of the ROM rather than being disc based. See PRM 5a-609, section CompressJPEG.
ConvertPNG
PNG file conversion using ImageFileConvert. See section ConvertPNG, ImageFileConvert.
ConvertBMP
BMP file conversion using ImageFileConvert. See section ConvertBMP, ImageFileConvert.
ConvertICO
Windows .ico file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ConvertPNM
PNM (PBM, PPM, PGM) file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ConvertSprite
Sprite file conversion via ImageFileRender, using ImageFileConvert. See section ConvertSprite, ImageFileConvert.
ConvertSun
Sun raster file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ConvertXBM
X bitmap file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ConvertPCX
PCX file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ConvertClear
Translator 'Clear' file conversion using ImageFileConvert. No specific documentation; see section ImageFileConvert.
ImageFileRender_Artworks
Artworks file rendering using ImageFileRender. No specific documentation; see ImageFileRender.
Desktop components
The Desktop has been enhanced both visibly (through the new Icon Bordering interface) and behind the scenes by providing enhanced interfaces for various components.
RedrawManager
Managed, filter based redraw functions, allowing non-application components (for example Toolbox) to perform rendering within application windows. See section RedrawManager.
IconBorderPlain
Re-implementation of basic button style. No specific documentation.
IconBorderRound
Updated button style, allowing round buttons and other effects. General IconBorder development kit and documentation available on request.
ClipboardHolder
Clipboard support functions to aid application developers and used by the WindowManager to provide cut-and-paste within writable icons. See section ClipboardHolder.
WindowScroll
Support for scrolling windows using the alternate pointing device (eg, scroll wheel). See section WindowScroll.
Toolbox components
Although the toolbox as a whole has been enhanced, only a few new modules are provided within the current version of the operating system.
GDivider
A semantic 'divider' gadget. No specific documentation; see toolbox headers.
ToolAction
Advanced version of the regular 'Action' buttons. No specific documentation; see toolbox headers.
TextGadgets
Text-based gadgets - scrolling lists and text input area. No specific documentation; see toolbox headers.
ImageFileGadget
Gadget for rendering ImageFiles within a window. No specific documentation; see toolbox headers.
Programmers components
ZLib
Library for compressing using the ZLib compression method. See section ZLib.
Zipper
Library for reading and creating Zip archives. See section Zipper.
DiagnosticDump
Diagnostic functions for Shared C library and other external implementations. See section DiagDump.
KeyInput
Extended keyboard input interfaces. See section KeyVExtendedInput.
BASIC64
Floating point version of the BASIC library, now part of the ROM, rather than being disc based.
DDEUtils
Advanced developer functions such as longer command lines and editor 'throwback'.
PathUtils
System 'path' variable manipulation functions.
SysLog
Centralised logging.
Network components
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.
InetServices
Translation between service names and numbers. No specific documentation.
Resolver
Translation between host names and addresses. See section Resolver.
MimeMap
Translation between MIME media types, filetypes, file extensions and Mac data types. See section MimeMap.
InetConfigure
Management for automatic network configuration on startup. See section AutomaticConfiguration.
DHCPClient
Automatic network configuration using the DHCP protocol. See section DHCPClient.
ZeroConf
Automatic network configuration using the Link-local addressing protocol. See section ZeroConf.
RouterDiscovery
Automatic gateway discovery using the ICMP router discovery protocol. See section RouterDiscovery.
FreewayHosts
Distribution of host names over Freeway, previously an internal function of the Freeway module. See section Networking.Overview.
LanManFS
Access to Windows (and other) filing systems.
AppleTalk
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.
LegacyBBC
Many of the obsolescent BBC interfaces are provided through this module. See section LegacyBBC.
LegacyScreen
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. See section LegacyScreen.
CallASWI
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. No specific documentation.
Miscellaneous components
Finally, a few components do not fit easily into any of the above categories and are listed here.
OwnerBanner
Provides the new start up banners for both the Desktop and boot. No specific documentation.
LibraryHelp
Extends the *Help system to provide additional information for library cmmands and aliases. See section LibraryHelp.
FileTypes
A stub module which sets up a many of the common filetypes and their execution formats on startup. Previously this was part of FileSwitch.
AIF
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. See section Exec Formats.
TransientUtility
Provides support for transient utilities, similar to that for AIF-headered absolute files, primarily to enforce the new headered utility file format. See section Exec Formats.
ScrSaver
Provides management of desktop screen savers.
SharedSound
Support for multiple clients of the 16bit sound system.
|