Return info on the currently active device driver.

=> | no parameters

<= | R0 = | pointer to null-terminated driver name
| R1 = | pointer to null-terminated description
| R2 = | pointer to null-terminated version string
| R3 = | current frame rate being used for output
| R4 = | driver operating mode

An error is returned if no driver is present otherwise textual information on the driver is returned in the areas pointed to by R0-R2. These point directly into the driver's information area so must not be modified. Returned pointers could be NULL (0) if the driver does not provide the information in question.

R3 is the frame rate at which samples are sent to the sound system. R4 contains the format of data it receives from PlayIt and the flags which define how the driver is operating:

bit 0 | set if output is stereo, clear if mono
bits 1-7 | sample format code:
|  | 0 | 8-bit signed linear
|  | 1 | 8-bit unsigned linear
|  | 2 | reserved for A-law (not implemented)
|  | 3 | reserved for µ-law (not implemented)
|  | 4 | VIDC
|  | 8 | 16-bit signed linear little endian
|  | 9 | 16-bit unsigned linear little endian
|  | 10 | 16-bit signed linear big endian
|  | 11 | 16-bit unsigned linear big endian
bit 16 | set if volume is handled by driver, clear if by PlayIt
bit 17 | set if balance is handled by driver, clear if by PlayIt
bit 18 | set if driver is using FM mode, clear if it isn't
bit 19 | set if VU is handled by driver, clear if by PlayIt
Note that bits 0-8 do may not reflect the capabilities of the driver but rather the format of samples delivered to it by PlayIt. It is possible that bit 0 could indicate stereo but the driver mixes the channels internally and outputs to a mono device.

[ Parent ] [ Manual root ]