Entry | |
---|---|
R0 | Reason code + Area value |
All other registers dependent on reason code |
Exit | |
---|---|
R0 | Preserved |
All other registers dependent on reason code |
The purpose of this call is to perform different sprite related actions.
The action performed depends on the reason code value in R0.
The area value can be added to the reason code in R0 to specify how to select a sprite. R1 and R2 are often used to select a sprite.
Value | R1 | R2 |
---|---|---|
+0 | System Sprite area1 | Sprite name |
+256 | Sprite area | Sprite name |
+512 | Sprite area | Sprite pointer |
1 It is strongly recommended not to use the system sprite area.
When using a sprite name, the string can be terminated with a space or control character (i.e. any character <= 32). Sprite name matching is case-insensitive, and only the first 12 bytes of the supplied name will be examined.
This SWI is indirected via SpriteV.
1 Requires SpriteExtend module to be loaded.
2 Not available via Wimp_SpriteOp
3 Originally these calls were implemented directly in the kernel, but as of RISC OS 3.5 they require SpriteExtend to be loaded.