NEW FEATURES IN RISC OS Select 4i2
 

 

Home
Whats New?
Technical features
New ROM Modules
System Speed
Video
Memory Management
Screen Banks
Shadowed Modes
Hardware Acceleration
Screen Mode Limitations
Teletext Mode
Desktop components
32 bit shared C Library
CallASWI
Boot Up
Owner Banner
Display Tool
Configure system
Command Line
Filer
Diagnostics Dump
Networking
Graphics
Windows
Filetypes Module
Applications
!Paint
!Draw
Image File Rendering System
AIF Checking
Toolbox
Keyboard and Mice
Multimedia Keyboard features
Keyboard debounce
BASIC
RAMFS
MiniZip
Task Display
Redrawmanager
Library Help
Screensavers
System Initialisation
Reset Types
VideoGuard
  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.

 

New ROM Modules
There are now 209 Modules in ROM

 

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.
 
 

 RISC OS 6 � copyright RISCOS Ltd 2006 - 2008

Top of page

Page updated 23/04/08