CallASWI 0.03
Document version 0.30, 14th January 2003
With the introduction of the StrongARM processor and the accompanying
update to RISC OS 3.70, a module "CallASWI" was made available which
implemented the four new SWIs which were added for users of the older
RISC OS 3.60, 3.50 and 3.10.
This enabled application programmers and library writers to use the new
calls freely without any worries about backwards compatibility. There is no
performance penalty for the use of these SWIs via the CallASWI module. One
slight caveat is that older machines will not know the names of these SWIs;
they would have to be called by number from BASIC.
Version 0.03 includes all of the features of earlier versions which are
now obsolete, applications authors may freely distribute the newer version
which is available from http://www.iyonix.com/32bit/download/CASWI.zip
CallASWI added the following 4 SWIs
OS_CallASWI
OS_CallASWIR12
OS_PlatformFeatures
OS_SynchroniseCodeAreas
This had a minor bug fix to ensure Service_Reset was trapped so that the
module ensured that the SWIs remained available over a BREAK or CTRL-BREAK
The latest release of CallASWI (0.03) adds another 4 SWIs which have been
introduced to RISC OS 5.00 and later. These are:
OS_LeaveOS (&7C)
OS_ReadLine32 (&7D)
OS_SubstituteArgs32 (&7E)
OS_HeapSort32 (&7F)
The details of the latter three SWIs are covered elsewhere in the 32 bit
documentation, the extra SWI "OS_LeaveOS" has the opposite sense to
"OS_EnterOS" and likewise takes no parameters.
The advantage of OS_LeaveOS is that it will cause callbacks to occur which
can massively improve applications where only a quick bit of work is required
in supervisor mode, yet it may be some time before any callbacks are
triggered.
Again, there is a caveat in that BASIC won't be able to perform a name to
number lookup on the SWI name.
Applications authors can now freely use the new SWIs in their programs and not
worry about backwards compatibility by adding lines to their !Run file, such as
*RMENSURE UtilityModule 5.00 RMENSURE CallASWI 0.03
RMLOAD System:Modules.CallASWI
*RMENSURE UtilityModule 5.00 RMENSURE CallASWI 0.03
Error You need CallASWI 0.03 or later
Note that each * command should be on one line. The check on the
UtilityModule ensures that the CallASWI module is loaded on versions prior to
RISC OS 5.00.
 |
| © 2006 IYONIX Ltd |
32-bit RISC OS |
|