qdosmsq:pe:vectors:sspr

PV_SSPR - Vector $0C

This vector sets or gets system sprites.

Call ParametersReturn Parameters
D0.LError return.
D1.WSprite numberD1.LSprite information.
A1.LPointer to sprite/0A1.LPreserved/Pointer to sprite.
A3.LPointer to linkage blockA3.LPreserved.
CodeError
ERR_NFNot found.
ERR_BPBad parameter.
  • All registers not mentioned above are not used and are preserved.
  • If D1.W is negative (-1 is suggested), then, on return, D1 msw contains the maximum possible number of system sprites which can be held in the sprite table and D1 lsw contains the highest current number of system sprites. In this case A1 should be 0 on entry.
  • If D1.W is not negative, then:
    • If A1 = 0, on return A1.L contains a pointer to the number of sprite given in D1.W. If the address returned is 0, this means that someone has fiddled illegally with the sprite table!
    • If A1 is not 0 then it contains the address of a sprite which will become the sprite whose number is in D1.W. It is the responsibility of the programmer to see that this sprite is in a safe place and will not just disappear.
AddressContents
-2Maximum number of sprites possible.
0Current number of sprites in the table.
2+Long word pointers to the actual sprites.

Currently there are 38 system sprites as shown here.

NumberDescription
0 Arrow
1Padlock
2Empty Window
3Wrong Mode
4Keyboard Entry
5No Entry
6Move (pointer)
7Resize (pointer)
8Move (sprite)
9Resize(sprite)
10Sleep
11Wake
12F1
13F2
14F3
15F4
16F5
17F6
18F7
19F8
20F9
21F10
22F11
23F12
24CF1
25CF2
26CF3
27CF4
28CF5
29CF6
30CF7
31CF8
32CF9
33CF10
34CF11
35CF12
36Static Cursor
37Flashing Cursor
  • qdosmsq/pe/vectors/sspr.txt
  • Last modified: 2011/10/31 11:22
  • by george.gwilt