The following routines for sound programming are available on the Falcon030:
| buffoper | Sets record/playback mode. |
| buffptr | Gets record/playback mode. |
| devconnect | Connects audio subsystem components. |
| dsptristate | Coordinates external DSP hardware. |
| gpio | Communication via the external DSP port. |
| locksnd | Locks sound system for other applications. |
| setbuffer | Sets record/playback buffer addresses. |
| setinterrupt | Sets interrupt at the end of recording/playback. |
| setmode | Selects record/playback mode. |
| setmontracks | Sets playback track for internal loudspeaker. |
| settracks | Sets number of record and playback tracks. |
| sndstatus | Gets status of the A/D and D/A converter. |
| soundcmd | Sets/gets the parameters of the A/D and D/A converter. |
| StarTrack | XBIOS extension for the StarTrack card. |
| unlocksnd | Frees sound system for other applications. |
| WavePlay | Replays a sample. |
Note: The availability of these routines on other computer systems can be ascertained via the McSn-Cookie or the _SND cookie.
| Name: | »buffoper« - Set or read record/playback mode | ||||||||||||
| Opcode: | 136 | ||||||||||||
| Syntax: | int32_t buffoper( int16_t mode ); | ||||||||||||
| Description: | The XBIOS routine buffoper sets or reads the record and
playback mode of the harware sound system. If the value -1 is passed for mode, then the current setting will be established. Otherwise mode is coded as follows:
Set bits switch an operation on, cleared bits off. | ||||||||||||
| Return value: | If successfull the function returns the value 0. If -1 was
passed for mode, the return will show the current state of the
sound system, whose coding corresponds to the parameter mode. | ||||||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||||||
| Group: | Sound routines | ||||||||||||
| See also: | Binding buffptr devconnect dsptristate gpio locksnd
setbuffer setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t buffoper( int16_t mode ); |
| Assembler: | move.w mode,-(sp) ; Offset 2 move.w #136,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »buffptr« - Get current record/playback mode |
| Opcode: | 141 |
| Syntax: | int32_t buffptr( int32_t *ptr ); |
| Description: | The XBIOS routine buffptr ascertains the current playback
and record positions in the corresponding buffers. ptr points to a buffer at least 4 longwords in size. The position pointers will be stored in that. The first int32_t of the buffer contains a pointer to the current playback position and the second int32_t a pointer to the current record position. |
| Return value: | If successful the function returns the value 0, or non-zero
otherwise. |
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). |
| Group: | Sound routines |
| See also: | Binding buffoper devconnect dsptristate gpio locksnd
setbuffer setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t buffptr( int32_t *ptr ); |
| Assembler: | pea ptr ; Offset 2 move.w #141,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »devconnect« - Connect audio subsystem components | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Opcode: | 139 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Syntax: | int32_t devconnect( int16_t src, int16_t dst, int16_t srcclk,
int16_t prescale, int16_t protocol ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description: | The XBIOS routine devconnect connects a source component in
the audio subsystem to one or more destination components using the
connection matrix.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Return value: | The function returns the value 0 if the operation was
successfull, or non-zero otherwise. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Group: | Sound routines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| See also: | Binding buffoper buffptr dsptristate gpio locksnd
setbuffer setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t devconnect( int16_t src, int16_t dst, int16_t srcclk, int16_t prescale, int16_t protocol ); |
| Assembler: | move.w protocol,-(sp) ; Offset 10 move.w prescale,-(sp) ; Offset 8 move.w srcclk,-(sp) ; Offset 6 move.w dst,-(sp) ; Offset 4 move.w src,-(sp) ; Offset 2 move.w #139,-(sp) ; Offset 0 trap #14 ; Call XBIOS lea $C(sp),sp ; Correct stack |
| Name: | »dsptristate« - Coordinate external DSP hardware | ||||||
| Opcode: | 137 | ||||||
| Syntax: | int32_t dsptristate( int16_t dspxmit, int16_t dsprec ); | ||||||
| Description: | The XBIOS routine dsptristate uncouples connections from the
multiplexer connection matrix when external hardware is connected to
the SSI port of the DSP.
| ||||||
| Return value: | The function returns the value 0 if the operation was
successfull, or non-zero otherwise. | ||||||
| Availability: | The function is only available on computers of the Falcon
series. | ||||||
| Group: | Sound routines | ||||||
| See also: | Binding buffoper buffptr devconnect gpio locksnd
setbuffer setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t dsptristate( int16_t dspxmit, int16_t dsprec ); |
| Assembler: | move.w dsprec,-(sp) ; Offset 4 move.w dspxmit,-(sp) ; Offset 2 move.w #137,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »gpio« - Communication via the external DSP port | ||||||||
| Opcode: | 138 | ||||||||
| Syntax: | int32_t gpio( int16_t mode, int16_t data ); | ||||||||
| Description: | The XBIOS routine gpio serves for communication via the
general purpose pins of the external DSP connector.
| ||||||||
| Return value: | If successful, the function returns the value 0. If the
parameter data had the value 1, one obtains the state of the
general purpose pins. | ||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding buffoper buffptr devconnect dsptristate
locksnd setbuffer setinterrupt setmontracks setmode
settracks sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t gpio( int16_t mode, int16_t data ); |
| Assembler: | move.w data,-(sp) ; Offset 4 move.w mode,-(sp) ; Offset 2 move.w #138,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »locksnd« - Lock sound system for other applications |
| Opcode: | 128 |
| Syntax: | int32_t locksnd( void ); |
| Description: | The XBIOS routine locksnd locks the sound system to prevent
it being used by other applications at the same time. |
| Return value: | If successful, the function returns the value 1. If the sound
system is already assigned then a negative value will be returned. |
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). |
| Group: | Sound routines |
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
setbuffer setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t locksnd( void ); |
| Assembler: | move.w #128,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #2,sp ; Correct stack |
| Name: | »setbuffer« - Set record/playback buffer addresses |
| Opcode: | 131 |
| Syntax: | int32_t setbuffer( int16_t reg, void *begaddr, void *endaddr
); |
| Description: | The XBIOS routine setbuffer sets the buffer address for the
playback (reg = 0) or record data (reg = 1). The
parameter begaddr points to the start of the buffer and
endaddr to the last byte + 1 of the buffer. Note: The memory has to be reserved with the Gemdos function Mxalloc(size, 0). |
| Return value: | DIf successful the function returns the value 0, or non-zero
otherwise. |
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). |
| Group: | Sound routines |
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setinterrupt setmontracks setmode settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t setbuffer( int16_t reg, void *begaddr, void *endaddr ); |
| Assembler: | pea endaddr ; Offset 8 pea begaddr ; Offset 4 move.w reg,-(sp) ; Offset 2 move.w #131,-(sp) ; Offset 0 trap #14 ; Call XBIOS lea $C(sp),sp ; Correct stack |
| Name: | »setinterrupt« - Set interrupt at the end of
recording/playback | ||||||||||||||||||||
| Opcode: | 135 | ||||||||||||||||||||
| Syntax: | int32_t setinterrupt( int16_t src_inter, int16_t cause ); | ||||||||||||||||||||
| Description: | The XBIOS routine setinterrupt determines which interrupt is
to be generated by the sound system when the end of a recording or
playback buffer is reached.
| ||||||||||||||||||||
| Return value: | If successful the function returns the value 0, or non-zero
otherwise. | ||||||||||||||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||||||||||||||
| Group: | Sound routines | ||||||||||||||||||||
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setbuffer setmontracks setmode settracks sndstatus
soundcmd unlocksnd |
| C: | #include <tos.h> int32_t setinterrupt( int16_t src_inter, int16_t cause ); |
| Assembler: | move.w cause,-(sp) ; Offset 4 move.w src_inter,-(sp) ; Offset 2 move.w #135,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »setmode« - Select record/playback mode | ||||||||
| Opcode: | 132 | ||||||||
| Syntax: | int32_t setmode( int16_t mode ); | ||||||||
| Description: | The XBIOS routine setmode sets the mode of operation of the
record and playback registers.
If bit 5 of the '_SND' cookie is set, there may be further modes available that set playback and record modes separately in the low and high byte of mode. If the value of -1 is passed for mode, then the current setting will be returned without change. 0x0003 16 Bit mono playback 0x0004 24 Bit stereo playback 0x0005 32 Bit stereo playback 0x0006 24 Bit mono playback 0x0007 32 Bit mono playback 0x0000 16 Bit stereo record 0x0100 8 Bit stereo record 0x0200 8 Bit mono record 0x0300 16 Bit mono record 0x0400 24 Bit stereo record 0x0500 32 Bit stereo record 0x0600 24 Bit mono record 0x0700 32 Bit mono record | ||||||||
| Return value: | If successful the function returns the value 0, or non-zero
otherwise. | ||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setbuffer setinterrupt setmontracks settracks
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t setmode( int16_t mode ); |
| Assembler: | move.w mode,-(sp) ; Offset 2 move.w #132,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »setmontracks« - Set playback track for internal
loudspeaker |
| Opcode: | 134 |
| Syntax: | int32_t setmontracks( int16_t montrack ); |
| Description: | The XBIOS routine setmontracks specifies which track should
be output via the internal loudspeaker. This can only play back one
track at a time. montrack determines one of the four available tracks to monitor, which are numbered from 0 to 3. |
| Return value: | If successful the function returns the value 0, or non-zero
otherwise. |
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). |
| Group: | Sound routines |
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setbuffer setinterrupt setmode settracks sndstatus
soundcmd unlocksnd |
| C: | #include <tos.h> int32_t setmontracks( int16_t montrack ); |
| Assembler: | move.w montrack,-(sp) ; Offset 2 move.w #134,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »settracks« - Set number of record and playback
tracks |
| Opcode: | 133 |
| Syntax: | int32_t settracks( int16_t playtracks, int16_t rectracks ); |
| Description: | The XBIOS routine settracks sets the number of the recording
(rectracks) and playback tracks (playtracks). A
maximum of 4 stereo tracks is available at a time. The value -1 is
passed as the argument! |
| Return value: | If successful the function returns the value 0, or non-zero
otherwise. |
| Availability: | The function is only available on computers of the Falcon
series. |
| Group: | Sound routines |
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setbuffer setinterrupt setmontracks setmode
sndstatus soundcmd unlocksnd |
| C: | #include <tos.h> int32_t settracks( int16_t playtracks, int16_t rectracks ); |
| Assembler: | move.w rectracks,-(sp) ; Offset 4 move.w playtracks,-(sp) ; Offset 2 move.w #133,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »sndstatus« - Get status of the A/D and D/A
converter | ||||||||||||
| Opcode: | 140 | ||||||||||||
| Syntax: | int32_t sndstatus( int16_t reset ); | ||||||||||||
| Description: | The XBIOS routine sndstatus obtains the current status of
the A/D and D/A converter. It can also reinitialize it. If reset has the value 1, the A/D and D/A converter will be reinitialized (among others, the overflow bits will be cleared). Otherwise the current status will be obtained. If bit 5 in the '_SND' cookie is set, some other status queries are available: reset Function
return value
2 Inquire bit-depth
Bit 0 set: 8Bit
Bit 1 set: 16Bit
Bit 2 set: 24Bit
Bit 3 set: 32Bit
3 Inquire available inputs for MasterMix output
Bit 0 set: A/D converter (ADC-InMix bypass)
Bit 1 set: D/A converter (DAC/Multiplexer)
Bit 2 set: Mic
Bit 3 set: FM generator
Bit 4 set: Line
Bit 5 set: CD
Bit 6 set: TV
Bit 7 set: Aux1
4 Inquire available inputs for A/D converter
Bit 0 set: Mic right
Bit 1 set: Mic left
Bit 2 set: FM generator right
Bit 3 set: FM generator left
Bit 4 set: Line right
Bit 5 set: Line left
Bit 6 set: CD right
Bit 7 set: CD left
Bit 8 set: TV right
Bit 9 set: TV left
Bit 10 set: Aux1 right
Bit 11 set: Aux1 left
Bit 12 set: Mixer right (MasterMix)
Bit 13 set: Mixer left (MasterMix)
Bit 16 set: D/A converter rechts
Bit 17 set: D/A converter left
5 Inquire duplex operation
Bit 0 set: Simultaneous record/playback
possible
8 Inquire 8-bit sample formats
9 Inquire 16-bit sample formats
10 Inquire 24-bit sample formats
11 Inquire 32-bit sample formats
Bit 0 set: Signed
Bit 1 set: Unsigned
Bit 2 set: Motorola big-endian if > 8-bit
Bit 3 set: Intel little-endian of > 8-bit
0x8900 Inquire value of Falcon030 registers 0xff8900
and 0xff8901
%0000 xxxx 00xx 00xx
|||| || ||
|||| || ||>Playback enable
|||| || |>Playback repeat
|||| ||>Record enable
|||| |>Record repeat
||||>MFP-15 Int. at Playback end
|||>MFP-15 Int. at Record end
||>Timer A Int. at Playback end
|>Timer A Int. at Record end
0x8902 Inquire value of Falcon030 registers 0xff8902,
0xff8904 and 0xff8906
ret = Frame Base Address
0x890e Inquire value of Falcon030 registers 0xff890e,
0xff8910 and 0xff8912
ret = Frame End Address
0x8920 Inquire value of Falcon030 registers 0xff8920
and 0xff8921
%00xx 00xx xx00 00xx
|| || || ||
|| || || ||>00 = 6258 Hz
|| || || ||>01 = 12517 Hz
|| || || ||>10 = 25033 Hz
|| || || ||>11 = 50066 Hz
|| || ||>00 = 8-bit stereo
|| || ||>01 = 16-bit stereo
|| || ||>10 = 8-bit mono
|| || ||>11 = 16-bit mono
|| ||>Play tracks
||>Monitor track
| ||||||||||||
| Return value: | If no error occurs, the return will have the value 0.
Otherwise the return represents a LONG bit-vector array showing the
current error status of the sound system, which can be decoded as
follows:
| ||||||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||||||
| Group: | Sound routines | ||||||||||||
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
locksnd setbuffer setinterrupt setmontracks setmode
settracks soundcmd unlocksnd |
| C: | #include <tos.h> int32_t sndstatus( int16_t reset ); |
| Assembler: | move.w reset,-(sp) ; Offset 2 move.w #140,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »soundcmd« - Set/get the parameters of the A/D and
D/A converter | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Opcode: | 130 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Syntax: | int32_t soundcmd( int16_t mode, int16_t data );
int32_t NSoundcmd( int16_t mode, int16_t data, int32_t data2); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description: | The XBIOS routine soundcmd sets or obtains various
parameters of the A/D and D/A converter. The parameter mode
determines the command and data the setting to be performed.
Additional mode commands when bit 5 in the '_SND' cookie is set:
If the parameter data is passed the value -1, then the setting remains unchanged. NSoundcmd is an extended version of soundcmd. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Return value: | The function returns the current setting. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Availability: | The function is only available on computers of the Falcon
series, or with extended XBIOS routines (_SND). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Group: | Sound routines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| See also: | Binding buffoper buffptr devconnect dsptristate gpio
setbuffer setinterrupt setmontracks setmode settracks
sndstatus unlocksnd locksnd |
| C: | #include <tos.h> int32_t soundcmd( int16_t mode, int16_t data ); int32_t NSoundcmd( int16_t mode, int16_t data, int32_t data2); |
| Assembler: | move.w data,-(sp) ; Offset 4 move.w mode,-(sp) ; Offset 2 move.w #130,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »StarTrack« - XBIOS extension of the StarTrack
card | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Opcode: | 500 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Syntax: | See the individual subfunctions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description: | New XBIOS calls for the StarTrack sound card. All functions go via the XBIOS call 500 (xbs=500) and then split into the various subfunctions.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Return value: | See the individual subfunctions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Availability: | The function is only available on computers with the
corresponding cards and their drivers. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Group: | Sound routines |
| Name: | »installed« - Cookie XBIOS |
| Opcode: | 500, 1 |
| Syntax: | int32_t xbios ( 500, 1 ); |
| Description: | |
| Return value: | If the value is 0x71273800, then the XBIOS driver is
installed. |
| Availability: | This function is only available when the driver of the
StarTrack sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 1 ); |
| Assembler: | move.w #1,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »cardslot« - |
| Opcode: | 500, 10 |
| Syntax: | int32_t xbios ( 500, 10 ); |
| Description: | |
| Return value: | Number of installed sound cards (1-8). |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 10 ); |
| Assembler: | move.w #10,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »cardsel« - Select sound card |
| Opcode: | 500, 11 |
| Syntax: | int32_t xbios ( 500, 11, int16_t csel ); |
| Description: | csel selected sound card (1-8). Important: All further function calls refer to the sound card selected here! |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 11, int16_t csel ); |
| Assembler: | move.w csel,-(sp) ; Offset 4 move.w #11,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »cardmagic« - Read sound card magic | ||||||||||||
| Opcode: | 500, 12 | ||||||||||||
| Syntax: | int32_t xbios ( 500, 12); | ||||||||||||
| Description: | |||||||||||||
| Return value: |
| ||||||||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||||||||
| Group: | Sound routines | ||||||||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 12); |
| Assembler: | move.w #12,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »cardadr« - Sound card addresses | ||||||||
| Opcode: | 500, 13 | ||||||||
| Syntax: | int32_t xbios ( 500, 13 ); | ||||||||
| Description: | |||||||||
| Return value: | Points to the start address showing where the various sound
card addresses are stored (see also register description):
| ||||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 13 ); |
| Assembler: | move.w #13,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »digana« - Digital/Analog input |
| Opcode: | 500, 20 |
| Syntax: | int32_t xbios ( 500, 20, int16_t input ); |
| Description: | input: Select the input
0 - Digital input 1 - Analog input |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 20, int16_t input ); |
| Assembler: | move.w input,-(sp) ; Offset 4 move.w #20,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »digcom« - Digitalquelle |
| Opcode: | 500, 21 |
| Syntax: | int32_t xbios ( 500, 21, int16_t dq ); |
| Description: | dq: Select the digital source
0 - opto (TOSLINK) 1 - Cinch (phono socket) 2 - XLR (AES/EBU) |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 21, int16_t dq ); |
| Assembler: | move.w dq,-(sp) ; Offset 4 move.w #21,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »dspmode« - Dsp routing No/Input/Output |
| Opcode: | 500, 22 |
| Syntax: | int32_t xbios ( 500, 22, int16_t dspmode ); |
| Description: | dspmode: Selection of the DSP output path
0 - dspoff - DSP output not in signal path 1 - dsp_to_rec - DSP output in record signal path 2 - dsp_to_play - DSP output in playback signal path |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 22, int16_t dspmode ); |
| Assembler: | move.w playstat,-(sp) ; Offset 4 move.w #22,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »sclock« - Sample rate |
| Opcode: | 500, 23 |
| Syntax: | int32_t xbios ( 500, 23, int16_t srate ); |
| Description: | srate: Selection of the DSP output clock
0 - digital_pll - Use clock input at digital input 1 - 32kHz 2 - 44.1kHz 3 - 48kHz 4 - 8kHz 5 - 11kHz 6 - 16kHz 7 - 16.5kHz 8 - 22kHz 9 - 22kHz 10 - 24kHz 11 - 33kHz 12 - Ext/768 13 - Ext/512 14 - Ext/384 15 - Ext/256 |
| Return value: | 0 - kein Fehler |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 23, int16_t srate ); |
| Assembler: | move.w srate,-(sp) ; Offset 4 move.w #23,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »highsrate« - High sampling |
| Opcode: | 500, 24 |
| Syntax: | int32_t xbios ( 500, 24, int16_t hs ); |
| Description: | hs: High sampling with 96kHz
0 - No high sampling 1 - Select high sampling |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 24, int16_t hs ); |
| Assembler: | move.w hs,-(sp) ; Offset 4 move.w #24,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »bypass« - Bypass/sample playback |
| Opcode: | 500, 25 |
| Syntax: | int32_t xbios ( 500, 25, int16_t bypass ); |
| Description: | bypass: Output source
0 - Bypass - Outputs are connected to the input 1 - Play - Outputs obtain their data from the playback hardware |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 25, int16_t bypass ); |
| Assembler: | move.w bypass,-(sp) ; Offset 4 move.w #25,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »recmode« - Recording mode |
| Opcode: | 500, 26 |
| Syntax: | int32_t xbios ( 500, 26, int16_t mrec ); |
| Description: | mrec: Recording type
0 - Normal - 2-channel recording in 64-bit mode 1 - Four - 4-channel recording in 64-bit mode via A/D and digital-in 2 - Eight - 8-channel recording in 128-bit mode |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 26, int16_t mrec ); |
| Assembler: | move.w mrec,-(sp) ; Offset 4 move.w #26,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »playmode« - Playback mode |
| Opcode: | 500, 27 |
| Syntax: | int32_t xbios ( 500, 27, int16_t mplay ); |
| Description: | mplay: Playback type
0 - Normal - 2-channel playback in 64-bit mode 1 - Four - 4-channel playback in 64-bit mode via D/A and digital-out 2 - Eight - 8-channel playback in 128-bit mode 3 - Sixteen - 16-channel playback in 128-bit mode |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 27, int16_t mplay ); |
| Assembler: | move.w mplay,-(sp) ; Offset 4 move.w #27,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »mode24« - Matrix data size (16/24-bit) |
| Opcode: | 500, 28 |
| Syntax: | int32_t xbios ( 500, 28, int16_t mode24 ); |
| Description: | mode24: Matrix data type
0 - Normal - 16-bit data transfer 1 - Extended - 24-bit data transfer |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 28, int16_t mode24 ); |
| Assembler: | move.w mode24,-(sp) ; Offset 4 move.w #28,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #8,sp ; Correct stack |
| Name: | »digmode« - Digital output consumer/professional |
| Opcode: | 500, 30 |
| Syntax: | int32_t xbios ( 500, 30, int16_t digmode ); |
| Description: | digmode: Select the SP/DIF output format
0 - consumer - Output in consumer format (HIFI-devices) 1 - professional - Output in professional format (studio equipment) |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 30, int16_t digmode ); |
| Assembler: | move.w digmode,-(sp) ; Offset 4 move.w #30,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »scmsmode« - Clear SCMS |
| Opcode: | 500, 31 |
| Syntax: | int32_t xbios ( 500, 31, int16_t scmsmode ); |
| Description: | scmsmode: Copy protection
0 - Bypass - Route digital input data unchanged to the output 1 - Clear - Completely remove SCMS copy protection |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 31, int16_t scmsmode ); |
| Assembler: | move.w scmsmode,-(sp) ; Offset 4 move.w #31,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »mycopybit« - Own SCMS copy protection No/One/All |
| Opcode: | 500, 32 |
| Syntax: | int32_t xbios ( 500, 32, int16_t myscms ); |
| Description: | myscms: Copy protection for digit output in playback
0 - No - No copying possible 1 - One - One-time copying possible 2 - All - No copy protection, free copying possible |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 32, int16_t myscms ); |
| Assembler: | move.w myscms,-(sp) ; Offset 4 move.w #32,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »emphasis« - De-emphasis |
| Opcode: | 500, 33 |
| Syntax: | int32_t xbios ( 500, 33, int16_t emph ); |
| Description: | emph: De-emphasis (top cut), works on digital output
(in playback mode) and analog output
0 - Normal - No top cut 1 - De-emphasis - Top cut |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 33, int16_t emph ); |
| Assembler: | move.w emph,-(sp) ; Offset 4 move.w #33,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »digsrate« - Sample rate recognition from digital
input |
| Opcode: | 500, 40 |
| Syntax: | int32_t xbios ( 500, 40 ); |
| Description: | |
| Return value: | 0 -> Invalid
1 -> 32kHz 2 -> 44.1kHz 3 -> 48kHz |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 40 ); |
| Assembler: | move.w #40,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »digcode« - Digital input record-type code | ||||||||
| Opcode: | 500, 41 | ||||||||
| Syntax: | int32_t xbios ( 500, 41 ); | ||||||||
| Description: | |||||||||
| Return value: |
| ||||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 41 ); |
| Assembler: | move.w #41,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »errorcode« - Digital input error code |
| Opcode: | 500, 42 |
| Syntax: | int32_t xbios ( 500, 42 ); |
| Description: | |
| Return value: | 0 -> No error
1 -> Validity bit high 2 -> Confidence flag 3 -> Slipped sample 4 -> CRC-error 5 -> Parity error 6 -> Biphase coding error 7 -> No lock |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 42 ); |
| Assembler: | move.w #42,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »cblmode« - Reset matrix to CBL mode |
| Opcode: | 500, 43 |
| Syntax: | int32_t xbios ( 500, 43, int16_t cblmode ); |
| Description: | cblmode: Channel status-block read mode
0 - normal - No cbl mode, matrix transports sound data 1 - cblread - Cbl mode, matrix transports status bits from digital input |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 43, int16_t cblmode ); |
| Assembler: | move.w cblmode,-(sp) ; Offset 4 move.w #43,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »cblread« - Read out the channel status bytes |
| Opcode: | 500, 44 |
| Syntax: | int32_t xbios ( 500, 44 ); |
| Description: | |
| Return value: | Points to the start address where the 24 status bytes are
stored: int8_t cbl0 : Channel status byte 0 : Bit 7 -> Channel status bit 0 int8_t cbl0 : Channel status byte 0 : Bit 6 -> Channel status bit 1 int8_t cbl0 : Channel status byte 0 : Bit 5 -> Channel status bit 2 int8_t cbl0 : Channel status byte 0 : Bit 4 -> Channel status bit 3 int8_t cbl0 : Channel status byte 0 : Bit 3 -> Channel status bit 4 int8_t cbl0 : Channel status byte 0 : Bit 2 -> Channel status bit 5 int8_t cbl0 : Channel status byte 0 : Bit 1 -> Channel status bit 6 int8_t cbl0 : Channel status byte 0 : Bit 0 -> Channel status bit 7 ... int8_t cbl23 : Channel status byte 23 |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 44 ); |
| Assembler: | move.w #44,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »recstat« - Recfifo status | ||||||
| Opcode: | 500, 45 | ||||||
| Syntax: | int32_t xbios ( 500, 45 ); | ||||||
| Description: | |||||||
| Return value: |
| ||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||
| Group: | Sound routines | ||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 45 ); |
| Assembler: | move.w #45,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »playstat« - Playfifo status | ||||||
| Opcode: | 500, 46 | ||||||
| Syntax: | int32_t xbios ( 500, 46 ); | ||||||
| Description: | |||||||
| Return value: |
| ||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||
| Group: | Sound routines | ||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 46 ); |
| Assembler: | move.w #46,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »volad« - Volume controller for input | ||||||||
| Opcode: | 500, 50 | ||||||||
| Syntax: | int32_t xbios ( 500, 50, int16_t lvol, int16_t rvol ); | ||||||||
| Description: | lvol: Volume of left channel in 0.5db steps (0-255)
rvol: Volume of right channel in 0.5db steps (0-255) The volume controller can operate in the region of -96dB to +32dB:
| ||||||||
| Return value: | 0 - No error | ||||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 50, int16_t lvol, int16_t rvol ); |
| Assembler: | move.w rvol,-(sp) ; Offset 6 move.w lvol,-(sp) ; Offset 4 move.w #50,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #8,sp ; Correct stack |
| Name: | »volda« - Volume controller for output | ||||||||
| Opcode: | 500, 51 | ||||||||
| Syntax: | int32_t xbios ( 500, 51, int16_t lvol, int16_t rvol ); | ||||||||
| Description: | lvol: Volume of left channel in 0.5db steps (0-255)
rvol: Volume of right channel in 0.5db steps (0-255) The volume controller can operate in the region of -96dB to +31.5dB:
| ||||||||
| Return value: | 0 - No error | ||||||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||||||
| Group: | Sound routines | ||||||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 51, int16_t lvol, int16_t rvol ); |
| Assembler: | move.w rvol,-(sp) ; Offset 6 move.w lvol,-(sp) ; Offset 4 move.w #51,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #8,sp ; Correct stack |
| Name: | »readsmp« - Read a sample |
| Opcode: | 500, 52 |
| Syntax: | int32_t xbios ( 500, 52 ); |
| Description: | |
| Return value: | Address return value, -1 = Error
int16_t 0 left int16_t 2 right |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 52 ); |
| Assembler: | move.w #52,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »writesmp« - Write a sample |
| Opcode: | 500, 53 |
| Syntax: | int32_t xbios ( 500, 53, int16_t links, int16_t rechts ); |
| Description: | links : Sample value left
rechts: Sample value right |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See Also: | Binding |
| C: | int32_t xbios ( 500, 53, int16_t links, int16_t rechts ); |
| Assembler: | move.w rechts,-(sp) ; Offset 6 move.w links,-(sp) ; Offset 4 move.w #53,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #8,sp ; Correct stack |
| Name: | »intact« - Interrupt release for FIFO | ||||
| Opcode: | 500, 54 | ||||
| Syntax: | int32_t xbios ( 500, 54, int16_t int ); | ||||
| Description: | int:
| ||||
| Return value: | 0 - No error | ||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||
| Group: | Sound routines | ||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 54, int16_t int ); |
| Assembler: | move.w int,-(sp) ; Offset 4 move.w #54,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »dspintact« - Interrupt release for DSP | ||||
| Opcode: | 500, 55 | ||||
| Syntax: | int32_t xbios ( 500, 55, int16_t dint ); | ||||
| Description: | dint:
| ||||
| Return value: | 0 - No error | ||||
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. | ||||
| Group: | Sound routines | ||||
| See also: | Binding |
| C: | int32_t xbios ( 500, 55, int16_t dint ); |
| Assembler: | move.w dint,-(sp) ; Offset 4 move.w #55,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #6,sp ; Correct stack |
| Name: | »sysreset« - Clear record FIFO |
| Opcode: | 500, 60 |
| Syntax: | int32_t xbios ( 500, 60 ); |
| Description: | Clear record FIFO, offset equalisation & kickstart for
D/A, reset for A/D, D/A, volume controller, digital SP/DIF chips |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 60 ); |
| Assembler: | move.w #60,-(sp) ; Offset 2 move.w #500,-(sp) ; Offset 0 trap #14 ; Call XBIOS addq.l #4,sp ; Correct stack |
| Name: | »dspreset« - Reset for DSP |
| Opcode: | 500, 61 |
| Syntax: | int32_t xbios ( 500, 61 ); |
| Description: | Resets the DSP |
| Return value: | 0 - No error |
| Availability: | This function is only available when the driver of the StarTrack
sound card has been launched. |
| Group: | Sound routines |
| See also: | Binding |
| C: | int32_t xbios ( 500, 61 ); |
| Assembler: | move.w #61,-(sp) ; Offset 2 mo |