|
|
|
|
RISC OS Select 4i2 - RISC OS
6.06 Kernel |
 |
What's new? |
|
|
Well basically, a large part of RISC OS has been
completely re-written to be 32 bit Neutral, which has taken the last two
years of work.
The most important point to note is that whilst the
RISC OS sources are now 32 bit neutral, this does NOT mean that Select 4 for
the Risc PC is now a 32 bit version! It is still a 26 bit version, so there
is no need to change any of your applications to 32 bit versions. More importantly
there is now no need for applications which have been compiled using the
Castle 32 bit C/C++ tools to have to softload the 32 bit shared C library
when they run under Select 4. The built-in RISC OS Six Shared C Library
provides all the features required for 26bit and 32bit support.
To the average end user there may not appear to be
many obvious changes
to RISC OS Six. Many of the new
features
are "under the hood" and are there to provide the framework for future
enhancements that will be developed by RISCOS Ltd and Third Parties. This
document outlines the key features that are present in this Release.
Please note that RISC OS
Select 4 featuring RISC OS Six is constantly in development.
RISCOS Ltd offers no guarantees about the performance of this, or any
version of RISC OS. It should not be tested on any mission critical
machines, or any that you rely on for the permanent storage of data
or applications.
Fuller technical details of the inner workings of
Select can be found on the Select website. Testing of this release is very important
and we welcome your feedback of any problems, or faults that may be
encountered.
If you have not already done so, you should register with the new GoogleGroups
RISC OS Select Discussion Group. If you have not received an invite to
join this Group please send a request to mailto:developer@riscos.com
|
 |
Technical Features |
|
Many Operating System 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. Many of these modules
provide
APIs which are unchanged from their original forms.
In order to maintain compatibility between Select versions and RISC OS 5
the RISC OS Six versions have been amended where the Castle versions have
conflicted with RISC OS 4 versions. Thus programmers have no need to be
concerned about producing different versions of their applications for
different platforms. All that is needed is to check that the feature they
require is actually present on the relevant OS and then carry on and use
it, if it is present.
|
 |
System speed |
|
The speed of the operating system as a whole is an area
which is always
focused on during development of RISC OS. Whilst it is always desirable to
improve the speed with each iteration of the system, this is not always
possible because of hardware, algorithmic and practical reasons. RISC OS 4,
in particular, introduced many efficiency improvements which had a
noticeably beneficial effect on the system as a whole. The Kernel itself is
the primary candidate as changes in internal use can have a significant
impact
on speed. In particular the RISC OS 4 kernel featured :
- A streamlined SWI dispatch
- Memory pools for regularly allocated blocks
- Cached screen memory
- 'Lazy' task swapping
- Improved *-command dispatch
- Hash-filtered service and SWI dispatch
- Faster dynamic area translation
- Faster logical memory reservation
Versions of the operating system after this have added
other speed
optimisations in places, and eroded some of the gain in others. Of the
features in Select 4 which have impacted speed the following Kernel
changes are of note :
* SWI dispatch is no longer placed in
RAM, but lives within the ROM
itself. As the ROM is softloaded into RAM, this
presents no speed
penalty, but has allowed other optimisations to be
used.
* Screen memory is now cached at the
discretion of the video driver.
The current video drivers (VIDC, SM501, ViewFinder) use
this feature
to improve performance. Because it is no longer as
tightly bound
to the Kernel, the performance is slightly lower.
* Video abstraction interfaces mean that
additional layers exist
between the client's invocation of an operation and it
reaching
the video memory. On dumb frame buffers, such as VIDC,
this means
that the speed is reduced slightly. On accelerated
hardware, such
as ViewFinder and the SM501, hardware features may be
used to
improve the speed.
* Some of the software rendering
functions (now provided by VideoSW)
have been improved. Despite the additional overheads of
the
video abstraction, some of the operations are now
faster than they
were previously.
* System stability has been a significant
area of focus for Select 4
and where trade-offs have needed to be made between
speed and
stability, the stability of the system has been the
priority. In
particular, the diagnostic and stability benefits
provided by the
'Privileged Back Trace Structures' has meant that many
of the
operating system interfaces have been made slower by
their inclusion.
* Although *-command dispatch is now
handled entirely external to the
Kernel, many of the speed improvements have been
retained. The
increase in speed previously provided by the hashed
command lookups
has been improved through a slightly different
algorithm.
* Dynamic area memory allocation speed
has been significantly improved,
which has benefits for clients which regularly change
the size of their
memory areas. A side effect of this, however, is that
interrupts during
dynamic area memory allocation operations may be
delayed in order to
ensure that the change happens safely.
* Heap dynamic areas (a feature
introduced with Select 1) are far more
efficient for large and regular allocations.
* SWI name to number translation is
significantly faster, using a hashing
algorithm to reject non-matching cases. This should
primarily benefit
BASIC applications.
* Internal buffers (mouse, keyboard,
serial) are no longer handled by
the Kernel, but are now managed by BufferManager. This
should not have
any significant impact on the speed, although if very
large numbers of
buffers are registered with BufferManager there may be
issues.
Other changes not directly related to the Kernel will
have affected system
speed.
* Within the desktop, rendering of
special icons is now provided through
FilterManager and thus may be slightly slower. In
particular, the
use of fancy icons (such as the rounded buttons) may be
noticeably
slower as the images are generated. Because button
images are cached,
this change should only be noticeable for the first
rendering of that
size and style of icon.
* The display manager now selects
true-colour 256 colour modes when
a 256 colour mode is selected from its menus.
Previously only the
VIDC1-compatible modes would be selected. Clients which
check for
the 'Fully specified palette' flag within the mode
flags in order
to provide optimised rendering may find that they must
now use
slower routines. This can usually be corrected by
checking the
palette in use. This change has been applied to
ColourTrans, and
results in an equivalent speed for processing palettes
to that of
the old style modes, whilst at the same time benefiting
true-colour
paletted sprites.
* ColourTrans now provides optimised
support for a monotonic 256 grey
scale palette (as used by the desktop 'Grey' mode
selector). This
allows grey scale colour translations to be performed
faster than
even the optimised old-palette 256 colour palettes.
|
 |
Video |
|
The management of video within new versions of RISC OS
has changed
significantly. Most graphics primitives may be accelerated by hardware,
and many operations have been changed slightly because of this. The
Video Drivers can now support multiple display devices. For example
a current machine may have both the standard VIDC based Video Display and a
Viewfinder Graphics card. At present only one display can be active, though
work is being done to support multiple graphics cards, and to provide
features not previously seen on RISC OS 4, such as Screen Rotation to
support Portrait Mode displays.
|
 |
Memory management |
|
With the advent of multiple display drivers, the concept
of a single 'screen
memory' area is obsolete. This means that the dynamic area 2, previously
allocated to the screen memory, is no longer used. In order that clients
which merely check this value do not fail however, the area is provided by
the LegacyScreen module. The content of this area and its size have no
relationship to the video system and are merely provided to ensure that
applications which attempt to use check video size by using this area do not
fail immediately. |
 |
Screen banks |
|
Because memory management for video drivers may not be
related to the total
memory available to the video drivers it is not sufficient to read the total
size of the video memory and divide by the screen size to obtain the number
of
screen banks. New OS_ScreenMode reason codes have been created to ensure
that
these operations can be performed reliably within the constraints of the
driver. |
 |
Shadowed modes |
|
Shadowed modes are no longer supported by RISC OS Six.
These modes are numbered 128-255 and would implicitly select the second bank
of screen memory. Since
the days of Arthur, these modes were of much less use. Attempting to
select shadowed modes may result in undefined behaviour. |
 |
Hardware acceleration |
|
Hardware acceleration is provided by the display driver
transparently from
all user operations. Where hardware acceleration is not available, software
equivalent functions will be available. |
 |
Screen mode limitations |
|
In order to ensure that the system can be simplified and
advance in a useful
manner, certain features have been dropped from screen modes. The shadowed
mode selection has already been mentioned. In addition, modes which have
different BPP and BPC values are no longer supported. This means that modes
2,
4, 5 and 10 are no longer available. These should not affect many
applications
as most should have been updated to be mode independent already.
Gap modes may be supported at the discretion of the video
driver. This means
that modes 3, 6, 7, 11 and 14 may not appear the same on different hardware.
Mode 23 was defined in order to support monitors which
were much higher
resolution than the standard VGA monitors of the time. However, technology
has passed by such systems. In particular, this mode used 'double height
characters'. These are no longer supported and mode 23 may revert to
being a standard 1 BPP mode with 8x8 pixel characters.
In addition, modes may be limited in the number of
colours that may be
displayed. Usually this affects modes with 16 or fewer colours as these
are not supported by some modern graphics hardware. |
 |
Teletext mode |
|
Teletext modes are no longer implemented as a 16 colour,
low resolution
mode. Any resolution and number of colours may now be used for a teletext
mode, although obviously with less than 16 colours its usefulness will be
limited. By default the resolution and colours selected by mode 7 is now
equivalent to that of mode 28. Alternative teletext resolutions may be used,
however. New Mode Strings may be entered into the Mode display in order to
select a Teletext Mode. |
 |
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. |
 |
32 bit Shared C library |
|
Components sourced from other companies, outside the
control of RISCOS Ltd, are
not supported by RISCOS Ltd. Where possible, compatibility will be
maintained
but if things fail with externally sourced components then this is not an
issue
that RISCOS Ltd will address unless it has been caused by a change to the
system
which can be avoided. In particular, the use of non-RISCOS Ltd sourced ROM
components (SharedCLibrary, FPEmulator, Toolbox modules, etc) is not
guaranteed and should not be relied upon. It is strongly recommended that
such components be expunged from users systems, once you move to the final
Select 4 release. |
 |
CallASWI |
|
The CallASWI module was introduced in RISC OS 3.7 to
provide a mechanism by
which arbitrary numbered SWIs can be called without requiring dynamic code.
It was later extended by Pace to introduce additional features which only
their operating system provided.
The module is redundant on RISC OS Six as the facilities the soft-load
versions
provide are now a standard part of the operating system.
The CallASWI module is provided to ensure that applications ensuring the
module
do not attempt to load other versions. |
 |
Boot Up |
|
RISC OS Six now offers dual loading banners at startup.
A standard RISC OS Six banner, and a different banner which is displayed if
booting fails to complete correctly.
 |
 |
OwnerBanner |
|
For users who prefer to customise their Boot sequence
RISC OS Six now provides
support for new start up banners to be specified by the user.
The startup System now recognises, ARM 610, ARM 710, ARM
7500, ARM 7500FE,
StrongARM, Kinetic and ARM 920 processors, and will identify the Processor
present during the Boot Sequence.
|
 |
Display Tool |
|
When selecting 256 colour screen mode this really means
256 colours - not 64 colours x 4 as previously.
Display Manager also has an extra option to Select the display device.

|
 |
!Configure System |
|
Opening !Configure (by double clicking on !Boot) now auto
opens the Boot
configuration window, as opposed to just opening the Configuration Window.
There is a new set of preset setup options for the Tool order configuration
tool.

|
 |
Command Line |
|
Pressing F12 now displays a message "to exit command line
shell, press return
on an empty line"  |
 |
Filer |
|
A little known fact is that Filer references to drives
can be made by letter
as well as number. This has been present since Arthur days, but has not been
widely known before and is mentioned for reference.
e.g ADFS::e.$ = ADFS::4.$ |
 |
Diagnostics Dump |
|
The Diagnostic Dump system is a new feature which
utilises the APCS backtrace
features of the SharedClibrary to provide diagnostic functions for Shared C
library and other external implementations.
Full documentation is provided on the RISC OS Six Web Site.
A typical Dump would look like:-
Register dump:
a1/r0 =0x00000000 0
a2/r1 =0x00000000 0
a3/r2 =0x01c07dfc 29392380 -> [0x00010000] [0x00000000]
[0x00000000][0x00010000]
a4/r3 =0x03b5fa29 62257705
v1/r4 =0x00000056 86
v2/r5 =0xf5c8fc00 -171377664
v3/r6 =0x00021200 135680 -> [0xe0040091]
[0xe1a0300d] [0xe92d0008][0xe1a03004]
v4/r7 =0x00000109 265
v5/r8 =0xfffae47e -334722
v6/r9 =0x03b5f200 62255616 -> [0x00000084] [0x000000a9]
[0x000000f2][0x0000017a]
sl/r10=0x0010e188 "CqC3ye17ubh3LSQ6"...
fp/r11=0x0010ee4c 1109580 -> [0xa0052cf4] [0xffffffff]
[0x00000000][0x00000000]
ip/r12=0x80052dd4 -2147144236
sp/r13=0x0010ed14
lr/r14=0x00052dd4 339412 -> [0xe2855001]
[0xe3550003] [0xbafffff6][0xe5864000]
pc/r15=0x63b99f93
PC disassembly from &03b99f40-&03b99f90:
&03b99f70 : ...: : 3afffffa : BCC &03B99F60
&03b99f74 : .O.. : e8bd4ffc : LDMIA R13!,{R2-R11,R14}
&03b99f78 : .... : ea000001 : B
&03B99F84
&03b99f7c : .... : 0000ffff : Undefined instruction
&03b99f80 : .... : 80008000 : ANDHI R8,R0,R0
&03b99f84 : .O-. : e92d4ff4 : STMDB R13!,{R2,R4-R11,R14}
&03b99f88 : .... : e59c1488 : LDR R1,[R12,#1160]
&03b99f8c : .... : e3a0e000 : MOV R14,#0
&03b99f90 : .... : e581e000 : STR R14,[R1,#0]
&01c07c68 (SVC) : Exception
called by &03b99f98, CPSR SVC-26 ARM fi vCZn
{Module FontManager Code+&DF94}
Exception registers dump at &01c07c7c:
a1/r0 =0x00000000 0
a2/r1 =0x00000000 0
a3/r2 =0x01c07dfc 29392380 -> [0x00010000]
[0x00000000] [0x00000000][0x00010000]
a4/r3 =0x03b5fa29 62257705
v1/r4 =0x00000056 86
v2/r5 =0xf5c8fc00 -171377664
v3/r6 =0x00021200 135680 ->
[0xe0040091] [0xe1a0300d] [0xe92d0008][0xe1a03004]
v4/r7 =0x00000109 265
v5/r8 =0xfffae47e -334722
v6/r9 =0x03b5f200 62255616 -> [0x00000084]
[0x000000a9] [0x000000f2][0x0000017a]
sl/r10=0x03b5d3d8 62247896
fp/r11=0x01c07ef7 29392631
ip/r12=0x021d9014 35491860
sp/r13=0x01c07da8
lr/r14=0x00000000 0
pc/r15=0x63b99f93
PSR=0x60000003 : SVC-26 ARM fi vCZn
&01c07d94 (SVC) : Aborting
called by &03b99f98, CPSR SVC-26 ARM fi vCZn
{Module FontManager Code+&DF94}
&01c07ebc (SVC) : SWI &40086
called &03b8d4b4
{->Module FontManager Code+&14B0}
&01c07ed4 (SVC) : SWI &60086
called by &03bf9d68
{Module WindowManager Code+&ED64}
SWI X[FontManager]_6 / XFont_Paint (local)
&01c07fc8 (SVC) : SWI &400e2
called &03bec9e0
{->Module WindowManager Code+&19DC}
&01c07fe0 (SVC) : SWI &600e2
called by &000ea778
{DAApplication space (User R/W)+&E2778}
SWI X[WindowManager]_34 / XWimp_PlotIcon (local)
|
 |
Networking |
|
The Internet stack, and related components, have
undergone a number of
changes in order to address problems and provide new features to developers
and, ultimately, users. The primary improvements have been the addition of
new modules for particular Internet facilities - RouterDiscovery,
InternetTime
and ResolverMDNS. Internet now supports multicast filtering for drivers.
Resolver has been updated to address significant issues with its
implementation
of expiry and now provides DCI4 statistics.The
Network Configuration Tool has new options for Auto-Configuration if
Static, AUN, or Dymanic are selected.
DNS now has an Auto Detect Option and Gateway has an Auto Detect Option.
These are especially useful for use in networks where the DNS entries
and Gateway Address can be detected.

ZeroConf
which implements automatic network configuration using the Link-Local
addressing protocol.
RouterDiscovery
which supports automatic gateway discovery using the ICMP router discoveryprotocol.
FreewayHosts
which provides distribution of host names over Freeway, which was previously
an
internal function of the Freeway module.
Address collision detection
If another device with an identical IP address is detected on the network
the
local network interface will be disabled.
Aliased Interfaces
It is now possible to set up aliased interfaces to allow one physical
Ethernet adaptor to appear to have two or more logical addresses.
e.g *ifconfig eh0:1 106.29.12.42
This type of setup allows a machine to sit on two different subnets. |
 |
Graphics |
|
There have been a number of miscellaneous Graphics
updates notably:- SpriteExtend is now capable of
rendering CMYK and YCbCrK JPEGs.
JPEG compression, decompression and transcoding
functions provided by the
CompressJPEG module, are now part of the ROM rather than being disc based. |
 |
Windows |
|
The WindowManager has been updated significantly. From
this work, it is
now possible for button icons to be 'highlighted' when the mouse is over
them. This is not used by the built in borders. However, a number of new
borders will be supplied which will use this feature.
IconBorderPlain
Re-implementation of basic button style.
IconBorderRound
Updated button style, allowing round buttons and other
effects.
General IconBorder development kit and documentation
available on
request. |
 |
Filetypes Module |
|
This is a stub module which sets up a many of the common
filetypes and their
execution formats on startup. Previously this was part of FileSwitch.
Filer uses Filer$Types to set the types that can be used
(use hex values, comma
separated, eg 'fff,faf').
(need more info on this !!!) |
 |
Applications |
|
The Disc Based applications have been updated, some to a
greater extent than
others. |
 |
!Paint |
|
now 2.57 (05 Jun 2006) was 2.56 (18 Feb 2004)
Paint 2.57 has a new configuration option to configure
whether to load various
file formats when they are double-clicked. Sprites have a choice on their
own
and there is a toggle selection on a pop-up window to select any other types
that are registered with the Image File Rendering System.
There is a new !Paint.Brushes (Or more correctly "Paint:Brushes")
which holds only the global brushes. Previously these were included
with the Sprites22 resources for the app, which meant that all
the other sprites in the Sprites22 file gained ttabs and were re-processed on every return to the desktop or mode change. This
wasted time and RAM.
Toolbar added to main 'filer' window. Some
common operations are
available more rapidly than using the menus. Save, Export, New,
Delete, Copy, Paste, Toggle display.
Main menu can be opened from buttonbar.
Files can also be dragged to buttonbar area.

No longer requires vast amounts of application space
to import
IFC types. Moreover, we can now import via IFC images which
result in sprites greater than 26MB. Also reduced the overall
amount of RAM required to do the conversion significantly.
Dragging sprites around in the main 'filer' window
when there are
multiple items selected now moves all the selected items, not just
the one which initially started moving.
Creating a 2 colour X45Y45 non-alpha sprite with Paint
now
creates a "fully specified" sprite, rather than MODE 4 sprite,
in anticipation of double-pixel modes dying.
New screen snapshot option has added a "Furniture"
option to grab window
setting. This was the default (ie, on) before. Now you can uncheck it,
so that
what you grab is just the workarea of the window.
Added back the ability to directly export a foreign
IFC type
from a screengrab. This functionality was lost when we moved
to the full/nice IFC handling. Now it's back, as an option on
the snapshot window, which means your choice persists across
multiple grabs - saves a few clicks if you're making lots of
PNGs etc. and to choose Capture Format - Sprite, BMP, PNG, JPEG.
Paint now uses proper wimp shading for the selection
of items in the
main "filer" window now.
Use deferred flex deletion during re-caches of colour
translation
tables after a mode change. This virtually eliminates the huge
delay observed after returning from the shell CLI with a large
number of sprites loaded in Paint.
Huge raft of changes added to allow colour/mask
filling local
and global on alpha-sprites to work properly.
Paint now uses IFC for everything other than actual
sprite files. This means
Paint's native JPEG and PNG handling has gone, and with it some speed and
features. As a result JPEGs may "look different" when loaded compared to
2.56
and earlier, due to scaling changing in IFC.
The big benefit of the IO change is that there's now
an "Export"
menu on the main menu and sprite menu. This new item leads to
a submenu containing the (filetype) name of each IFC that can
convert FROM a sprite. Follow the menu entry to export the sprite
as that type. This replaces the previous radio buttons which
were on the save dialog, and most obviously adds support for the
IFC BMP creator. IFCs which can convert from sprite files will
be automatically detected and added to this menu.
Improved "Filer" window. The main sprite window
has a far more
accurate selection policy which should more closely mimic that
of the Filer. This should make rubberband multiple-selection of
sprites far easier, as typically there will be a large gap of
clear space between sprites.
This window now also uses the user's defined selection
colour,
just as Filer does.
The colour window for < 32K colours has been tweaked
so that
holding/dragging the mouse on this window doesn't cause a nasty
flickery rectangle. |
 |
!Draw |
|
now 2.29 8 Jun 2006 was 2.27 (09 Jan 2004)
Printers dialog now accepts more copies for printing
(need more info on Draw Changes) |
 |
Image file rendering system |
|
There are two new renderers
ConvertGIF
ConvertWMF
the full set is now:-
&132 00000000 ConvertICO
0.04 Windows .ico files
&690 00000000 ConvertClear 0.05 RISC OS
Clear files
&697 00000000 ConvertPCX 0.03
Windows .pcx files
&69c 00000000 ConvertBMP 0.11
Windows .bmp files
&69e 00000000 ConvertPNM 0.06
Windows .pnm, .pbm and .pgm files
&aff 00000000 ImageFileRender 0.33 RISC OS Draw files
&b2f 00000000 ConvertWMF 0.00
Windows .wmf files
&b60 00000000 ConvertPNG 0.37
Windows .png files
&b61 00000000 ConvertXBM 0.08
Windows .xbm files
&bcf 00000000 ImageFileRender 0.33 RISC OS Tablemate file
&c85 00000000 ImageFileRender 0.33 JPEG
&cc3 00000000 ImageFileRender 0.33 RISC OS Poster file
&d91 00000000 ImageFileRender 0.33 RISC OS Equasor file
&d94 00000000 IFR Artworks 0.12 RISC OS
ArtWorks file
&fc9 00000000 ConvertSun 0.08
Windows .ras SunRaster file
&ff9 66990101 ImageFileRender 0.33 RISC OS Sprite
ConvertBMP can now take CMYK sprites and convert to
BMPs.
ConvertICO can now create ICOs from multi-sprite files and CMYK sprites;
sprites created from 16 colour icos are now 16 colour.
ConvertPNG can now convert CMYK sprites to PNGs.

Image Viewer now has support for exporting the viewed
file in whatever types
are known to the convertor. |
 |
AIF Checking |
|
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. The TransientUtility module
provides support for transient utilities, similar to that for
AIF-headered absolute files, primarily to enforce the new headered
utility file format. |
 |
Toolbox |
|
Window toolbox module now allows an expanded range of
gadget operations in order to provide greater flexibility for the range of
gadgets which can be
provided - in particular gadget timers, gadget redraw events and the ability
to
add and remove icons from a gadget during its lifetime.
All toolbox modules should now work correctly if
ResourceFS is restarted.
TextGadget has new features to support new text area
background sprite
handling.
New ColourSwatch gadget.
Window provides vertical labels.
- Window has much improved support for Fonts in gadgets.
ResEd has been updated to support plugins for its
gadgets, allowing it to be extended to use other gadgets as they become
available. This also
includes the full support for the ColourSwatch gadget.
TextGadget updated with a few changes: Loading
text-like files, deletes
temporary files, improved selection handling and better redraw.
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.
ToolAction
Advanced version of the regular 'Action' buttons.
TextGadgets
Text-based gadgets - scrolling lists and text input
area.
ImageFileGadget
Gadget for rendering ImageFiles within a window.
|
 |
Keyboard and Mice |
|
In addition to the standard 3 button mice, up to 8
buttons are supported by the
OSPointer module. 5 button mice are common and the PS 2 driver has been
updated to support such devices. This includes support for Intellimouse and
Intellimouse Pro. |
 |
Multimedia Keyboard features |
|
International Keyboard now generates different codes for
left and right Meta
keys. These are in order to fall in line with CTLs change to the design.
Since RISC OS 4 a number of additional keys have been
returned by the PS2
(and other keyboard drivers) though it is up to other applications to
utilise
these keys. These keys are:-
Windows left
Windows right
Menu
No convert
Convert
Kana
Yen/Bar
\ _
ASPI Power
ASPI Sleep
ASPI Wake
Scan next track
Scan previous track
Stop
Play/pause
Mute
Vol+
Vol-
Media select
Mail
Calculator
My computer
Browser search
Browser home
Browser back
Browser forward
Browser stop
Browser refresh
Browser favourites
|
 |
Keyboard debounce |
|
Before key presses are inserted into the keyboard buffer,
a
short delay (2cs) is waited. This allows key debounce to be detected and
ignored. However, certain input devices are not susceptible to such
debounces and this additional delay can be ignored. This delay can be
removed
by passing a special value in R2 when the relevant keyboard driver is
present. |
 |
BASIC |
|
BASIC now assembles LD/ST 'T' properly.
Floating point version of the BASIC library -BASIC64 ,
is now part of the ROM,
rather than being disc based.
|
 |
RAMFS |
|
now allows up to 256MB to be allocated
. |
 |
MiniUnzip |
|
MiniUnzip and MiniZip now support -u option for unix
filenames
. |
 |
Recyclone |
|
Recyclone has been updated to monitor the bin's state
using a module rather
than repeatedly checking on null polls. This improves system performance. |
 |
Task Display from task manager |
|
Memory allocations are now in K up to 16128K and then
become M. The Task Manager has new option for
Blue Task bars.
These indicate allocated space, rather than memory usage.

Rommodule listings now align properly e.g
1 System ROM UtilityModule
6.02 Active
2 System ROM IRQ
0.06 Active
3 System ROM TimerManager
0.02 Active
4 System ROM Podule
1.60 Active
5 System ROM Conversions
0.15 Active
6 System ROM OSSWIs
0.18 Active
7 System ROM EvaluateExpression 0.14
Active
8 System ROM SystemVars
0.12 Active
9 System ROM FPEmulator
4.18 Active
10 System ROM SharedCLibrary
5.61 Active
11 System ROM UnSqueezeAIF
0.18 Active
12 System ROM AppPatcher
0.21 Active
13 System ROM DiagnosticDump
0.15 Active
14 System ROM CFrontDemangler
0.02 Active
instead of
1 System ROM UtilityModule
4.39 Active
2 System ROM Podule
1.50 Active
3 System ROM Conversions
0.08 Active
4 System ROM SystemVars
0.05 Active
5 System ROM OSSWIs
0.08 Active
6 System ROM EvaluateExpression
0.09 Active
7 System ROM OSCommands
0.13 Active
8 System ROM FSCommands
0.06 Active
9 System ROM ModuleCommands
0.08 Active
10 System ROM CLIV
0.15 Active
11 System ROM LegacyBBC
0.05 Active
12 System ROM FileSwitch
2.60 Active
13 System ROM Squash
0.29 Active
14 System ROM ResourceFS
0.20 Active |
 |
Redrawmanager |
|
This provides managed filter based redraw functions,
allowing non-application
components (for example Toolbox) to perform rendering within
application windows. The RedrawManager module provides a mechanism for
drawing
into a window as part of the Window Manager's redraw process. This allows
clients to transparently implement complex rendering without requiring the
application to be updated to explicitly call the rendering routines as part
of
their redraw loop. Complex gadget redraws are made much simpler through the
use
of the RedrawManager. With RedrawManager, Gadgets may redraw their content
without any application-specific support. |
 |
Library Help |
|
Extends the *Help system to provide additional
information for library commands and aliases
. |
 |
ScreenSavers |
|
ScrSaver - Provides management of desktop screen savers
. |
 |
System Initialisation |
|
During system initialisation the OS goes through a number
of phases. During these phases there may be indications of the progress for
diagnostic purposes. The sequence of colours as displayed on VIDC systems
for RISC OS Six includes a number of new colours. Other systems may produce
different colours and due to continuous development, colours may be changed
in future versions. On this version the Grey colour of the desktop initialisation stage
gives the appearance of a longer delay that previous before the desktop
is displayed. |
 |
Reset Types |
|
Under RISC OS 3.7 and before, a number of special types
of reset were
available to the user. Each of these reset types was triggered by holding a
key during a reset.
With RISC OS 4.42 and later, the only operations of these which remain are
the
Delete, Shift and keypad-*. In order to support multiple displays, it is
possible to configure the display which the system will start up using. This
can be a problem if the display configured is no longer present (for
example,
because the podule has been removed). If the 0 key (not the keypad-0) is
held
during startup, the display will (for this session) be forced to display
number
0. |
 |
VideoGuard |
|
The VideoGuard module provides protection against the
user being left with no display due to an absent display driver. In normal
use, the system is actively displaying graphics on a display that is
currently present. Under
some circumstances, however, it is possible for the system to be using a
display device which is absent. The two circumstances under which this can
occur are : * System startup
If the system has been configured to use a display
device but no
such device is yet present, there is no useful display
to use.
This is the case during the early system initialisation
before the
display driver has initialised. Such cases will not
usually be
visible to users. More commonly, however, the system
may be configured
to use device 1, which is present on an expansion card
but the card
has been removed. Usually this can be over-ridden by
holding the '0'
key during system startup (see the ResetTypes document
for more
details).
* Device driver removal
If the display driver for the current display is killed
then the
display no longer exists. This is uncommon, but may
occur during
testing. Future device drivers may be dynamic and thus
may provide
devices which come and go as necessary.
When the current display driver is removed, or not
present during the system
startup, the graphics system takes no additional action except to mark the
frame buffer as absent. The address of the screen will be read as 0.
Graphics
drivers should check for this case.
The VideoGuard module will recover from these
circumstances by selecting
the native (display 0) device.
|
 |
That's the end of the details for this version of RISC OS Select 4. |
|
|
|
|