Showing changes from revision #2 to #3:
Added | Removed | Changed
Entry | |
---|---|
R0 | 62 (Reason code) + Area value |
R1 | Unused/Sprite area (as defined by area value in R0) |
R2 | Sprite name/pointer (as defined by area value in R0) |
Or 0 for the screen |
Exit | |
---|---|
R3 | Size of save area |
All other registers preserved |
This call is used to measure the required size of the VDU Save Area that is to be created for use with OS_SpriteOp 60 or OS_SpriteOp 61.
Redirecting output to a sprite without using a save area is strongly discouraged. The reason being that it can cause issues if you either directly or indirectly call a SWI which wants to use redirection internally (e.g. the font manager makes use of redirection to build the font cache). Save areas are small (currently under 512 bytes), so there is little reason to not use them.
After allocating the memory for the save area, it must be initialised by storing the value 0 in the first word.
At present the save area size and format is fixed for any given OS version, however software should not rely on this and should instead use this call to measure the required size for each sprite they wish to use a save area with.