AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
The loader provides a simple interface that lets the Expansion Card manager access the card's code space. The register usage is common to the 4 entry points.

=>     R0     user data, or byte to read/write
     R1     user data, or address
     R2     user data
     R11     combined hardware address
     R13     FD stack
<=     R2,R3,R10 may be corrupted

Entry points:

Offset     Code 

0     Read a byte
4     Write a byte
8     Reset card
12     Podule_CallLoader
16     "32OK" (magic word indicating the loader can be run on a 32 bit system)


As the loader is (and has always been) entered with V clear the simplest non-error exit is MOV pc,lr.
This is contrary to the RISC OS 3 PRM which recommends a BICS pc,lr,#V_bit, which then renders the loader only suitable for use on old systems where the ARM is running in 26 bit mode.
Exit with V set and an error in R0 if you wish to return an error, but to save space in the loader ROM an error pointer of 0 will generate a default error.

[sh-index] Back to list of manuals