The Portable module was first introduced in the version of RISC OS 3 that ran on the A4 laptop. The module had three main functions:
Although the A4 is the only native RISC OS portable machine to be released to date, the legacy of the Portable module lives on. Several key components of RISC OS (e.g. the Wimp) still contain active code that will attempt to interface with the Portable module if it is present. This has enabled developers to use the original Portable APIs as a framework upon which to implement their own versions of the module, to deal with the power management requirements of their own hardware.
There are at least 8 variants of the Portable module in existence:
For an overview of which features are available in which version, see the feature matrix
The combined APIs and implementations of the different Portable modules offer the following power management features:
The A4 portable featured both a builtin greyscale LCD panel and a VGA connector for the attachment of an external monitor. For the LCD panel to function correctly the correct mode timings have to be used, along with a custom palette. Therefore the original Portable module had the job of ensuring that a suitable video mode is in use whenever the LCD panel is enabled, along with providing a method for the user to control whether the machine used the internal LCD panel or an external VGA monitor.
The version of the Portable module used in the Stork portable fulfilled a similar role.
The A4 and Stork both featured extra keys on the machine, which would generate key events when pressed. The purpose of these keys was to control hardware features such as adjusting the screen contrast and backlight; therefore in order for the keys to work the Portable module had to listen out for them, and take the appropriate action when each key was pressed.