RISCOS Select 2 - October 2002
We very much hope you have enjoyed the new features and improvements that we have been able to include in the RISC OS Select scheme so far. Your support of the scheme is crucial to our continued development of RISC OS 4 and we very much hope that you will want to renew your subscription to the scheme.
Within this document, various references are made to other documentation
supplied within the 'Docs' directory. The documentation supplied is a mix
of programmers documentation and release notes. Much of the programmers
documentation is in the process of conversion for the main site and will be
provided in due course.
In addition, a 'Details' directory is provided containing details of the
changes which occurred at each component version change. These details are
necessarily complex and only likely to be of use to developers.
Much of the focus of the Select 2 development has been focused around the
enhancement of the graphical facilities of the operating system. The
associated document 'GraphicsSystem' provides a more general overview of the
graphics system and some of the changes that have been made.
Particular changes of note are :
- CMYK sprites are now supported
CMYK sprites can be created, manipulated and plotted. The current
implementation is functional, however certain applications which
manipulate sprites directly may be provoke undefined results.
- Sprite, JPEG and DrawFile rendering may use 'colour mapping'
Colour mapping allows arbitrary functions to manipulate the colours
as used within the graphics.
- JPEGs rendering system has been improved
The number of variants of JPEG that are handled has been improved,
including the rendering of progressive JPEGs.
- Sprites may be rendered translucently
Sprite operations which would previously generate a solid image may
now be rendered at arbitrary degrees of translucency. This new
facility is used by the DragASprite module to provide translucent
dragging of objects within the desktop.
- Sprite generation from PNGs
Sprites may be generated from PNG imaged using the new ConvertPNG
Generic image file rendering
Image files may be rendered through a plugin interface provided by
the new 'ImageFileRender' module.
System sprite pool changed
The system sprite pool is no longer maintained by the Kernel. All
manipulation of the system sprite pool is now delegated to the SpriteUtils module.
Generic blending tables can now be generated
The new BlendTable module has been created to generate tables for blending
between different colours in shallow colour modes.
In order to support the 'Wheel' mice which are now prevalent, parts of the
system have been modified to provide a new interface for accessing such
devices. The kernel issues additional requests to pointer devices to
discover the state of such devices. Support for PS2 and quadrature wheel
mice is now provided.
A PS2 wheel mouse can be used via the standard RiscPC quadrature interface
by using an STD PS2 mouse interface. The STD mouse interface must be
configured to 'driver' mode (consult documentation supplied with the PS2
interface) and the relevant mouse type selected in the mouse configuration.
Alternatively, use *Configure MouseType 10 to select the STD PS2 mouse
Within the desktop, new flag bits and icon validations have been defined
to allow applications aware of the new interface to take advantage
of the new input method. Toolbox 'Slider' gadgets and ColourPicker
'Slider' gadgets have been enhanced to support the new interface.
Refer to 'PointerDevices' for low level driver information and
'WindowScroll' for the desktop interface.
In keeping with the core graphical changes, the WindowManager has
been enhanced to ensure that these graphical changes are used where
Disabled icons algorithm improved
The colours to which icons now fade when disabled are now slightly
different to those previously used. Disabled icons will now fade
toward the background colour of the window, rather than toward
Deep shaded sprites
Sprites in icons with 32 thousand or 16 million colours will now
fade correctly in the same manner as their shallow colour
Furniture tool order configuration
The window furniture tools can be configured to use different
a different order to that which RISC OS has previously used.
A simple configuration tool is provided within the Window configuration
New interface for sizing text Text sizing of italic fonts has been
improved to allow for the printable area to be determined for desktop
fonts. Previously, italic fonts might be truncated by sizing routines
using the standard operations.
Networking operations have been improved where they have been found to
be lacking. The changes are necessarily not as large as those which took
place for Select 1, but are still important.
- Automatic configuration of network interfaces
Network operations have been improved to allow the automatic
configuration of network interfaces. A new configuration command and a
related option in the interface configuration tool have been added.
The InetConfigure module takes on the job of performing this automatic
configuration, and has necessitated the removal of the old FWAutoAddress
- A(corn) Universal Network support
In order to support certain applications which require support for 'AUN'
networking, the NetI and related components have been updated to support
the facilities offered by Select. 'AUN' refers to the support for
Econet operations over Ethernet. New configuration tools have been
developed and can be found within the 'Network' configuration group.
In keeping with the automatic configuration changes, network maps
used by AUN systems can be automatically configured from the network
- Internet pollwords
A new 'ioctl' operation has been added to allow applications to flag
changes on a socket when operations occur. This alleviates the
requirement for additional shared code just to notify multitasking
applications of activity on sockets.
- Fix for ShareFS authenticated objects
Authenticated shares were issued incorrectly in Select 1. This fix
allows objects to be shared using authentication.
The Kernel has been changed to support a number of the changes described
elsewhere in this document, in particular for handling of CMYK sprites
and mouse wheel. In addition, parts of the kernel have been reworked in
anticipation of future developments.
The hardware used within the RiscStation machines is now supported
by the kernel and such machines will now function with the same
ROM image as other machines.
Addition of function signatures
Certain parts of the kernel have been updated to use function
signatures. This is an on going process which should allow for
simpler debugging. It should be noted that many of the modules
within Select are now built with function name embedding enabled
such that developers can identify problem locations.
Rationalised module operations
Certain calls (Unplugging and Inserting modules) were only possible
through CLI commands under previous versions of the OS. Select makes
these available as SWI calls to simplify their interface.
A new operation has been added to allow the enumeration of modules
with their private words pointers - an operation which was previously
A module service has been added to allow clients to be aware of the
state of modules.
Fix for 1bpp sprite mask operations
Certain operations on 1bpp masks would fail.
Removal of OS_SubstituteArgs
This call now lives in the OSSWIs module.
Dynamic area delegation
Font and System Sprite dynamic areas have now been delegated to the FontManager and SpriteUtils modules respectively.
The Desktop components have been improved slightly to allow for issues
raised in Select 1.
Filer text strings are now sized more reliably
Text in filenames on icons is now sized correctly using the new Wimp_TextOp calls (see above).
Random requests for unshared discs fixed.
Previously an interaction between special fields on discs with
filers open and shared discs would cause directory viewers opened
on to directories which had become unshared to request the unshared
discs. This has been corrected.
Reduced memory usage for selection of large numbers of files
Previously, attempting to drag a large number of files would use
a large amount of memory. This has been reduced substantially.
Moving files on ImageNFS no longer faults directories
When moving directories on ImageNFS, an error about directories containing
objects is no longer generated.
Pinboard can use Drawfiles as background images.
Strictly speaking Pinboard can use any file format supported by the
ImageFileRender module. At present, this means DrawFile or
JPEG in addition to Sprites.
The toolbox components have been updated to support some of the wheel
mouse additions, and to address some issues raised by Select 1.
Scrolling lists are now faded in a better manner
Although the algorithm is not identical to that used by the WindowManager, it more closely matches it than previously.
Scrolling lists can now use column headings
It is possible to use the column lists together with headings to
allow lists of related elements to be grouped together.
Documentation to follow.
Improved resizing on scrolling list transitions
The extent of the scrolling list windows was not always being
correctly calculated as changes were made between different
Scrolling list help is now provided
Previously, help messages were not provided where they had been
provided by the client. They will now be provided.
Scroll wheel support for sliders
Slider gadgets can be modified by using the scroll wheel, if supported
by the mouse driver.
The configuration tools have been updated to address a few issues raised in
Select 1 and to provide the configuration of the extra facilities which
Select 2 offers. In some cases, components have moved in the structure, but
only to the extent that they now live within sub-groups. The configuration
groups can now provide a 'full info' mode for displaying more information
about the tools.
Access configuration renamed ShareFS
The name 'Access' was confusing to some users and so the component
has been renamed to ShareFS.
AUN configuration tools provided
To configure the AUN networking components provided within Select 2,
two new tools are provided - AUN and NetFS.
Boot configuration tools improved.
Configuration tools can now change display format (large and small
icons), be resized and can open directories.
New input configuration group
The 'Input' group allows configuration of input devices. The mouse
and keyboard tools have been moved here and a mouse scroll
configuration tool has been added to this group.
Automatic interface configuration
In interface configuration tool, the old AUN auto-configuration option has
been extended to cover the new auto-configuration options.
Pinboard configuration tool reflects changes in Pinboard
The tool has been updated to support the ImageFileRender component,
allowing it to render any image that Pinboard can use.
New time and date configuration tool
The Date and Time tool can configure the date manually, or configure
network time fetches on startup. This function replaces the 'Set
clock...' option which would normally be accessed through Alarm.
Users configuration now allows auto-logon
The 'default user' can now be selected, allowing automatic log on
with as a user without supplying a password.
* New windows configuration group
The old Window tool can now be found within the Window configuration
group. This should allow for greater flexibility in the future. A
rudimentary configuration tool is provided to cater for configuration
of the furniture order.
Sound frequency configuration tool.
A rudimentary tool for configuring the loading of RateTracker is
The applications supplied with Select have not changed significantly with
the exception of Paint and, to a much lesser extent, Draw. Draw can now
use ctrl-D to 'duplicate' the current selection in a similar manner to the
prior, non-clipboard, ctrl-C operation. In addition, ctrl-V now pastes
the clipboard at the pointer, fixing a rather annoying fault in the
Paint has had what can only be described as a major overhaul. In line with
some of the graphics changes described above, Paint has been extended to
use CMYK sprites and has improved PNG import capabilities. Many other changes
are documented in the related documentation.
Note: Because of the significant number of changes which require the
enhanced graphics system provided by Select 2, Paint will not function
on earlier versions of the OS. You should make a backup of the
previous version if you intend to use it with earlier OS versions.
Refer to 'Paint'.
ResEd has had a few updates to cater for the additional options provided by
the window system.
The library has not changed significantly for Select 2. A new JPEG transcoding tool, 'MiniJTran' has been created to use the featuresprovided
by the transcoding CompressJPEG module. This allows JPEG files to be
converted to and from progressive images.
The modules provided within !System have been updated to include the common ethernet drivers. This should alleviate some of the issues involved in
upgrading. VProtect has been updated to the latest version, and a version
of RateTracker has been provided.
Refer to 'RateTracker'.
Miscellaneous boot updates
The Boot sequence components have been updated to support the use of AUN
components within the Internet resources. The Boot sequence should not
be able to be run from remote machines or where it has not been used to
boot this machine.
Support for RiscStation and MicroDigital computers.
The MicroDigital Mico is now fully supported by the Select Scheme, but we have
not been able to test this release as MicroDigital have been unable to
supply a new Mico Computer for testing. We are also awaiting the delivery of a MicroDigital
Omega in order to test its compatibility with Select.
The new RiscStation portable has been developed with Select in mind, and we expect it to be able to fully use future Select Scheme upgrades.
The standard RiscStation R7500 is now fully compatible with RISC OS 4.32
Where can I find documentation for the new features of Select?
General summaries of the new features of Select can be found via the RISC OS Select SmartGroup.
The RISC OS 4 Programmers Reference Guides are available at
What's planned for future releases of Select?
For practical reasons we can't be definite about what will feature in any given release of Select, as it is impossible to predict how long any new feature will take to complete and test. The nature of the Select scheme is also such that we reserve the right to change the development schedule of Select to meet the needs to our RISC OS Licensees.
As always there is also a substantial amount of other "under the hood" development that doesn't offer immediately visible improvements, but does contribute to our goal of making RISC OS, easier to maintain and develop, as well as providing improved hooks for third party developers.
The full list of the developments we have planned is extensive and we will
release further details as, and when, they reach a sufficiently advanced
Please support the future development of RISC OS
by renewing your subscription to the
RISC OS Select Scheme