h6. [[OS SWI Calls]] h6(. » [[OS_SpriteOp]] h6((. » OS_SpriteOp 34 - Put sprite at user coords h2. OS_SpriteOp 34 - Put sprite at user coords h5. (SWI &2E) |_<^{width:4em}. Entry | | |<^. R0 |<^. 34 (Reason code) + [[OS_SpriteOp|Area value]]| |<^. R1 |<^. Unused/[[Format Of Sprite Area|Sprite area]] (as defined by area value in R0) | |<^. R2 |<^. Sprite name/[[Format Of Sprite|pointer]] (as defined by area value in R0) | |<^. R3 |<^. X coordinate | |<^. R4 |<^. Y coordinate | |/2<^. R5 |<^. Bits 0-2: [[GCOL action]] | |<^. Bit 3: Use sprite mask | |_<^{width:4em}. Exit | | |\2<^. All registers preserved| h4. Use This call is used to plot a sprite to the screen. This call does not attempt to translate between different palettes, pixel formats or colour depths. Unless you know the source and destination are in compatible modes, it's recommended to use [[OS_SpriteOp 52|OS_SpriteOp 52 - Paint Sprite Scaled]] instead. However due to the overheads involved in OS_SpriteOp 52, using OS_SpriteOp 34 where possible can result in significant performance gains. h4. Notes Coordinates are in OS units, and specify the bottom-left corner of the sprite. No scaling is performed; source pixels will map directly to destination pixels, regardless of the sprite DPI or screen eigen values. This call does not support alpha blending. Specifically, if an attempt is made to perform a masked plot of a sprite with an alpha mask, an error will be returned. For sprites with an alpha channel, the mask flag is ignored, and the contents of the alpha channel will be copied directly to the screen alpha channel (assuming the sprite and screen have matching pixel formats). h4. See also * [[Format Of Sprite]] * [[Format Of Sprite Area]] * [[OS_SpriteOp]] * [[OS_SpriteOp 52|OS_SpriteOp 52 - Paint Sprite Scaled]]