Showing changes from revision #9 to #10:
Added | Removed | Changed
Entry | |
---|---|
R0 | Reason code |
All other registers dependent on reason code |
Exit | |
---|---|
R0 | Preserved |
All other registers dependent on reason code |
The purpose of this call is to call the vector UpCallV, to warn of particular conditions.
The action performed depends on the reason code value in R0.
This SWI calls the vector UpCallV. To use UpCalls, you must either claim the vector and install a routine on it, or install an UpCall handler.
They are called UpCalls because they are calls that RISC OS makes up to an application, rather than calls that an application makes down to RISC OS. They generally occur in the foreground, and are hence different to Events, which occur in the background.
Routines that handle UpCalls must only call the error-returning SWI calls. That is SWI calls that have their X bit set. i.e. either add the value &20000 to the SWI number, or add the letter ‘X’ in front of the SWI name.
If a routine installed on the vector deals with the situation, it should intercept the call to the vector, as there is no longer any point informing any other routines or the UpCall handler of the situation. If it can’t deal with the situation, it must pass the call on, as another one may be able to do so.
# | Hex # | Action |
---|---|---|
1 | &01 | Media not present |
2 | &02 | Media not known |
3 | &03 | Miscellaneous file changed information |
4 | &04 | Media search end |
5 | &05 | Password? |
6 | &06 | Taskwindow sleep |
7 | &07 | PipeFS sleep no more |
8 | &08 | Buffer filling |
9 | &09 | Buffer emptying |
10 | &0A | DeviceFS stream created |
11 | &0B | DeviceFS stream closed |
12 | &0C | Freeway |
13 | &0D | Media Set-Top Box online? |
14 | &0E | Media Set-Top Box standby? |
15 | &0F | Device receive data present |
16 | &10 | Device threshold above |
17 | &11 | Device threshold below |
18 | &12 | Progress UI? |
19 | &13 | Media search end with message |
20 | &14 | Keyboard status change? |
21 | &15 | MPEG? |
22 | &16 | PMonitor? |
23 | &17 | PDumper action? |
24 | &18 | Drive added |
25 | &19 | Drive removed |
26 | &1A | Certificate confirm? |
27 | &1B | Certificate confirm end? |
256 | &100 | New application |
257 | &101 | Move memory request |