Entry | |
---|---|
R0 | Reason code |
All other registers dependent on reason code |
Exit | |
---|---|
Dependent on reason code |
This SWI is used to detect the presence of and control various features of the 16 bit sound system.
This SWI was first introduced with RISC OS 3.5. However SoundDMA never raises an error for unknown SWIs – it simply returns with all registers preserved. Therefore care must be taken when attempting to use this SWI. The recommended behaviour is to first call this SWI with R0=0 to check if the 16 bit sound system is available. If it returns with R0=1 then 16 bit sound is available and the other reason codes should be functional. If it returns with R0=0 then either the SWI was not recognised or 16 bit sound is unavailable. But in both cases this indicates that the other reason codes are unavailable and should not be used.
Also note that calling with an unknown or unsupported reason code will not generate an error. However on a system without 16 bit sound, R0 and R1 may be corrupted.
# | |
---|---|
0 | Read presence of 16 bit sound system |
1 | Oversampling control |
2 | Set external sound clock handler (unimplemented) |
3 | Mono output control |
Other reason codes: reserved |