Introduction and Overview
From version 1.73 onward of SpriteExtend a new reason code has been added to OS_SpriteOp (and the variants which use this) to tile a sprite across the graphics window. This operation allows a single system call to be used to render a large number of images. It allows tiled area fills to be accelerated better than it would be for multiple sprite operations.
SWI Calls
OS_SpriteOp 41OS_SpriteOp_TileSpriteScaledSWI &2E
Tile sprite scaled
| R0 | = | 65 + 0, &100 or &200 as for other SpriteOps |
| R1 | = | Pointer to sprite area |
| R2 | = | Pointer to sprite name, or pointer to sprite dependant on R0 |
| R3 | = | X origin (bottom left of sprite) |
| R4 | = | Y origin (bottom left of sprite) |
| R5 | = | Plot action (as for OS_SpriteOp 52) |
| R6 | = | Pointer to scale factors, or 0 for 1:1 scaling |
| R7 | = | Pointer to pixel translation table, or 0 if none |
| R0 - R7 | = | Preserved |
Interrupts are undefined
Fast interrupts are undefined
Processor is in undefined mode
Not defined
This reason code is used to tile the sprite specified across the graphics window. The origin supplied in R3 and R4 will be used as the location of the bottom left corner of the sprites. The origin may be located within the graphics window, or outside it and will be bounded to the window.