www.riscos.com Technical Support:
The StrongARM Processor


Introduction to the StrongARM Revision 3, 04-Oct-96

Miscellaneous Changes

This section documents miscellaneous other changes in RISC OS 3.7 that are not directly related to the need to support StrongARM.

The Kernel

The System ROM is now marked read-only in the MMU page tables of machines with an ARM7 or later processor. Attempts to write to ROM space will cause a data abort.

The kernel is now aware of multiple applications (see below).


FileSwitch now supports 2048-byte buffers (see FSEntry_Open on page 2-531).

The Window Manager

The Window Manager has now delegated application memory management to the kernel. The kernel is now aware of multiple application memory blocks (AMBs) and pages them in and out when requested by the Window Manager. This improves task switching performance, as the kernel is able to remap AMBs far faster than the Window Manager was able to using OS_SetMemMapEntries.

The Font Manager

The Font Manager now supports background blending in modes with 256 colours or more. This blending causes the anti-aliased pixel data to be blended with the background colour rather than using the fixed colour specified in the various colour setting SWIs.

To use the blending, you should set bit 11 of R2 in the call to Font_Paint. However, you need to ensure the following:

  • The font colours specify that there is >= 1 anti-aliasing colour, otherwise the Font Manager will attempt to paint from 1bpp cache data rather than the 4bpp anti-aliased data.
  • The Font Manager you are calling supports this bit, as previous versions of the Font Manager will complain if they find this bit set. You should call Font_CacheAddr to check the version of the Font Manager your application is running on, and only set the bit on Font Manager 3.35 or later.

There is a noticeable speed hit in using blending, so you should not use it if you know you are plotting onto a uniform background.

Blending should not be activated during printing.


SWI Debugger_Disassemble is now aware of the complete ARMv4 instruction set.

Note that the LDRH, LDRSH and STRH instructions are not supported by the Risc PC memory system; although they will often work in a cached area because memory is accessed a 4 or 8 words at a time, they will not work reliably. LDRSB, MULL and MLAL may be freely used (except of course they won't be backwards-compatible). Contrary to the information in the Acorn Assembler manual about the ARM7M, the long multiply instructions can be used in 26-bit modes.


A StrongARM-compatible Econet module has been placed in the System ROM, rather than the RiscPC/A7000 Econet card firmware being upgraded.

The Internet module

The Internet module supplied with RISC OS 3.70 is a major new version based on FreeBSD, a 4.4BSD-derived Unix. It offers improved performance, and a wider API, including support for multicasting and T/TCP. All calls documented in chapter 123 of the Programmer's Reference Manual continue to work as documented, but some of the lower-level socketioctl calls, particularly those to do with route manipulation have been withdrawn. More details will be made available later.

A revised !Internet application is supplied as part of the !Boot structure and a new application provides an easy interface for configuring the various networking components built in to RISC OS 3.7


Access Plus is now in the System ROM, instead of being supplied in the System application on the hard disc.


A new subreason code of Service_InternetStatus has been added; Service_InternetStatus 1 is issued when the Net module receives a network map from a gateway station.

Return to section Index

© 3QD Developments Ltd 2013