Latest News
!System updates

Development tools
C/C++ Tools

Writing 32-bit code
32-bit introduction
32-bit overview
32-bit technical
Memory issues
Developer tools
Paul Skirrow's Guide (PDF)
Download area

32-bit APIs
API changes
CallASWI
FileCore

RISC OS 5
Overview
BBC BASIC
CDFS driver
OS_ClaimDeviceVector behaviour
CDFS
Draw clipping
GraphicsV
HAL
Internet
UTF8 & Japanese support
International IME support
MIMEMap
Module PostInit/Final
PCI Manager
PDumper
Podules
Resource allocation
SCSI
Service Calls
UCS fonts
USB
WIMP API Changes
WIMP Flags

IYONIX pc
DDR memory
Help system
Keyboard layout
Miscellaneous
PCI slots

Opportunities

Iyonix Ltd
IYONIX home page
Contact details

   

Miscellaneous notes

As well as making your software 32-bit compatible there are a few other points to watch when porting software to RISC OS 5, as explained below:

Detecting the hardware

Wherever possible software should be written to run on earlier machines and there is no reason why code cannot be made compatible with every machine from an ARM 2 Archimedes to an X-Scale IYONIX pc.

Applications should always test for the features they require rather than testing the machine or OS version number. For example, an application that communicates with a USB device should test for a USB interface as it may be running on a Risc PC with a Castle USB card (this has the same API as the IYONIX pc USB system).

Generally software should use RMEnsure, OS_ReadSysInfo and the X form of SWIs to test for modules, hardware features and particular SWIs, as appropriate.

Where applications really do need to read the machine type they may use OS_Byte 129,0,255 which will return the value &AA (170) to indicate RISC OS 5.

You MUST NOT use OS_Byte 129 to detect a 32-bit system - you should use OS_PlatformFeatures 0 instead.

OS_Byte 0 will report "RISC OS 5.xx".

Parallel port

The IYONIX pc does not have a parallel printer port and the parallel device driver is not supplied. RISC OS applications that works via !Printers will not need to be updated as they are now aware of interface being used, but software that currently prints directly to the parallel port will need to be updated.

Clipboard and drag & drop

The clipboard protocol has not been changed but it will have a higher profile in IYONIX pc and developers are encouraged to ensure that their software is fully compatible. Ctrl-X, Ctrl-C, Ctrl-V and Ctrl-Z should be used for cut copy, paste and clear selection respectively.

Developers are also encouraged to use the 'drag and drop' protocol to enable data to be transferred between applications. Typically the users makes a selection and then drags it to a window belonging to another application. This is often much easier and quicker than using copy and paste and the data is transferred using the data save protocol.

System Wide Features

All applications are expected to provide the following system-wide features wherever appropriate:
  • Long filename (and long directory name) support (as for RISC OS 4)
  • Global clipboard using Ctrl-C, Ctrl-V, Ctrl-X and Ctrl-Z
  • Text selection by dragging over a region
  • Text selection by clicking with Select to mark the start and Adjust to mark the end
  • Dragging of marked region between applications to transfer text (using the data save protocol)
  • Printing by dragging file icon to a printer icon
  • OLE protocol for editing objects in other applications (typically by Ctrl-double-click)
  • Support for 8-bit character sets (this applied in filenames too)
  • Standardised use of function keys: F1 Help, F3 Save, F4 Find, etc
  • Help item on icon bar menu
  • Interactive help for all buttons, icons and text fields

Speed Issues

Games that do not synchronise themselves with the real-time clock may run too quickly on the IYONIX pc to be playable.

Unique ID

The IYONIX pc has unique ID chip and the ID can be read using the OS_ReadSysInfo 2 call, documented in PRM 1-722. This feature was first introduced in the A5000 and is available on all subsequent machines.

© 2006 IYONIX Ltd 32-bit RISC OS