Entry | |
---|---|
R0 | 65 (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) |
R3 | X coordinate |
R4 | Y coordinate |
R5 | Flags |
R6 | Pointer to scaling factors, or 0 for 1:1 scaling |
R7 | Pointer to pixel translation table / Colour Mapping Descriptor, or 0 for no translation |
Exit | |
---|---|
All registers preserved |
This call paints multiple copies of a scaled sprite to the screen, tiling them in order to completely fill the current graphics window.
Compared to calling OS_SpriteOp 52 or OS_SpriteOp 34 in a loop, this call has greater scope for hardware acceleration to be used, and is therefore the preferred method for drawing tiled sprites.
Coordinates are in OS units, and specify the bottom-left corner of one of the tiles. Whether the coordinates specify a point inside or outside the graphics window is irrelevant, as the tiled area is effectively infinite, with the graphics window cropping it to a finite area.
This call is a tiled version of OS_SpriteOp 52, and therefore supports all the features of that call.