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

OS_SpriteOp

OS SWI Calls
» 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.

When using a sprite name, the string can be terminated with a space or control character (i.e. any character <= 32). Sprite name matching is case-insensitive, and only the first 12 bytes of the supplied name will be examined.

This SWI is indirected via SpriteV.

Reason Codes

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

1 Requires SpriteExtend module to be loaded.

2 Not available via Wimp_SpriteOp

3 Originally these calls were implemented directly in the kernel, but as of RISC OS 3.5 they require SpriteExtend to be loaded.

See also

  • Format Of Sprite
  • Format Of Sprite Area
  • SpriteV
  • Colour Mapping Descriptor
  • SpriteExtend
Revised on November 12, 2017 23:57:19 by Alan Robertson (52) (49.192.18.196)
Edit | Back in time (9 revisions) | See changes | History | Views: Print | Source | Linked from: WindowManager Colour, Wimp_BaseOfSprites, Wimp_SetColourMapping, ColourTrans, OS SWI Calls, Software Vector Numbers, OS_SpriteOp 26, OS_SpriteOp 49, Service_SwitchingOutputToSprite, OS_SpriteOp 36, SpriteExtend SWI Calls, SpriteExtend, OS_SpriteOp 43, OS_SpriteOp 44, OS_SpriteOp 34, Colour Mapping Descriptor, OS_SpriteOp 12, OS_SpriteOp 10, OS_SpriteOp 11, OS_SpriteOp 38, OS_SpriteOp 50, OS_SpriteOp Scale Factors, OS_SpriteOp 30, OS_SpriteOp 41, OS_SpriteOp Scaled/Transformed Plot Flags, OS_SpriteOp 29, OS_SpriteOp 24, OS_SpriteOp 42, OS_SpriteOp 56, OS_SpriteOp 48, OS_SpriteOp 9, OS_SpriteOp 17, OS_SpriteOp 8, OS_SpriteOp 25, OS_SpriteOp 27, OS_SpriteOp 28, OS_SpriteOp 40, OS_SpriteOp 54, Wimp_SetColour, Wimp_SpriteOp, OS_SpriteOp 2, OS_SpriteOp 52, OS_SpriteOp 37, OS_SpriteOp 33, OS_SpriteOp 35, Wimp_SpriteOp 36, OS_SpriteOp 58, OS_SpriteOp 60, OS_SpriteOp 61, OS_SpriteOp 15, OS_SpriteOp 3, OS_SpriteOp 16, OS_SpriteOp 62, SpriteV, OS_SpriteOp 13, OS_SpriteOp 14, OS_SpriteOp 31, OS_SpriteOp 32, OS_SpriteOp 45, OS_SpriteOp 46, OS_SpriteOp 47, OS_SpriteOp 55, OS_SpriteOp 57, OS_SpriteOp 65, File formats: SpriteFile, Error Generators, OS SWI Calls (français), OS_SpriteOp 51, OS_SpriteOp 53

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 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