RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

OS_SpriteOp

Programmer's Reference Manuals
» Part 15 – SWI Calls
» OS
» OS_SpriteOp

OS_SpriteOp

(SWI &2E)
Entry
R0 Reason code + Area value
All other registers dependent on reason code
Exit
R0 Preserved
All other registers dependent on reason code

Use

The purpose of this call is to perform different sprite related actions.

Notes

The action performed depends on the reason code value in R0.

Area Value

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.

This SWI is indirected via SpriteV?.

Reason Codes

# Hex # Action
2 &02 Screen save?
3 &03 Screen load?
8 &08 Read area control block?
9 &09 Initialise sprite area?
10 &0A Load sprite file?
11 &0B Merge sprite file?
12 &0C Save sprite file?
13 &0D Return name?
14 &0E Get sprite from cursor?
15 &0F Create sprite?
16 &10 Get sprite from user coords?
17 &11 Verify sprite area?
24 &18 Select sprite/Get address?
25 &19 Delete sprite?
26 &1A Rename sprite?
27 &1B Copy sprite?
28 &1C Put sprite to screen?
29 &1D Create mask?
30 &1E Remove mask?
31 &1F Insert row?
32 &20 Delete row?
33 &21 Flip about x axis?
34 &22 Put sprite at user coords?
35 &23 Append sprite? 1
36 &24 Set pointer shape? 1
37 &25 Create/remove palette? 1
40 &28 Read sprite info?
41 &29 Read pixel colour?
42 &2A Write pixel colour?
43 &2B Read pixel mask?
44 &2C Write pixel mask?
45 &2D Insert column?
46 &2E Delete column?
47 &2F Flip about y axis?
48 &30 Plot sprite mask?
49 &31 Plot mask at user coords?
50 &32 Plot mask scaled? 1
51 &33 Paint char scaled? 1
52 &34 Paint sprite scaled? 1
53 &35 Put sprite grey scaled? 1
54 &36 Remove left-hand wastage?
55 &37 Plot mask transformed? 1x
56 &38 Plot sprite transformed? 1x
57 &39 Insert/delete rows? 1x
58 &3A Insert/delete columns? 1x
60 &3C Switch output to sprite?
61 &3D Switch output to mask?
62 &3E Read save area size?

1 Requires SpriteExtend module to be loaded.

x Not available on RISC OS 2.

See also

  • Format Of Sprite?
  • Format Of Sprite Area?
  • SpriteV?
Revised on December 5, 2009 13:19:59 by Alan Robertson (52)? (127.0.0.1)
Edit | Back in time (2 revisions) | See changes | History | Views: Print | Source | Linked from: The Window Manager Colour, Wimp_BaseOfSprites, Wimp_SetColour, Wimp_SetColourMapping, Wimp_SpriteOp, OS SWI Calls, Software Vector Numbers, Service_SwitchingOutputToSprite

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys