HomeXBIOSSchnittstellenprogrammierungSpezialbefehle

4.17 Soundroutinen

Auf dem Falcon stehen die folgenden Routinen zur Soundprogrammierung zur Verfügung:

buffoper Aufnahme-/Wiedergabemodus setzen.
buffptr Aufnahme-/Wiedergabeposition ermitteln.
devconnect Audio-Subsystem-Komponenten verbinden.
dsptristate Externe DSP-Hardware koordinieren.
gpio Über externe DSP-Buchse kommunizieren.
locksnd Soundsystem für andere Anwendungen sperren.
setbuffer Aufnahme-/Wiedergabepuffer setzen.
setinterrupt Interrupt am Ende einer Aufnahme/Wiedergabe festlegen.
setmode Aufnahme-/Wiedergabemodus wählen.
setmontracks Wiedergabespur für internen Lautsprecher festlegen.
settracks Spurenanzahl festlegen.
sndstatus Status des A/D- und D/A-Wandlers ermitteln.
soundcmd Parameter des A/D- und D/A-Wandlers setzen/ermitteln.
StarTrack XBIOS-Erweiterumg der StarTrack-Karte.
unlocksnd Soundsystem für andere Anwendungen freigeben.
WavePlay Abspielen eines Samples.

Hinweis: Die Verfügbarkeit dieser Routinen auf anderen Rechnersystemen kann über den McSn-Cookie oder den _SND-Cookie ermittelt werden.

4.17.1 buffoper

Name: »buffoper« - Setzen des Aufnahme bzw. Wiedergabemodus
Xbiosnummer: 136
Deklaration: int32_t buffoper( int16_t mode );
Beschreibung: Die XBIOS-Routine buffoper legt den Aufnahme- und Wiedergabemodus fest.

Wird für mode der Wert -1 übergeben, wird die aktuelle Einstellung ermittelt. Sonst wird mode wie folgt kodiert:

Bit Operation
0 Wiedergabe
1 Wiedergabewiederholung
2 Aufnahme
1 Aufnahmewiederholung


Gesetzte Bits schalten eine Operation ein, gelöschte Bits aus.
Ergebnis: Im Erfolgsfall liefert die Funktion den Wert 0. Wurde für mode -1 übergeben, erhält man die aktuelle Einstellung, deren Kodierung der des Parameters mode entspricht.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.1.1 Bindings für buffoper

C: #include

int32_t buffoper( int16_t mode );
Assembler:
move.w    mode,-(sp)   ; Offset 2
move.w    #136,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.2 buffptr

Name: »buffptr« - Ermitteln der Aufnahme bzw. Wiedergabeposition
Xbiosnummer: 141
Deklaration: int32_t buffptr( int32_t *ptr );
Beschreibung: Die XBIOS-Routine buffptr ermittelt die aktuelle Wiedergabe- und Aufnahmepositionen in den entsprechenden Puffern.

ptr zeigt auf einen mindestens 4 Langworte großen Puffer. In diesen werden die Positionszeiger angelegt. Der erste int32_t des Puffer enthält einen Zeiger auf die aktuelle Wiedergabeposition und der zweite int32_t einen Zeiger auf die aktuelle Aufnahmeposition.
Ergebnis: Im Erfolgsfall liefert die Funktion den Wert 0.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.2.1 Bindings für buffptr

C: #include

int32_t buffptr( int32_t *ptr );
Assembler:
pea       ptr          ; Offset 2
move.w    #141,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.3 devconnect

Name: »devconnect« - Verbinden der Audiosubsystem-Komponenten
Xbiosnummer: 139
Deklaration: int32_t devconnect( int16_t src, int16_t dst, int16_t srcclk, int16_t prescale, int16_t protocol );
Beschreibung: Die XBIOS-Routine devconnect verbindet Komponenten des Audio-Subsystems.

Parameter Bedeutung
src Quellkomponente:
  0 DMA-Ausgabe
  1 DSP-Ausgabe
  2 Externer Eingabekanal
  3 A/D-Wandler - Mikrophon
   
dst Bitvektor der Zielkomponenten:
  Bit 0 DMA-Eingabe
  Bit 1 DSP-Eingabe
  Bit 2 Externer Ausgabekanal
  Bit 3 D/A-Wandler - Lautsprecher
   
srcclk Takt für die Quellkomponente:
  0 Interner 25,175 MHz Takt
  1 Externer Takt
     Für MilanBlaster ist Externer Takt
     24,576 MHz wenn gpio(1, 0) & 0x1l == 1l und
     22,5792 MHz wenn gpio(1, 0) & 0x1l == 0l
     ist!
  2 Interner 32 MHz Takt
   
prescale Taktvorteiler. Die Sample-Rate ergibt
  sich aus dem Takt geteilt durch 256
  und geteilt durch Vorteiler + 1. Die
  Werte für den Vorteiler rangieren
  von 0 bis 11.
  Wird für den Vorteiler 0 übergeben,
  wird in den STE-Kompatibilitätsmodus
  geschaltet.
   
protocol Wird 0 übergeben, findet eine Über-
  tragung mit Handshaking statt, bei
  1 erfolgt kein Handshaking.
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.3.1 Bindings für devconnect

C: #include

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             ; XBIOS aufrufen
lea       $C(sp),sp       ; Stack korrigieren

4.17.4 dsptristate

Name: »dsptristate« - Externe DSP Hardware koordinieren
Xbiosnummer: 137
Deklaration: int32_t dsptristate( int16_t dspxmit, int16_t dsprec );
Beschreibung: Die XBIOS-Routine dsptristate koppelt Leitungen vom Multiplexer ab, wenn externe Hardware am SSI-Port des DSP angeschlossen wird.
Parameter Bedeutung
dspxmit Der Wert 0 koppelt den Multiplexer von der entsprechenden Leitung ab, 1 erlaubt die Verbindung
dsprec Der Wert 0 koppelt den Multiplexer von der entsprechenden Leitung ab, 1 erlaubt die Verbindung
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar.
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.4.1 Bindings für dsptristate

C: #include

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            ; XBIOS aufrufen
addq.l    #6,sp          ; Stack korrigieren

4.17.5 gpio

Name: »gpio« - Kommunikation über externe DSP-Buchse
Xbiosnummer: 138
Deklaration: int32_t gpio( int16_t mode, int16_t data );
Beschreibung: Die XBIOS-Routine gpio dient der Kommunikation über die externen DSP-Buchse.
mode Bedeutung
0 Setzen der Ein-/Ausgaberichtung. Die unteren drei Bits von data repräsentieren die Mehrzweckleitungen. Ein gesetztes Bit steht für eine Ausgabe- und ein gelöschtes für eine Eingabeleitung.
1 Lesen der Mehrzweckleitungen. Den Status der Leitungen erhält man als Funktionsresultat.
2 Schreiben auf den Mehrzweckleitungen Der Parameter data enthält den neuen Status der Mehrzweckleitungen.
Ergebnis: Im Erfolgsfall liefert die Funktion den Wert 0. Hatte der Parameter mode den Wert 1, so erhält man den Status der Mehrzweckleitungen.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.5.1 Bindings für gpio

C: #include

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.6 locksnd

Name: »locksnd« - Soundsystem für andere Anwendungen sperren
Xbiosnummer: 128
Deklaration: int32_t locksnd( void );
Beschreibung: Die XBIOS-Routine locksnd sperrt das Soundsystem für andere Anwendungen.
Ergebnis: Die Funktion liefert im positiven Fall den Wert 1 zurück. Ist das Soundsystem bereits vergeben, so wird ein negativer Wert zurückgeliefert.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.6.1 Bindings für locksnd

C: #include

int32_t locksnd( void );
Assembler:
move.w    #128,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.17.7 setbuffer

Name: »setbuffer« - Setzen des Aufnahme und Wiedergabepuffers
Xbiosnummer: 131
Deklaration: int32_t setbuffer( int16_t reg, void *begaddr, void *endaddr );
Beschreibung: Die XBIOS-Routine setbuffer setzt den Puffer für die Wiedergabe- (reg = 0) bzw. Aufnahmedaten (reg = 1). Der Parameter begaddr zeigt auf den Anfang des Puffers und endaddr auf das letzte Byte + 1 des Puffers.

Hinweis: Der Speicher muß mit der Gemdos Funktion Mxalloc(size, 0) angefordert werden.
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.7.1 Bindings für setbuffer

C: #include

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          ; XBIOS aufrufen
lea       $C(sp),sp    ; Stack korrigieren

4.17.8 setinterrupt

Name: »setinterrupt« - Interrupt am Ende einer Aufnahme bzw. einer Wiedergabe festlegen
Xbiosnummer: 135
Deklaration: int32_t setinterrupt( int16_t src_inter, int16_t cause );
Beschreibung: Die XBIOS-Routine setinterrupt bestimmt, welcher Interrupt nach dem Aufnehmen bzw. Abspielen ausgelöst werden soll.
src_inter Bedeutung
   
0 Timer-A-Interrupt
1 MFP-Interrupt 7
cause Bedeutung
   
0 Kein Interrupt
1 Interrupt nach dem Abspielen
2 Interrupt nach dem Aufnehmen
3 Interrupt nach Aufnehmen und Abspielen
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setmontracks   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.8.1 Bindings für setinterrupt

C: #include

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              ; XBIOS aufrufen
addq.l    #6,sp            ; Stack korrigieren

4.17.9 setmode

Name: »setmode« - Modus für Aufnahme bzw. Wiedergabe wählen
Xbiosnummer: 132
Deklaration: int32_t setmode( int16_t mode );
Beschreibung: Die XBIOS-Routine setmode gibt die Art des Aufnahme- und Wiedergabemodus an:

mode Bedeutung
0  8 Bit Stereo
1 16 Bit Stereo
2  8 Bit Mono


Ist Bit 5 im '_SND' Cookie gesetzt stehen evtl. noch weitere modi zur Verfügung, die getrennt in low und high byte von mode den Wiedergabe und Aufnahme modus einstellen. Wird für mode der Wert -1 übergeben, wird die aktuelle Einstellung ohne Änderung zurückgegeben.

0x0003 16 Bit Mono Wiedergabe
0x0004 24 Bit Stereo Wiedergabe
0x0005 32 Bit Stereo Wiedergabe
0x0006 24 Bit Mono Wiedergabe
0x0007 32 Bit Mono Wiedergabe


0x0000 16 Bit Stereo Aufnahme
0x0100  8 Bit Stereo Aufnahme
0x0200  8 Bit Mono Aufnahme
0x0300 16 Bit Mono Aufnahme
0x0400 24 Bit Stereo Aufnahme
0x0500 32 Bit Stereo Aufnahme
0x0600 24 Bit Mono Aufnahme
0x0700 32 Bit Mono Aufnahme
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   settracks   sndstatus   soundcmd   unlocksnd

4.17.9.1 Bindings für setmode

C: #include

int32_t setmode( int16_t mode );
Assembler:
move.w    mode,-(sp)   ; Offset 2
move.w    #132,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.10 setmontracks

Name: »setmontracks« - Wiedergabespur für internen Lautsprecher festlegen
Xbiosnummer: 134
Deklaration: int32_t setmontracks( int16_t montrack );
Beschreibung: Die XBIOS-Routine setmontracks legt fest, daß die Ausgabe einer bestimmten Spur über den internen Lautsprecher erfolgen soll. Dieser kann jeweils nur eine Spur wiedergeben.

montrack bestimmt eine der vier möglichen Spuren. Diese sind von 0 bis 3 durchnumeriert.
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmode   settracks   sndstatus   soundcmd   unlocksnd

4.17.10.1 Bindings für setmontracks

C: #include

int32_t setmontracks( int16_t montrack );
Assembler:
move.w    montrack,-(sp)  ; Offset 2
move.w    #134,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #4,sp           ; Stack korrigieren

4.17.11 settracks

Name: »settracks« - Anzahl der Spuren festlegen
Xbiosnummer: 133
Deklaration: int32_t settracks( int16_t playtracks, int16_t rectracks );
Beschreibung: Die XBIOS-Routine settracks setzt die Anzahl der Aufnahme- (rectracks) und Wiedergabespuren (playtracks). Es stehen maximal je 4 Spuren zur Verfügung. Als Argument wird die Anzahl - 1 übergeben!
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar.
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   sndstatus   soundcmd   unlocksnd

4.17.11.1 Bindings für settracks

C: #include

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               ; XBIOS aufrufen
addq.l    #6,sp             ; Stack korrigieren

4.17.12 sndstatus

Name: »sndstatus« - Status des A/D und D/A Wandlers ermitteln
Xbiosnummer: 140
Deklaration: int32_t sndstatus( int16_t reset );
Beschreibung: Die XBIOS-Routine sndstatus ermittelt den aktuellen Status des A/D- und D/A-Wandlers. Sie kann diesen ebenfalls neu initialisieren.

Hat reset den Wert 1 wird der A/D- und D/A-Wandler neu initialisiert (unteranderem werden die Überlaufbits gelöscht). Andernfalls wird der aktuelle Status ermittelt.

Ist Bit 5 im '_SND' Cookie gesetzt stehen noch weitere Statusabfragen zur Verfügung.
reset  Funktion
        return

 2     Bittiefen abfragen.
        Bit  0 gesetzt: 8Bit
        Bit  1 gesetzt: 16Bit
        Bit  2 gesetzt: 24Bit
        Bit  3 gesetzt: 32Bit

 3     Für MasterMix-Ausgang vorhandene Eingänge erfragen.
        Bit  0 gesetzt: A/D-Wandler (ADC-InMix bypass)
        Bit  1 gesetzt: D/A-Wandler (DAC/Multiplexer)
        Bit  2 gesetzt: Mic
        Bit  3 gesetzt: FM-Generator
        Bit  4 gesetzt: Line
        Bit  5 gesetzt: CD
        Bit  6 gesetzt: TV
        Bit  7 gesetzt: Aux1

 4     Für A/D-Wandler vorhandene Eingänge erfragen.
        Bit  0 gesetzt: Mic rechts
        Bit  1 gesetzt: Mic links
        Bit  2 gesetzt: FM-Generator rechts
        Bit  3 gesetzt: FM-Generator links
        Bit  4 gesetzt: Line rechts
        Bit  5 gesetzt: Line links
        Bit  6 gesetzt: CD rechts
        Bit  7 gesetzt: CD links
        Bit  8 gesetzt: TV rechts
        Bit  9 gesetzt: TV links
        Bit 10 gesetzt: Aux1 rechts
        Bit 11 gesetzt: Aux1 links
        Bit 12 gesetzt: Mixer rechts (MasterMix)
        Bit 13 gesetzt: Mixer links (MasterMix)

        Bit 16 gesetzt: D/A-Wandler rechts
        Bit 17 gesetzt: D/A-Wandler links

 5     Duplexbetrieb erfragen.
        Bit  0 gesetzt: Aufnahme/Wiedergabe gleichzeitig
                        möglich

 8     8 Bit Sampleformate erfragen
 9     16 Bit Sampleformate erfragen
10     24 Bit Sampleformate erfragen
11     32 Bit Sampleformate erfragen
        Bit  0 gesetzt: signed
        Bit  1 gesetzt: unsigned
        Bit  2 gesetzt: Motorola bigendian wenn > 8Bit
        Bit  3 gesetzt: Intel littleendian wenn > 8Bit

0x8900 Wert der Falcon 030 Registers 0xff8900 und 0xff8901
       abfragen.
        %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 Wert der Falcon 030 Registers 0xff8902, 0xff8904
       und 0xff8906 abfragen.
        ret = Frame Base Address

0x890e Wert der Falcon 030 Registers 0xff890e, 0xff8910
       und 0xff8912 abfragen.
        ret = Frame End Address

0x8920 Wert der Falcon 030 Registers 0xff8920 und
       0xff8921 abfragen.
        %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
Ergebnis: Liegt kein Fehler vor erhält man als Ergebnis den Wert Null. Ansonsten stellt das Resultat einen Bitvektor dar, der sich wie folgt entschlüsselt:

Bits Bedeutung
0-3 1  Ungültiges Kontrollfeld
   2  Ungültiges Syncformat
   3  Ungültiger Takt
4 Linker Überlauf
5 Rechter Überlauf
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   locksnd   setbuffer   setinterrupt   setmontracks   setmode   settracks   soundcmd   unlocksnd

4.17.12.1 Bindings für sndstatus

C: #include

int32_t sndstatus( int16_t reset );
Assembler:
move.w    reset,-(sp)  ; Offset 2
move.w    #140,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.13 soundcmd

Name: »soundcmd« - Parameter des A/D und D/A-Wandlers setzen bzw. ermitteln
Xbiosnummer: 130
Deklaration: int32_t soundcmd( int16_t mode, int16_t data );
int32_t NSoundcmd( int16_t mode, int16_t data, int32_t data2);
Beschreibung: Die XBIOS-Routine soundcmd setzt bzw. ermittelt die Parameter des A/D- und D/A-Wandlers. Der Parameter mode bestimmt das Kommando und data die vorzunehmende Einstellung.
mode Bedeutung
0 Abschwächung des linken Ausgabekanals um 1,5 Db Einheiten:
data = Einheiten << 4;
1 Abschwächung des rechten Ausgabekanals um 1,5 Db Einheiten:
data = Einheiten << 4;
2 Verstärkung des linken Eingabekanals um 1,5 Db Einheiten:
data = Einheiten << 4;
3 Verstärkung des rechten Eingabekanals um 1,5 Db Einheiten:
data = Einheiten << 4;
4 Eingabequellen des 16-Bit-Hardwareaddierers. Bit 0 von data repräsentiert den A/D-Wandler und Bit 1 den Multiplexer

Ist Bit 5 im _SND Cookie gesetzt stehen noch weitere (Master) Eingänge zur Verfügung. Die Eingänge werden eingeschaltet sowie das entsprechende Bit auf 1 gesetzt und Bit 14 in data gesetzt ist.


Bit 2 von data repräsentiert den Mikrofon Eingang.
Bit 3 von data repräsentiert den FM-Generator.
      (FrequenzModulator, OPLx/Wavetable)
Bit 4 von data repräsentiert den Line Eingang.
Bit 5 von data repräsentiert den CD Eingang.
Bit 6 von data repräsentiert den TV Eingang.
Bit 7 von data repräsentiert den Aux1 Eingang.
5 Eingabequellen des A/D-Wandlers. Bit 0 steht für den rechten und Bit 1 für den linken Kanal. Ist ein Bit gesetzt, wird werden die Daten dem Soundchip entnommen, sonst dem Mikrophon.

Ist Bit 5 im '_SND' Cookie gesetzt stehen evtl. noch weitere (A/D-Wandler) Eingänge zur Verfügung. Die Eingänge werden eingeschaltet sowie das entsprechende Bit auf 0 gesetzt und Bit 14 von data auf 1 gesetzt ist.

Bit  2 ist der rechte FM-Generator
Bit  3 ist der linke FM-Generator
Bit  4 ist der rechte Line Eingang
Bit  5 ist der linke Line Eingang
Bit  6 ist der rechte CD Eingang
Bit  7 ist der linke CD Eingang
Bit  8 ist der rechte TV Eingang
Bit  9 ist der linke TV Eingang
Bit 10 ist der rechte Aux1 Eingang
Bit 11 ist der linke Aux1 Eingang
Bit 12 ist der rechte Mixer Ausgang
Bit 13 ist der linke Mixer Ausgang


Ist Bit 14 von data auf 1 gesetzt, werden weitere Eingänge des A/D-Wandlers in data2 erwartet.

Bit 16 ist der rechte D/A-Wandler Ausgang.
Bit 17 ist der linke D/A-Wandler Ausgang.
6 Kompatibilität zum STE-Soundsystem. data wird als Vorteiler genommen, falls der mittels devconnect eingestellte Vorteiler gleich Null ist:

0 Vorteiler ist 1280 (6.25 MHz)
1 Vorteiler ist 640 (12.5 MHz)
2 Vorteiler ist 320 (25 MHz)
3 Vorteiler ist 160 (50 MHz)


Zusätzliche mode Kommandos wenn Bit 5 im '_SND' Cookie gesetzt ist.
 7 Direkteingabe der Samplefrequenz. data wird als unsigned short interpretiert und kann dann einen Wertebereich von 0 bis 65534 Hz. einnehmen.
Ist auch vorhanden, wenn der Cookie McSn gesetzt ist.
 8 Setzen des 8Bit Sampleformat
 9 Setzen des 16Bit Sampleformat
10 Setzen des 24Bit Sampleformat
11 Setzen des 32Bit Sampleformat

Folgende Bits stehen zZ. zur Verfügung:
Bit 0 = signed
Bit 1 = unsigned
Bit 2 = Motorola bigendian wenn > 8Bit
Bit 3 = Intel littleendian wenn > 8Bit
12 Verstärkung des linken Master Ausgabekanals.
data = 0 - 255;
13 Verstärkung des rechten Master Ausgabekanals.
data = 0 - 255;
14 Verstärkung des linken Mic Eingabekanals.
data = 0 - 255;
15 Verstärkung des rechten Mic Eingabekanals.
data = 0 - 255;
16 Verstärkung des linken FM-Generator Eingabekanals.
data = 0 - 255;
17 Verstärkung des rechten FM-Generator Eingabekanals.
data = 0 - 255;
18 Verstärkung des linken Line Eingabekanals.
data = 0 - 255;
19 Verstärkung des rechten Line Eingabekanals.
data = 0 - 255;
20 Verstärkung des linken CD Eingabekanals.
data = 0 - 255;
21 Verstärkung des rechten CD Eingabekanals.
data = 0 - 255;
22 Verstärkung des linken TV Eingabekanals.
data = 0 - 255;
23 Verstärkung des rechten TV Eingabekanals.
data = 0 - 255;
24 Verstärkung des linken Aux1 Eingabekanals.
data = 0 - 255;
25 Verstärkung des rechten Aux1 Eingabekanals.
data = 0 - 255;


Wird für den Parameter data der Wert -1 übergeben, so bleibt die Einstellung unverändert.

NSoundcmd ist eine erweiterte Version von soundcmd
Ergebnis: Die Funktion liefert die aktuelle Einstellung zurück.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   unlocksnd   locksnd

4.17.13.1 Bindings für soundcmd

C: #include

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.14 StarTrack

Name: »StarTrack« - XBIOS-Erweiterung der StarTrack-Karte
Xbiosnummer: 500
Binding: Bei den einzelnen Unterfunktionen.
Beschreibung: neue XBIOS-Aufrufe für die Startrack-Soundkarte

Alle Funktionen gehen über XBIOS-Aufruf 500 (xbs=500) und teilen sich dann in die verschiedenen Unterfunktionsaufrufe auf.
play-mode: vergleichbar mit DMA-play beim Falcon
rec-mode: vergleichbar mit DMA-rec beim Falcon
bypass-mode: die Ausgänge sind mit den Eingängen verbunden.
  1 installed Cookie XBIOS-Treiber
 10 cardslot
 11 cardsel Soundkarte auswählen
 12 cardmagic Soundkarten-magic auslesen
13 cardadr Soundkarten-Adressen
20 digana Digital/Analogeingang
21 digcom Digitalquelle
22 dspmode DSP routing No/Input/Output
23 sclock Samplerate
24 highsrate High sampling
25 bypass Bypass/sample playback
26 recmode Aufnahme-Modus
27 playmode Wiedergabe-Modus
28 mode24 Matrix-Datengröße (16/24Bit)
30 digmode digitaloutput consumer/professional
31 scmsmode Clear SCMS
32 mycopybit eigener SCMS-Kopierschutz no/one/all
33 emphasis De-emphasis
40 digsrate Samplerate-erkennung vom digitalinput
41 digcode Digitalinput-Aufnahmeart-Code
42 errorcode Digitalinput-Fehlercode
43 cblmode Matrix auf CBL-Mode umstellen
44 cblread Auslesen der Channel Status-Bytes
45 recstat recfifo-status
46 playstat playfifo-status
50 volad Volume-controller für input
51 volda Volume-controller für output
52 readsmp Sample lesen
53 writesmp Sample schreiben
54 intact interrupt-freigabe für FIFO
55 dspintact interrupt-freigabe für DSP
60 sysreset record-FIFO löschen, Offset-Abgleich & Kickstart für D/A Reset für A/D, D/A,Volume-Controller, Digital SP/DIF-Chips
61 dspreset Reset für DSP
70 dspmemory DSP-Memorymodus
71 clkdivide DSP-Taktteiler
72 pathset DSP-Verbindungen
73 dsp_hostcommand DSP-Hostkommando starten
74 dspclear liest DSP-Empfangsbuffer aus
100 mix mixt 2,4,6 oder 8 Stereokanäle (=4,8,12 oder 16 Tracks) zu einem Stereokanal zusammen
101 dspmix mixt bzw. verzahnt Stereokanäle (4,8 oder 16 Tracks) zu Falcon-kompatiblen 128Bit-Wörtern
110 monitor record & play-bypass
111 recwait Warten auf autorecord-schwellwert
112 memrec memory-record ohne Interrupt
113 memplay memory-play ohne Interrupt
114 recplay memory record&play ohne Interrupt
115 hardrec HD-record ohne Interrupt
116 hardplay HD-play ohne Interrupt
117 hrecplay HD record&play ohne Interrupt
120 init_peak peakwert-ausgabe im Interrupt
121 init_imemrec memory-record im Interrupt
122 init_imemplay memory-play im Interrupt
123 init_implaymix memory-play & record-mix im Interrupt
124 init_hrec HD-record im Interrupt
125 init_hplay HD-play im Interrupt
126 init_ihplaymix HD-play & record-mix im Interrupt
130 init_mrecpeak memory-rec & peakausgabe im Interrupt
131 init_mplaypeak memory-play & peakausgabe im Interrupt
132 init_mrppeak memory play & record-mix & peakausgabe im Interrupt
133 init_hrecpeak HD-rec & peakausgabe im Interrupt
134 init_hplaypeak HD-play & peakausgabe im Interrupt
135 init_hrppeak HD play & record-mix & peakausgabe im Interrupt
140 init_xmemrec memory-record im HalfBuffer-System
141 init_xmemplay memory-play im HalfBuffer-System
142 init_xmixplay memory-play & mischen mit record im HalfBuffer-System
143 init_xmemrec4 memory-record im HalfBuffer-System von 4 Kanälen (analog/digital)
144 init_xmemplay4 memory-play im HalfBuffer-System von 4 Kanälen (analog/digital)
150 peakshake Peakwert-Handshake (=neuen Wert generieren)
200 read_rlow low-register lesen
201 read_rhi high-register lesen
202 read_rdsp dsp-register lesen
203 read_raes aes-register lesen
204 read_rint interrupt-register lesen
210 wr_rlow low-register schreiben
211 wr_rhi high-register schreiben
212 wr_rdsp dsp-register schreiben
213 wr_raes aes-register schreiben
214 wr_rint interrupt-register schreiben
220 read_dpath1 dsp dpath1-register lesen
221 read_dpath2 dsp dpath2-register lesen
222 read_dport dsp dport-register lesen
223 read_dconv dsp dconv-register lesen
224 read_dpdat dsp dpdat-register lesen
225 read_dclk dsp dclk-register lesen
230 wr_dpath1 dsp dpath1-register schreiben
231 wr_dpath2 dsp dpath2-register schreiben
232 wr_dport dsp dport-register schreiben
233 wr_dconv dsp dconv-register schreiben
234 wr_dpdat dsp dpdat-register schreiben
235 wr_dclk dsp dclk-register schreiben
300 fastcut Speicherbereich löschen im samplemem
301 peaksuch peakwert-suche im samplemem
302 zerono nullstellen-suche im samplemem
303 fading sample-fading im samplemem
Ergebnis: Bei den einzelnen Unterfunktionen.
Verfügbar: Die Funktion ist nur auf Computern mit der entsprechenden Karten und deren Treiber verfügbar.
Gruppe: Soundroutinen

4.17.15 installed

Name: »installed« - Cookie XBIOS-Treiber
Xbiosnummer: 500, 1
Deklaration: int32_t xbios ( 500, 1 );
Beschreibung:
Ergebnis: Ist der Wert 0x71273800, dann ist der XBIOS-Treiber installiert.
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.15.1 Bindings für installed

C: int32_t xbios ( 500, 1 );
Assembler:
move.w    #1,-(sp)     ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.16 cardslot

Name: »cardslot« -
Xbiosnummer: 500, 10
Deklaration: int32_t xbios ( 500, 10 );
Beschreibung:
Ergebnis: Anzahl der installierten Soundkarten (1-8)
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.16.1 Bindings für cardslot

C: int32_t xbios ( 500, 10 );
Assembler:
move.w    #10,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.17 cardsel

Name: »cardsel« - Soundkarte auswählen
Xbiosnummer: 500, 11
Deklaration: int32_t xbios ( 500, 11, int16_t csel );
Beschreibung: csel ausgewählte Soundkarte (1-8)

Wichtig:
Alle weiteren Funktionsaufrufe beziehen sich auf die hier selektierte Soundkarte!
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.17.1 Bindings für cardsel

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.18 cardmagic

Name: »cardmagic« - Soundkarten-magic auslesen
Xbiosnummer: 500, 12
Deklaration: int32_t xbios ( 500, 12);
Beschreibung:
Ergebnis:
bit 0 = 1 zweiter Volume-Controller für Ausgang vorhanden
bit 1 = 1 XLR-Erweiterung vorhanden
bit 2 = 1 digitale Schnittstellen (SP/DIF) vorhanden
bit 3 = 1 96kHz-Highsampling möglich
bit 4 = 1 A/D und D/A-Wandler vorhanden
bit 5 = 1 DSP56002 vorhanden
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.18.1 Bindings für cardmagic

C: int32_t xbios ( 500, 12);
Assembler:
move.w    #12,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.19 cardadr

Name: »cardadr« - Soundkarten-Adressen
Xbiosnummer: 500, 13
Deklaration: int32_t xbios ( 500, 13 );
Beschreibung:
Ergebnis: zeigt auf eine Adresse ab der verschiedene Soundkarten-Adressen abgelegt sind (siehe auch Register-Beschreibung):
int32_t sample Adresse Sample lesen/schreiben
int32_t recstat Adresse recordfifo-status
int32_t playstat Adresse playfifo-status
int32_t dsp Adresse dsp-Host
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.19.1 Bindings für cardadr

C: int32_t xbios ( 500, 13 );
Assembler:
move.w    #13,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.20 digana

Name: »digana« - Digital/Analogeingang
Xbiosnummer: 500, 20
Deklaration: int32_t xbios ( 500, 20, int16_t input );
Beschreibung: input: Wahl des Eingangs
0 - digitalinput
1 - analoginput
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.20.1 Bindings für digana

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.21 digcom

Name: »digcom« - Digitalquelle
Xbiosnummer: 500, 21
Deklaration: int32_t xbios ( 500, 21, int16_t dq );
Beschreibung: dq: Wahl der Digitalquelle
0 - opto (TOSLINK)
1 - cinch
2 - XLR (AES/EBU)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.21.1 Bindings für digcom

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.22 dspmode

Name: »dspmode« - dsprouting no/input/output
Xbiosnummer: 500, 22
Deklaration: int32_t xbios ( 500, 22, int16_t dspmode );
Beschreibung: dspmode: Wahl der Einbindung des DSP-output
0 - dspoff - DSP-output nicht im Signalweg
1 - dsp_to_rec - DSP-output im record-Signalweg
2 - dsp_to_play - DSP-output im play-Signalweg
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.22.1 Bindings für dspmode

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            ; XBIOS aufrufen
addq.l    #6,sp          ; Stack korrigieren

4.17.23 sclock

Name: »sclock« - Samplerate
Xbiosnummer: 500, 23
Deklaration: int32_t xbios ( 500, 23, int16_t srate );
Beschreibung: srate: Wahl der Einbindung des DSP-output
0 - digital_pll - input-clock am Digitaleingang benutzen
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
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.23.1 Bindings für sclock

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.24 highsrate

Name: »highsrate« - highsampling
Xbiosnummer: 500, 24
Deklaration: int32_t xbios ( 500, 24, int16_t hs );
Beschreibung: hs: high-sampling mit 96kHz
0 - kein highsampling
1 - highsampling wählen
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.24.1 Bindings für highsrate

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.25 bypass

Name: »bypass« - bypass/sampleplay
Xbiosnummer: 500, 25
Deklaration: int32_t xbios ( 500, 25, int16_t bypass );
Beschreibung: bypass: Ausgangsquelle
0 - bypass - Ausgänge sind mit dem Eingang verbunden
1 - play - Ausgänge erhalten ihre Daten von der play-hardware
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.25.1 Bindings für bypass

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.26 recmode

Name: »recmode« - Aufnahme-Modus
Xbiosnummer: 500, 26
Deklaration: int32_t xbios ( 500, 26, int16_t mrec );
Beschreibung: mrec: Aufnahmeart
0 - normal - 2 Kanal-Aufnahme im 64Bit-Mode
1 - four - 4 Kanal-Aufnahme im 64Bit-Mode über A/D und Digital-In
2 - eight - 8 Kanal-Aufnhame im 128Bit-Mode
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.26.1 Bindings für recmode

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.27 playmode

Name: »playmode« - Wiedergabe-Modus
Xbiosnummer: 500, 27
Deklaration: int32_t xbios ( 500, 27, int16_t mplay );
Beschreibung: mplay: Wiedergabeart
0 - normal - 2 Kanal-Wiedergabe im 64Bit-Mode
1 - four - 4 Kanal-Wiedergabe im 64Bit-Mode über D/A und Digital-Out
2 - eight - 8 Kanal-Wiedergabe im 128Bit-Mode
3 - sixteen - 16 Kanal-Wiedergabe im 128Bit-Mode
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.27.1 Bindings für playmode

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.28 mode24

Name: »mode24« - Matrix-Datengröße (16/24Bit)
Xbiosnummer: 500, 28
Deklaration: int32_t xbios ( 500, 28, int16_t mode24 );
Beschreibung: mode24: Matrix-Datenart
0 - normal - 16Bit-Datenübertragung
1 - extended - 24Bit-Datenübertragung
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.28.1 Bindings für mode24

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          ; XBIOS aufrufen
addq.l    #8,sp        ; Stack korrigieren

4.17.29 digmode

Name: »digmode« - digitaloutput consumer/professional
Xbiosnummer: 500, 30
Deklaration: int32_t xbios ( 500, 30, int16_t digmode );
Beschreibung: digmode: Wahl des SP/DIF-Outputformat
0 - consumer - Ausgabe im Consumer-Format (HIFI-Geräte)
1 - professional - Ausgabe im Professional-Format (Studiogeräte)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.29.1 Bindings für digmode

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           ; XBIOS aufrufen
addq.l    #6,sp         ; Stack korrigieren

4.17.30 scmsmode

Name: »scmsmode« - clear SCMS
Xbiosnummer: 500, 31
Deklaration: int32_t xbios ( 500, 31, int16_t scmsmode );
Beschreibung: scmsmode: Kopierschutz
0 - bypass - digitale Eingangsdaten unverändert zum Ausgang leiten
1 - clear - SCMS-Kopierschutz vollständig entfernen
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.30.1 Bindings für scmsmode

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            ; XBIOS aufrufen
addq.l    #6,sp          ; Stack korrigieren

4.17.31 mycopybit

Name: »mycopybit« - eigener SCMS-Kopierschutz no/one/all
Xbiosnummer: 500, 32
Deklaration: int32_t xbios ( 500, 32, int16_t myscms );
Beschreibung: myscms: Kopierschutz für digitalausgang im play-mode (für Eigenaufnahmen)
0 - no - kein kopieren möglich
1 - one - einmal kopieren möglich
2 - all - kein Kopierschutz, freies kopieren möglich
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.31.1 Bindings für mycopybit

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.32 emphasis

Name: »emphasis« - de-emphasis
Xbiosnummer: 500, 33
Deklaration: int32_t xbios ( 500, 33, int16_t emph );
Beschreibung: emph: De-Emphasis(Höhenabsenkung), wirkt auf Digitalausgang (im play-mode) und Analogausgang
0 - normal - keine Höhenabsenkung
1 - de-emphasis - Höhenabsenkung
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.32.1 Bindings für emphasis

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.33 digsrate

Name: »digsrate« - samplerate-erkennung vom digitalinput
Xbiosnummer: 500, 40
Deklaration: int32_t xbios ( 500, 40 );
Beschreibung:
Ergebnis: 0 -> ungültig
1 -> 32kHz
2 -> 44.1kHz
3 -> 48kHz
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.33.1 Bindings für digsrate

C: int32_t xbios ( 500, 40 );
Assembler:
move.w    #40,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.34 digcode

Name: »digcode« - Digitalinput-Aufnahmeart-Code
Xbiosnummer: 500, 41
Deklaration: int32_t xbios ( 500, 41 );
Beschreibung:
Ergebnis:
bit 0 0 = professional
1 = consumer
bit 1 0 = data
1 = audio
bit 2 0 = no copy-prohibit = SCMS not active
1 = copy prohibit=SCMS active
bit 3 0 = no emphasis
1 = emphasis active
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.34.1 Bindings für digcode

C: int32_t xbios ( 500, 41 );
Assembler:
move.w    #41,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.35 errorcode

Name: »errorcode« - Digitalinput-Fehlercode
Xbiosnummer: 500, 42
Deklaration: int32_t xbios ( 500, 42 );
Beschreibung:
Ergebnis: 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


Siehe dazu auch das CS8412-Manual von Crystal
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.35.1 Bindings für errorcode

C: int32_t xbios ( 500, 42 );
Assembler:
move.w    #42,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.36 cblmode

Name: »cblmode« - Matrix auf CBL-Mode umstellen
Xbiosnummer: 500, 43
Deklaration: int32_t xbios ( 500, 43, int16_t cblmode );
Beschreibung: cblmode: Channel Status-Block Readmodus
0 - normal - kein cbl-modus, Matrix transportiert sounddaten
1 - cblread - cbl-modus, Matrix transportiert statutbits vom digital-input
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.36.1 Bindings für cblmode

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           ; XBIOS aufrufen
addq.l    #6,sp         ; Stack korrigieren

4.17.37 cblread

Name: »cblread« - Auslesen der Channel Status-Bytes
Xbiosnummer: 500, 44
Deklaration: int32_t xbios ( 500, 44 );
Beschreibung:
Ergebnis: zeigt auf eine Adresse ab der die 24 Statusbytes abgelegt sind:

int8_t cbl0 : Channel Statusbyte 0 : Bit 7 -> Channel-Statusbit 0
int8_t cbl0 : Channel Statusbyte 0 : Bit 6 -> Channel-Statusbit 1
int8_t cbl0 : Channel Statusbyte 0 : Bit 5 -> Channel-Statusbit 2
int8_t cbl0 : Channel Statusbyte 0 : Bit 4 -> Channel-Statusbit 3
int8_t cbl0 : Channel Statusbyte 0 : Bit 3 -> Channel-Statusbit 4
int8_t cbl0 : Channel Statusbyte 0 : Bit 2 -> Channel-Statusbit 5
int8_t cbl0 : Channel Statusbyte 0 : Bit 1 -> Channel-Statusbit 6
int8_t cbl0 : Channel Statusbyte 0 : Bit 0 -> Channel-Statusbit 7
... int8_t cbl23 : Channel Statusbyte 23
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.37.1 Bindings für cblread

C: int32_t xbios ( 500, 44 );
Assembler:
move.w    #44,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.38 recstat

Name: »recstat« - recfifo-status
Xbiosnummer: 500, 45
Deklaration: int32_t xbios ( 500, 45 );
Beschreibung:
Ergebnis:
bit 0 0 = FIFO leer
1 = FIFO nicht leer
bit 1 0 = FIFO mehr als halb gefüllt,löst Interrupt aus
1 = FIFO weniger/bis halb gefüllt
bit 2 0 = FIFO voll
1 = FIFO nicht voll
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.38.1 Bindings für recstat

C: int32_t xbios ( 500, 45 );
Assembler:
move.w    #45,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.39 playstat

Name: »playstat« - playfifo-status
Xbiosnummer: 500, 46
Deklaration: int32_t xbios ( 500, 46 );
Beschreibung:
Ergebnis:
bit 0 0 = FIFO leer
1 = FIFO nicht leer
bit 1 0 = FIFO mehr als halb gefüllt
1 = FIFO weniger/bis halb gefüllt,löst Interrupt aus
bit 2 0 = FIFO voll
1 = FIFO nicht voll
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.39.1 Bindings für playstat

C: int32_t xbios ( 500, 46 );
Assembler:
move.w    #46,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.40 volad

Name: »volad« - volume-controller für input
Xbiosnummer: 500, 50
Deklaration: int32_t xbios ( 500, 50, int16_t lvol, int16_t rvol );
Beschreibung: lvol: Lautstärke linker Kanal in 0.5dB-Schritten (0-255)
rvol: Lautstärke rechter Kanal in 0.5dB-Schritten (0-255)

Die Volume-Controller können im Bereich von -96 bis +32dB regeln:

Wert dB
0 -96
192 0
255 +31.5
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.40.1 Bindings für volad

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          ; XBIOS aufrufen
addq.l    #8,sp        ; Stack korrigieren

4.17.41 volda

Name: »volda« - volume-controller für output
Xbiosnummer: 500, 51
Deklaration: int32_t xbios ( 500, 51, int16_t lvol, int16_t rvol );
Beschreibung: lvol: Lautstärke linker Kanal in 0.5dB-Schritten (0-255)
rvol: Lautstärke rechter Kanal in 0.5dB-Schritten (0-255)

Die Volume-Controller können im Bereich von -96 bis +32dB regeln:

Wert dB
0 -96
192 0
255 +31.5
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.41.1 Bindings für volda

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          ; XBIOS aufrufen
addq.l    #8,sp        ; Stack korrigieren

4.17.42 readsmp

Name: »readsmp« - sample lesen ?
Xbiosnummer: 500, 52
Deklaration: int32_t xbios ( 500, 52 );
Beschreibung:
Ergebnis: Adresse Rückgabewerte, -1=Fehler
int16_t 0 links
int16_t 2 rechts
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.42.1 Bindings für readsmp

C: int32_t xbios ( 500, 52 );
Assembler:
move.w    #52,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.43 writesmp

Name: »writesmp« - sample schreiben ?
Xbiosnummer: 500, 53
Deklaration: int32_t xbios ( 500, 53, int16_t left, int16_t right );
Beschreibung: left : Samplewert links
right: Samplewert rechts
Ergebnis: 0 - kein Fehler
Gruppe: Soundroutinen
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Querverweis: Binding

4.17.43.1 Bindings für writesmp

C: int32_t xbios ( 500, 53, int16_t left, int16_t right );
Assembler:
move.w    right,-(sp)  ; Offset 6
move.w    left,-(sp)   ; Offset 4
move.w    #53,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #8,sp        ; Stack korrigieren

4.17.44 intact

Name: »intact« - interrupt-freigabe für FIFO
Xbiosnummer: 500, 54
Deklaration: int32_t xbios ( 500, 54, int16_t int );
Beschreibung: int:
bit 0 0 = play stoppen
1 = play starten
bit 1 0 = rec stoppen
1 = rec starten
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.44.1 Bindings für intact

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.45 dspintact

Name: »dspintact« - interrupt-freigabe für DSP
Xbiosnummer: 500, 55
Deklaration: int32_t xbios ( 500, 55, int16_t dint );
Beschreibung: dint:
bit 0 0 = dspreceive stoppen
1 = dspreceive starten
bit 1 0 = dsptransmit stoppen
1 = dsptransmit starten
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.45.1 Bindings für dspintact

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          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.46 sysreset

Name: »sysreset« - record-FIFO löschen
Xbiosnummer: 500, 60
Deklaration: int32_t xbios ( 500, 60 );
Beschreibung: Record-FIFO löschen, Offset-Abgleich & Kickstart für D/A, Reset für A/D, D/A, Volume-Controller, Digital SP/DIF-Chips
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.46.1 Bindings für sysreset

C: int32_t xbios ( 500, 60 );
Assembler:
move.w    #60,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.47 dspreset

Name: »dspreset« - reset für DSP
Xbiosnummer: 500, 61
Deklaration: int32_t xbios ( 500, 61 );
Beschreibung:
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.47.1 Bindings für dspreset

C: int32_t xbios ( 500, 61 );
Assembler:
move.w    #61,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.48 dspmemory

Name: »dspmemory« - DSP-Memorymodus
Xbiosnummer: 500, 70
Deklaration: int32_t xbios ( 500, 70, int16_t dspmem );
Beschreibung: dspmem: DSP-Memorymodus
0 - normal - 32Kx24Bit Falconkompatibler Modus
1 - big - 128Kx24Bit erweiterter Modus
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.48.1 Bindings für dspmemory

C: int32_t xbios ( 500, 70, int16_t dspmem );
Assembler:
move.w    dspmem,-(sp) ; Offset 4
move.w    #70,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.49 clkdivide

Name: »clkdivide« - DSP-Taktteiler
Xbiosnummer: 500, 71
Deklaration: int32_t xbios ( 500, 71, int16_t clkdiv );
Beschreibung: clkdiv: DSP-Taktteilungsfaktor
Takt von CKOUT des DSP (bei 25.175 MHz DSP-Takt)
Input -> ICLK_Output/Wandler_Vorteiler -> Samplerate
clkdiv        -> Output        -> Samplerate
----------------------------------------------------
0000=CKOUT/1  -> 25.175MHz/512 -> 49170 Hz
0001=CKOUT/2  -> 12.587MHz/256 -> 49170 Hz
0010=CKOUT/2  -> 12.587MHz/256 -> 49170 Hz
0011=CKOUT/3  ->  8.392MHz/256 -> 32780 Hz
0100=CKOUT/4  ->  6.294MHz/256 -> 24585 Hz
0101=CKOUT/5  ->  5.035MHz/256 -> 19668 Hz
0110=CKOUT/6  ->  4.196MHz/256 -> 16390 Hz
0111=CKOUT/7  ->  3.596MHz/256 -> 14049 Hz
1000=CKOUT/8  ->  3.147MHz/256 -> 12292 Hz
1001=CKOUT/9  ->  2.797MHz/256 -> 10927 Hz
1010=CKOUT/10 ->  2.518MHz/256 ->  9833 Hz
1011=CKOUT/11 ->  2.289MHz/256 ->  8940 Hz
1100=CKOUT/12 ->  2.098MHz/256 ->  8195 Hz
1101=CKOUT/13 ->  1.937MHz/256 ->  7565 Hz
1110=CKOUT/14 ->  1.798MHz/256 ->  7024 Hz
1111=CKOUT/15 ->  1.678MHz/256 ->  6556 Hz

Takt von CKOUT des DSP (bei 66.00 MHz DSP-Takt)
Input -> ICLK_Output/Wandler_Vorteiler -> Samplerate
clkdiv        -> Output        -> Samplerate
----------------------------------------------------
0000=CKOUT/1  -> 66.000MHz/768 ->  85938 Hz
0001=CKOUT/2  -> 33.000MHz/512 ->  64453 Hz
0010=CKOUT/2  -> 33.000MHz/512 ->  64453 Hz
0011=CKOUT/3  -> 22.000MHz/512 ->  42969 Hz
0100=CKOUT/4  -> 16.500MHz/512 ->  32227 Hz
0101=CKOUT/5  -> 13.200MHz/512 ->  25781 Hz
0110=CKOUT/6  -> 11.000MHz/512 ->  21484 Hz
0111=CKOUT/7  ->  9.428MHz/512 ->  18415 Hz
1000=CKOUT/8  ->  8.250MHz/512 ->  16113 Hz
1001=CKOUT/9  ->  7.333MHz/512 ->  14323 Hz
1010=CKOUT/10 ->  6.600MHz/512 ->  12891 Hz
1011=CKOUT/11 ->  6.000MHz/512 ->  11719 Hz
1100=CKOUT/12 ->  5.500MHz/512 ->  10742 Hz
1101=CKOUT/13 ->  5.077MHz/512 ->   9916 Hz
1110=CKOUT/14 ->  4.714MHz/512 ->   9208 Hz
1111=CKOUT/15 ->  4.400MHz/512 ->   8594 Hz


Weitere Taktraten sind möglich (Wandler_Vorteiler /256, /384, /512 und /768 sind nutzbar, also insg. 64 neue Taktraten durch CLKDIV!)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.49.1 Bindings für clkdivide

C: int32_t xbios ( 500, 71, int16_t clkdiv );
Assembler:
move.w    clkdiv,-(sp) ; Offset 4
move.w    #71,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.50 pathset

Name: »pathset« - DSP-Verbindungen
Xbiosnummer: 500, 72
Deklaration: int32_t xbios ( 500, 72, int16_t path );
Beschreibung: path: DSP-Verbindungen
Bit 0 - Verbindung Matrix mit SC0 des DSP (0 = getrennt, 1 = verbunden)
Bit 1 - Verbindung Matrix mit SC1 des DSP (0 = getrennt, 1 = verbunden)
Bit 2 - Verbindung Matrix mit SC2 des DSP (0 = getrennt, 1 = verbunden)
Bit 3 - Verbindung Matrix mit SRD des DSP (0= getrennt, 1 = verbunden)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.50.1 Bindings für pathset

C: int32_t xbios ( 500, 72, int16_t path );
Assembler:
move.w    path,-(sp)   ; Offset 4
move.w    #72,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.51 dsp_hostcommand

Name: »dsp_hostcommand« - DSP-Hostkommando starten
Xbiosnummer: 500, 73
Deklaration: int32_t xbios ( 500, 73, int16_t command );
Beschreibung: command: DSP-Kommandonummer
 0 - DSP-Hostkommando (DSP-Adresse $0024,default)
...
11 - DSP-Hostkommando (DSP-Adresse $003A)
14 - DSP-Hostkommando (DSP-Adresse $0040)
...
45 - DSP-Hostkommando (DSP-Adresse $007E)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.51.1 Bindings für dsp_hostcommand

C: int32_t xbios ( 500, 73, int16_t command );
Assembler:
move.w    command,-(sp) ; Offset 4
move.w    #73,-(sp)     ; Offset 2
move.w    #500,-(sp)    ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #6,sp         ; Stack korrigieren

4.17.52 dspclear

Name: »dspclear« - liest DSP-Empfangsbuffer aus
Xbiosnummer: 500, 74
Deklaration: int32_t xbios ( 500, 74 );
Beschreibung:
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.52.1 Bindings für dspclear

C: int32_t xbios ( 500, 74 );
Assembler:
move.w    #74,-(sp)    ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.53 mix

Name: »mix« - mixt 2,4,6 oder 8 Stereokanäle
Xbiosnummer: 500, 100
Deklaration: int32_t xbios ( 500, 100, int16_t channels, int32_t startadr, int32_t len, int32_t zieladr, int32_t voltab );
Beschreibung: Mixt 2, 4, 6 oder 8 Stereokanäle (=4, 8, 12 oder 16 Tracks) zu einem Stereokanal zusammen
channels Anzahl der Tracks (4, 8, 12 oder 16)
startradr Startadresse der zu mischenden Tracks
len Länge eines Stereotracks
zieladr Startadresse für den gemischten Stereotrack
voltab Pointer auf Track-Volume-Wertetabelle
int8_t VOL-STEREOTRACK1
int8_t VOL-STEREOTRACK2 usw.
...
int8_t VOL-STEREOTRACK8


Die zu mischenden Tracks stehen im Speicher als Stereospuren hintereinander Die Volwert-Tabelle beinhaltet die Lautstärken für die einzelnen Kanäle im Bereich 0-200:
  0 = mute
 50 = halbe Lautstärke
100 = original Lautstärke
200 = doppelte Lautstärke
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.53.1 Bindings für mix

C: int32_t xbios ( 500, 100, int16_t channels, int32_t startadr, int32_t len, int32_t zieladr, int32_t voltab );
Assembler:
move.l    voltab,-(sp)     ; Offset 18
move.l    zieladr,-(sp)    ; Offset 14
move.l    len,-(sp)        ; Offset 10
move.l    startdar,-(sp)   ; Offset 6
move.w    channels,-(sp)   ; Offset 4
move.w    #100,-(sp)       ; Offset 2
move.w    #500,-(sp)       ; Offset 0
trap      #14              ; XBIOS aufrufen
addq.l    #22,sp           ; Stack korrigieren

4.17.54 dspmix

Name: »dspmix« - mixt bzw. verzahnt Stereokanäle
Xbiosnummer: 500, 101
Deklaration: int32_t xbios ( 500, 101, int16_t channels, int32_t startadr, int32_t len, int32_t zieladr );
Beschreibung: Mixt bzw. verzahnt Stereokanäle (4, 8 oder 16 Tracks) zu Falcon-kompatiblen 128Bit-Wörtern
channels 4, 8 oder 16 Tracks
startradr Startadresse der zu mischenden Tracks
len Länge eines Stereotracks
zieladr Startadresse für den gemischten Stereotrack


Die zu mischenden Tracks stehen im Speicher als Stereospuren hintereinander Die Volwert-Tabelle beinhaltet die Lautstärken für die einzelnen Kanäle im Bereich 0-200:
  0 = mute
 50 = halbe Lautstärke
100 = original Lautstärke
200 = doppelte Lautstärke
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.54.1 Bindings für dspmix

C: int32_t xbios ( 500, 101, int16_t channels, int32_t startadr, int32_t len, int32_t zieladr );
Assembler:
move.l    zieladr,-(sp)    ; Offset 14
move.l    len,-(sp)        ; Offset 10
move.l    startdar,-(sp)   ; Offset 6
move.w    channels,-(sp)   ; Offset 4
move.w    #101,-(sp)       ; Offset 2
move.w    #500,-(sp)       ; Offset 0
trap      #14              ; XBIOS aufrufen
addq.l    #18,sp           ; Stack korrigieren

4.17.55 monitor

Name: »monitor« - Record & play-bypass
Xbiosnummer: 500, 110
Deklaration: int32_t xbios ( 500, 110 );
Beschreibung:
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.55.1 Bindings für monitor

C: int32_t xbios ( 500, 110 );
Assembler:
move.w    #110,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.56 recwait

Name: »recwait« - warten auf autorecord-schwellwert
Xbiosnummer: 500, 111
Deklaration: int32_t xbios ( 500, 111, int16_t treshold );
Beschreibung: treshold: Schwellwert (0-32767)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.56.1 Bindings für recwait

C: int32_t xbios ( 500, 111, int16_t treshold );
Assembler:
move.w    treshold,-(sp)  ; Offset 4
move.w    #111,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #6,sp           ; Stack korrigieren

4.17.57 memrec

Name: »memrec« - memory-record ohne Interrupt
Xbiosnummer: 500, 112
Deklaration: int32_t xbios ( 500, 112, int32_t startadr, int32_t endadr );
Beschreibung: startradr: Aufnahme-Startadresse
endadr: Aufnahme-Endadresse

Achtung: Ton geht weg, fehlerhaft!
Ergebnis: letzte Aufnahme-Speicherposition
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.57.1 Bindings für memrec

C: int32_t xbios ( 500, 112, int32_t startadr, int32_t endadr );
Assembler:
move.l    endadr,-(sp)    ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #112,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #12,sp          ; Stack korrigieren

4.17.58 memplay

Name: »memplay« - memory-play ohne Interrupt
Xbiosnummer: 500, 113
Deklaration: int32_t xbios ( 500, 113, int32_t startadr, int32_t endadr, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
startradr Play-Startadresse
endadr Play-Endadresse (spielt rückwärts wenn endadr
step Geschwindigkeit der Wiedergabe (0..x)
0 = normal
1 = doppelte
2 = dreifache usw...
mode bit 0 -> loop
bit 1 -> crossplay
bit 2 -> MIDI
midi MIDI-Note, bei der die Wiedergabe starten soll wird nur angegeben, wenn modebit2 gesetzt ist!


Achtung: MIDI nicht getestet!
Ergebnis: Adresse Rückgabewerte , -1=Fehler
int32_t 0 memposition
int32_t 4 loops (1=einmal gespielt, 2=zweimal usw.)
Je crossplay = zwei loops (für vorwärts & rückwärts)
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.58.1 Bindings für memplay

C: int32_t xbios ( 500, 113, int32_t startadr, int32_t endadr, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)      ; Offset 16
move.w    mode,-(sp)      ; Offset 14
move.w    step,-(sp)      ; Offset 12
move.l    endadr,-(sp)    ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #113,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #18,sp          ; Stack korrigieren

4.17.59 recplay

Name: »recplay« - memory record&play ohne Interrupt
Xbiosnummer: 500, 114
Deklaration: int32_t xbios ( 500, 114 );
Beschreibung: Keine Infos!
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.59.1 Bindings für recplay

Unbekannt!

C: int32_t xbios ( 500, 114 );
Assembler:
move.w    #114,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.60 hardrec

Name: »hardrec« - HD-record ohne Interrupt
Xbiosnummer: 500, 115
Deklaration: int32_t xbios ( 500, 115, int32_t startadr, int32_t len, int32_t sectors, int16_t handle );
Beschreibung:
startadr Aufnahmebuffer-Startadresse
len Aufnahmebuffer-Länge bzw. sektoren
sectors Anzahl der Aufnahmesektoren (bestimmt durch len)
handle Handle der Aufnahmedatei


Achtung: Aussetzer wegen zu kleinem FIFO!
Ergebnis: Anzahl komplett geschriebener Sektoren, -1 = Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.60.1 Bindings für hardrec

C: int32_t xbios ( 500, 115, int32_t startadr, int32_t len, int32_t sectors, int16_t handle );
Assembler:
move.w    handle,-(sp)    ; Offset 18
move.l    sectors,-(sp)   ; Offset 14
move.l    len,-(sp)       ; Offset 10
move.l    startadr,-(sp)  ; Offset 6
move.w    #115,-(sp)      ; Offset 4
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #20,sp          ; Stack korrigieren

4.17.61 hardplay

Name: »hardplay« - HD-play ohne Interrupt
Xbiosnummer: 500, 116
Deklaration: int32_t xbios ( 500, 116, int32_t startadr, int32_t len, int32_t sectors, int32_t seek, int16_t handle, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
startadr Playbuffer-Startadresse
len Playbuffer-Länge (spielt rückwärts wenn negativ)
sectors Anzahl der sektoren
seek Datei-Startposition
handle Handle der Playdatei
step Geschwindigkeit der Wiedergabe (0..x)
0 = normal
1 = doppelte
2 = dreifache usw...
mode bit 0 -> loop
bit 1 -> crossplay
bit 2 -> MIDI
bit 3 -> break
midi MIDI-Note, bei der die Wiedergabe starten soll wird nur angegeben, wenn mode) bit2 gesetzt ist!


Achtung: Aussetzer wegen zu kleinem FIFO!
Kein Rückwärts-play derzeit!
Ergebnis: Adresse Rückgabewerte , -1 = Fehler
int32_t 0 abgespielte sektoren
int32_t 4 loops (1 = einmal gespielt, 2 = zweimal usw.)
Je crossplay = zwei loops (für vorwärts & rückwärts)
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.61.1 Bindings für hardplay

C: int32_t xbios ( 500, 116, int32_t startadr, int32_t len, int32_t sectors, int32_t seek, int16_t handle, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)      ; Offset 26
move.w    mode,-(sp)      ; Offset 24
move.w    step,-(sp)      ; Offset 22
move.w    handle,-(sp)    ; Offset 20
move.l    seek,-(sp)      ; Offset 16
move.l    sectors,-(sp)   ; Offset 12
move.l    len,-(sp)       ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #116,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #28,sp          ; Stack korrigieren

4.17.62 hrecplay

Name: »hrecplay« - HD record&play ohne Interrupt
Xbiosnummer: 500, 117
Binding: Bindings für hrecplay
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.62.1 Bindings für hrecplay

Binding unbekannt!

C: int32_t xbios ( 500, 117 );
Assembler:
move.w    #117,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.63 init_peak

Name: »init_peak « - peakwert-ausgabe im Interrupt
Xbiosnummer: 500, 120
Binding: Bindings für init_peak
Beschreibung:
Ergebnis: Adresse Rückgabewerte, -1=Fehler
int32_t 0 peakwert
int32_t 8 break (1 = neuer wert zum auslesen bereit. Nach dem auslesen müssen peakwert und break gelöscht werden!)
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.63.1 Bindings für init_peak

C: int32_t xbios ( 500, 120 );
Assembler:
move.w    #120,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.64 init_imemrec

Name: »init_imemrec« - memory-record im Interrupt
Xbiosnummer: 500, 121
Deklaration: int32_t xbios ( 500, 121, int16_t select, int32_t startadr, int32_t endadr );
Beschreibung:
select Aufnahmeart
0 = Aufnahme mit 16Bit über FIFO
2 = Aufnahme mit 24Bit über FIFO
startadr Aufnahme-Startadresse
endadr Aufnahme-Endadresse
Ergebnis: Adresse Rückgabewerte, -1 = Fehler
int32_t 0 memposition
int32_t 8 break
int32_t 12 fehler
int32_t 24 zählerposition
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.64.1 Bindings für init_imemrec

C: int32_t xbios ( 500, 121, int16_t select, int32_t startadr, int32_t endadr );
Assembler:
move.l    endadr,-(sp)   ; Offset 10
move.l    startadr,-(sp) ; Offset 6
move.w    select,-(sp)   ; Offset 4
move.w    #121,-(sp)     ; Offset 2
move.w    #500,-(sp)     ; Offset 0
trap      #14            ; XBIOS aufrufen
addq.l    #14,sp         ; Stack korrigieren

4.17.65 init_imemplay

Name: »init_imemplay« - memory-play im Interrupt
Xbiosnummer: 500, 122
Deklaration: int32_t xbios ( 500, 122, int16_t select, int32_t startadr, int32_t endadr, int32_t counter, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
select Abspielart
0 = Wiedergabe mit 16Bit über FIFO
1 = Wiedergabe mit 16Bit über DSP
2 = Wiedergabe mit 24Bit über FIFO
startadr Play-Startadresse
endadr Play-Endadresse
counter Zähler-Startwert
step Geschwindigkeit der Wiedergabe
0 = normal
1 = doppelte
2 = dreifache usw...
mode bit 0 -> loop
bit 1 -> crossplay (nicht bei select = 2)
bit 2 -> midi
midi Midinote, bei der die Wiedergabe starten soll wird nur angegeben, wenn modebit2 gesetzt ist!
Ergebnis: Adresse Rückgabewerte, -1 = Fehler
int32_t 0 memposition
int32_t 8 break
int32_t 12 fehler
int32_t 24 zählerposition
int32_t 28 loops
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.65.1 Bindings für init_imemplay

C: int32_t xbios ( 500, 122, int16_t select, int32_t startadr, int32_t endadr, int32_t counter, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)      ; Offset 22
move.w    mode,-(sp)      ; Offset 20
move.w    step,-(sp)      ; Offset 18
move.l    counter,-(sp)   ; Offset 14
move.l    endadr,-(sp)    ; Offset 10
move.l    startadr,-(sp)  ; Offset 6
move.w    select,-(sp)    ; Offset 4
move.w    #122,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #24,sp          ; Stack korrigieren

4.17.66 init_implaymix

Name: »init_implaymix« - memory-play & record-mix im Interrupt
Xbiosnummer: 500, 123
Deklaration: int32_t xbios ( 500, 123, int16_t select, int32_t startadr, int32_t endadr, int32_t counter, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
select Abspielart
0 = Wiedergabe mit 16Bit über FIFO
startadr Play-Startadresse
endadr Play-Endadresse
counter Zähler-Startwert
step Geschwindigkeit der Wiedergabe
0 = normal
1 = doppelte
2 = dreifache usw...
mode bit 0 -> loop
bit 1 -> crossplay (nicht bei select = 2)
bit 2 -> MIDI
midi Midinote, bei der die Wiedergabe starten soll wird nur angegeben, wenn mode bit2 gesetzt ist!
Ergebnis: Adresse Rückgabewerte, -1 = Fehler
int32_t 0 memposition
int32_t 8 break
int32_t 12 Fehler
int32_t 24 Zählerposition
int32_t 28 loops
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.66.1 Bindings für init_implaymix

C: int32_t xbios ( 500, 123, int16_t select, int32_t startadr, int32_t endadr, int32_t counter, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)      ; Offset 22
move.w    mode,-(sp)      ; Offset 20
move.w    step,-(sp)      ; Offset 18
move.l    counter,-(sp)   ; Offset 14
move.l    endadr,-(sp)    ; Offset 10
move.l    startadr,-(sp)  ; Offset 6
move.w    select,-(sp)    ; Offset 4
move.w    #122,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #24,sp          ; Stack korrigieren

4.17.67 init_hrec

Name: »init_hrec« - HD-record im Interrupt
Xbiosnummer: 500, 124
Deklaration: int32_t xbios ( 500, 124, int32_t startadr, int32_t len, int32_t sectors, int16_t handle, int16_t fileart );
Beschreibung:
startadr Aufnahmebuffer-Startadresse
len Aufnahmebuffer-Länge
sectors Anzahl der Aufnahmesektoren
handle Handle der Aufnahmedatei
fileart 3 = WAV-Datei anlegen


Geht nicht!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 Anzahl aufgenommene sektoren
int32_t 8 break
int32_t 12 Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.67.1 Bindings für init_hrec

C: int32_t xbios ( 500, 124, int32_t startadr, int32_t len, int32_t sectors, int16_t handle, int16_t fileart );
Assembler:
move.w    fileart,-(sp)   ; Offset 18
move.w    handle,-(sp)    ; Offset 16
move.l    sectors,-(sp)   ; Offset 12
move.l    len,-(sp)       ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #124,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #20,sp          ; Stack korrigieren

4.17.68 init_hplay

Name: »init_hplay« - HD-play im Interrupt
Xbiosnummer: 500, 125
Deklaration: int32_t xbios ( 500, 125, int32_t startadr, int32_t len, int32_t sectors, int32_t seek, int16_t handle, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
startadr Playbuffer-Startadresse
len Playbuffer-Länge
sectors Anzahl der sektoren
seek Datei-Startposition
handle Handle der Playdatei
fileart 3 = WAV-Datei
step Geschwindigkeit der Wiedergabe
mode bit 0 -> loop
bit 1 -> crossplay
bit 2 -> MIDI
bit 3 -> break
midi Midinote, bei der die Wiedergabe starten soll wird nur angegeben, wenn modebit2 gesetzt ist!


Stürzt ab!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 Anzahl abgespielte sektoren
int32_t 8 break
int32_t 12 Fehler
int32_t 28 Anzahl loops
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.68.1 Bindings für init_hplay

C: int32_t xbios ( 500, 125, int32_t startadr, int32_t len, int32_t sectors, int32_t seek, int16_t handle, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)      ; Offset 28
move.w    mode,-(sp)      ; Offset 26
move.w    step,-(sp)      ; Offset 24
move.w    fileart,-(sp)   ; Offset 22
move.w    handle,-(sp)    ; Offset 20
move.l    seek,-(sp)      ; Offset 16
move.l    sectors,-(sp)   ; Offset 12
move.l    len,-(sp)       ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #125,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #30,sp          ; Stack korrigieren

4.17.69 init_ihplaymix

Name: »init_ihplaymix« - HD-play & record-mix im Interrupt
Xbiosnummer: 500, 126
Binding: Bindings für init_ihplaymix
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.69.1 Bindings für init_ihplaymix

Unbekannt!

C: int32_t xbios ( 500, 126 );
Assembler:
move.w    #126,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.70 init_mrecpeak

Name: »init_mrecpeak« - memory-rec & peakausgabe im Interrupt
Xbiosnummer: 500, 130
Deklaration: int32_t xbios ( 500, 130, int16_t select, int32_t startadr, int32_t endadr );
Beschreibung:
select Aufnahmeart
0 = Aufnahme mit 16Bit über FIFO
1 = Aufnahme mit 16Bit über DSP
startadr Aufnahme-Startadresse
endadr Aufnahme-Endadresse
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 8 break
int32_t 12 Fehler
int32_t 16 peakwert
int32_t 24 Zählerposition
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.70.1 Bindings für init_mrecpeak

C: int32_t xbios ( 500, 130, int16_t select, int32_t startadr, int32_t endadr );
Assembler:
move.l    enddadr,-(sp)   ; Offset 10
move.l    startadr,-(sp)  ; Offset 6
move.w    select,-(sp)    ; Offset 4
move.w    #130,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #14,sp          ; Stack korrigieren

4.17.71 init_mplaypeak

Name: init_mplaypeak»« - memory-play & peakausgabe im Interrupt
Xbiosnummer: 500, 131
Binding: Bindings für init_mplaypeak
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.71.1 Bindings für init_mplaypeak

Unbekannt!

C: int32_t xbios ( 500, 131 );
Assembler:
move.w    #131,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.72 init_mrppeak

Name: »init_mrppeak« - memory play & record-mix & peakausgabe im Interrupt
Xbiosnummer: 500, 132
Binding: Bindings für init_mrppeak
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.72.1 Bindings für init_mrppeak

Unbekannt!

C: int32_t xbios ( 500, 132 );
Assembler:
move.w    #132,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.73 init_hrecpeak

Name: »init_hrecpeak« - HD-rec & peakausgabe im Interrupt
Xbiosnummer: 500, 133
Deklaration: int32_tG xbios ( 500, 133, int32_t startadr, int32_t len, int32_t sectors, int16_t handle, int16_t fileart );
Beschreibung:
startadr Aufnahmebuffer-Startadresse
len Aufnahmebuffer-Länge
sectors Anzahl der Aufnahmesektoren
handle Handle der Aufnahmedatei
fileart 3 = WAV-Datei anlegen


Aussetzer wegen zu kleinem FIFO!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 Anzahl aufgenommene sektoren
int32_t 8 break
int32_t 12 Fehler
int32_t 16 peakwert
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.73.1 Bindings für init_hrecpeak

C: int32_tG xbios ( 500, 133, int32_t startadr, int32_t len, int32_t sectors, int16_t handle, int16_t fileart );
Assembler:
move.w    fileart,-(sp)   ; Offset 18
move.w    handle,-(sp)    ; Offset 16
move.l    sectors,-(sp)   ; Offset 12
move.l    len,-(sp)       ; Offset 8
move.l    startadr,-(sp)  ; Offset 4
move.w    #133,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #20,sp          ; Stack korrigieren

4.17.74 init_hplaypeak

Name: »init_hplaypeak« - HD-play & peakausgabe im Interrupt
Xbiosnummer: 500, 134
Binding: Bindings für init_hplaypeak
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.74.1 Bindings für init_hplaypeak

Unbekannt!

C: int32_t xbios ( 500, 134 );
Assembler:
move.w    #134,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.75 init_hrppeak

Name: »init_hrppeak« - HD play & record-mix & peakausgabe im Interrupt
Xbiosnummer: 500, 135
Deklaration: int32_t xbios ( 500, 135 );
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.75.1 Bindings für init_hrppeak

Unbekannt!

C: int32_t xbios ( 500, 135 );
Assembler:
move.w    #135,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.76 init_xmemrec

Name: »init_xmemrec« - memory-record im HalfBuffer-System
Xbiosnummer: 500, 140
Deklaration: int32_t xbios ( 500, 140, int16_t select, int32_t startadr1, int32_t startadr2, int32_t len, int32_t endcount, int16_t fileart, int32_t peakbuf );
Beschreibung:
select Aufnahmeart
0 = Aufnahme mit 16Bit über FIFO
1 = Aufnahme mit 16Bit über DSP
2 = 8-Kanal-Aufnahme mit 16Bit über FIFO
startadr1 Aufnahme-Startadresse Buffer1
startadr2 Aufnahme-Startadresse Buffer2
len Blocklänge der Buffer
endcount Aufnahmelänge bzw. Zählerende (in Byte)
fileart 3 = WAV-Datei anlegen
peakbuf Adresse Zwischenspeicher für Peakwerte


Momentan wird bei select = 2 nur 1 Stereokanal abgespeichert!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 memflag
int32_t 8 break
int32_t 12 fehler (nicht bei select=1)
int32_t 16 peakwert (nur bei select=0)
int32_t 20 peakbuffer-position (nur bei select=0)
int32_t 24 zählerposition
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.76.1 Bindings für init_xmemrec

C: int32_t xbios ( 500, 140, int16_t select, int32_t startadr1, int32_t startadr2, int32_t len, int32_t endcount, int16_t fileart, int32_t peakbuf );
Assembler:
move.l    peakbuf,-(sp)    ; Offset 24
move.w    fileart,-(sp)    ; Offset 22
move.l    endcount,-(sp)   ; Offset 18
move.l    len,-(sp)        ; Offset 14
move.l    startadr2,-(sp)  ; Offset 10
move.l    startadr1,-(sp)  ; Offset 6
move.w    select,-(sp)     ; Offset 4
move.w    #140,-(sp)       ; Offset 2
move.w    #500,-(sp)       ; Offset 0
trap      #14              ; XBIOS aufrufen
addq.l    #28,sp           ; Stack korrigieren

4.17.77 init_xmemplay

Name: »init_xmemplay« - memory-play im HalfBuffer-System
Xbiosnummer: 500, 141
Deklaration: int32_t xbios ( 500, 141, int16_t select, int32_t startadr1, int32_t startadr2, int32_t len, int32_t counter, int32_t endcount, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
select Abspielart
0 = Wiedergabe mit 16Bit über FIFO
1 = Wiedergabe mit 16Bit über DSP
2 = 8-Kanal-Wiedergabe mit 16Bit über FIFO
3 = 16-Kanal-Wiedergabe mit 16Bit über FIFO
startadr1 Play-Startadresse Buffer 1
startadr2 Play-Startadresse Buffer 2
len Blocklänge der Buffer
counter Zähler-Startwert
endcount Wiedergabelänge bzw. Zählerende (in Byte)
fileart 3 = WAV-Datei anlegen
step Geschwindigkeit der Wiedergabe
mode bit 0 -> loop
bit 1 -> crossplay
bit 2 -> MIDI
bit 3 -> break
midi Midinote, bei der die Wiedergabe starten soll wird nur angegeben, wenn mode bit2 gesetzt ist!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 memflag
int32_t 8 break
int32_t 12 Fehler (nicht bei select = 1)
int32_t 16 peakwert (nur bei select = 0)
int32_t 24 zählerposition
int32_t 40 lastblock
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.77.1 Bindings für init_xmemplay

C: int32_t xbios ( 500, 141, int16_t select, int32_t startadr1, int32_t startadr2, int32_t len, int32_t counter, int32_t endcount, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)       ; Offset 32
move.w    mode,-(sp)       ; Offset 30
move.w    step,-(sp)       ; Offset 28
move.w    fileart,-(sp)    ; Offset 26
move.l    endcount,-(sp)   ; Offset 22
move.l    counter,-(sp)    ; Offset 18
move.l    len,-(sp)        ; Offset 14
move.l    startadr2,-(sp)  ; Offset 10
move.l    startadr1,-(sp)  ; Offset 6
move.w    select,-(sp)     ; Offset 4
move.w    #141,-(sp)       ; Offset 2
move.w    #500,-(sp)       ; Offset 0
trap      #14              ; XBIOS aufrufen
addq.l    #34,sp           ; Stack korrigieren

4.17.78 init_xmixplay

Name: »init_xmixplay« - memory-play & mischen mit record im HalfBuffer-System
Xbiosnummer: 500, 142
Deklaration: int32_t xbios ( 500, 142 );
Beschreibung:
Ergebnis:
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.78.1 Bindings für init_xmixplay

Unbekannt!

C: int32_t xbios ( 500, 142 );
Assembler:
move.w    #142,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.79 init_xmemrec4

Name: »init_xmemrec4« - memory-record im HalfBuffer-System von 4 Kanälen (analog/digital)
Xbiosnummer: 500, 143
Deklaration: int32_t xbios ( 500, 143, int32_t startadr1, int32_t startadr2, int32_t dstartadr1, int32_t dstartadr2, int32_t len, int32_t endcount, int16_t fileart, int32_t peakbuf, int32_t dpeakbuf );
Beschreibung:
startadr1 FIFO Aufnahme-Startadresse Buffer 1
startadr2 FIFO Aufnahme-Startadresse Buffer 2
dstartadr1 DSP Aufnahme-Startadresse Buffer 1
dstartadr2 DSP Aufnahme-Startadresse Buffer 2
len länge der Buffer
endcount Aufnahmelänge bzw. Zählerende (in Byte)
fileart 3 = WAV-Datei anlegen
peakbuf FIFO Adresse Zwischenspeicher für Peakwerte
dpeakbuf DSP Adresse Zwischenspeicher für Peakwerte
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition FIFO
int32_t 4 memflag FIFO
int32_t 8 break FIFO
int32_t 12 fehler FIFO
int32_t 16 peakwert FIFO
int32_t 24 zählerposition FIFO

int32_t 32 memposition DSP
int32_t 36 memflag DSP
int32_t 40 break dsp
int32_t 44 fehler DSP
int32_t 48 peakwert DSP
int32_t 56 zählerposition DSP
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.79.1 Bindings für init_xmemrec4

C: int32_t xbios ( 500, 143, int32_t startadr1, int32_t startadr2, int32_t dstartadr1, int32_t dstartadr2, int32_t len, int32_t endcount, int16_t fileart, int32_t peakbuf, int32_t dpeakbuf );
Assembler:
move.l    dpeakpuf,-(sp)    ; Offset 34
move.l    peakpuf,-(sp)     ; Offset 30
move.w    fileart,-(sp)     ; Offset 28
move.l    endcount,-(sp)    ; Offset 24
move.l    len,-(sp)         ; Offset 20
move.l    dstartadr2,-(sp)  ; Offset 16
move.l    dstartadr1,-(sp)  ; Offset 12
move.l    startadr2,-(sp)   ; Offset 8
move.l    startadr1,-(sp)   ; Offset 4
move.w    #143,-(sp)        ; Offset 2
move.w    #500,-(sp)        ; Offset 0
trap      #14               ; XBIOS aufrufen
addq.l    #38,sp            ; Stack korrigieren

4.17.80 init_xmemplay4

Name: »init_xmemplay4« - memory-play im HalfBuffer-System von 4 Kanälen (analog/digital)
Xbiosnummer: 500, 144
Deklaration: int32_t xbios ( 500, 144, int32_t startadr1, int32_t startadr2, int32_t dstartadr1, int32_t dstartadr2, int32_t len, int32_t counter, int32_t endcount, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Beschreibung:
startadr1 FIFO Play-Startadresse Buffer 1
startadr2 FIFO Play-Startadresse Buffer 2
dstartadr1 DSP Play-Startadresse Buffer 1
dstartadr2 DSP Play-Startadresse Buffer 2
dendadr2 länge der Buffer
counter Zähler-Startwert
endcount Wiedergabelänge bzw. Zählerende (in Byte)
fileart 3 = WAV-Datei anlegen
step Geschwindigkeit der Wiedergabe
mode bit 0 -> loop
bit 1 -> crossplay
bit 2 -> MIDI
bit 3 -> break
midi Midinote, bei der die Wiedergabe starten soll wird nur angegeben, wenn mode bit2 gesetzt ist!
Ergebnis: Adresse Rückgabewerte
int32_t 0 memposition
int32_t 4 memflag
int32_t 8 break
int32_t 12 fehler
int32_t 16 peakwert
int32_t 24 zählerposition


int32_t 32 memposition DSP
int32_t 36 memflag DSP
int32_t 40 break DSP
int32_t 44 fehler DSP
int32_t 48 peakwert DSP
int32_t 56 zählerposition DSP
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.80.1 Bindings für init_xmemplay4

C: int32_t xbios ( 500, 144, int32_t startadr1, int32_t startadr2, int32_t dstartadr1, int32_t dstartadr2, int32_t len, int32_t counter, int32_t endcount, int16_t fileart, int16_t step, int16_t mode, int16_t midi );
Assembler:
move.w    midi,-(sp)        ; Offset 38
move.w    mode,-(sp)        ; Offset 36
move.w    step,-(sp)        ; Offset 34
move.w    fileart,-(sp)     ; Offset 32
move.l    endcount,-(sp)    ; Offset 28
move.l    counter,-(sp)     ; Offset 24
move.l    len,-(sp)         ; Offset 20
move.l    dstartadr2,-(sp)  ; Offset 16
move.l    dstartadr1,-(sp)  ; Offset 12
move.l    startadr2,-(sp)   ; Offset 8
move.l    startadr1,-(sp)   ; Offset 4
move.w    #144,-(sp)        ; Offset 2
move.w    #500,-(sp)        ; Offset 0
trap      #14               ; XBIOS aufrufen
addq.l    #40,sp            ; Stack korrigieren

4.17.81 peakshake

Name: »peakshake« - Peakwert-Handshake (= neuen Wert generieren)
Xbiosnummer: 500, 150
Deklaration: int32_t xbios ( 500, 150 );
Beschreibung:
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.81.1 Bindings für peakshake

C: int32_t xbios ( 500, 150 );
Assembler:
move.w    #150,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.82 read_rlow

Name: »read_rlow« - low-register lesen
Xbiosnummer: 500, 200
Deklaration: int32_t xbios ( 500, 200 );
Beschreibung:
Ergebnis: bit 0 -> SWAES
bit 1 -> SWDIGIN
bit 2 -> TAKT0
bit 3 -> TAKT1
bit 4 -> EXTAKT
bit 5 -> EXTEX
bit 6 -> EXTTF
bit 7 -> EXTTW
Gruppe: Soundroutinen
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Querverweis: Binding

4.17.82.1 Bindings für read_rlow

C: int32_t xbios ( 500, 200 );
Assembler:
move.w    #200,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.83 read_rhi

Name: »read_rhi« - high-register lesen
Xbiosnummer: 500, 201
Deklaration: int32_t xbios ( 500, 201 );
Beschreibung:
Ergebnis: bit 0 -> SWPROT
bit 1 -> SWRES-FIFO
bit 2 -> MATRIX-OUT
bit 3 -> PREEMPH
bit 4 -> SWSUBFR
bit 5 -> GENERA
bit 6 -> CATEG0
bit 7 -> CATEG1
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.83.1 Bindings für read_rhi

C: int32_t xbios ( 500, 201 );
Assembler:
move.w    #201,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.84 read_rdsp

Name: »read_rdsp« - dsp-register lesen
Xbiosnummer: 500, 202
Deklaration: int32_t xbios ( 500, 202 );
Beschreibung:
Ergebnis: bit 0 -> MATI0/REC4
bit 1 -> MATI1/PLAY4
bit 2 -> VOLCS1
bit 3 -> VOLCLK
bit 4 -> VOLDATAI
bit 5 -> VOLCS2
bit 7 -> AESFREQ
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.84.1 Bindings für read_rdsp

C: int32_t xbios ( 500, 202 );
Assembler:
move.w    #202,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.85 read_raes

Name: »read_raes« - aes-register lesen
Xbiosnummer: 500, 203
Deklaration: int32_t xbios ( 500, 203 );
Beschreibung:
Ergebnis: bit 0 -> SWPROF
bit 1 -> SWCOPY/PCH16
bit 2 -> DIGMODE:SWMAL2/DIG24
bit 3 -> PLAY128
bit 4 -> REC128
bit 7 -> SPEBU
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.85.1 Bindings für read_raes

C: int32_t xbios ( 500, 203 );
Assembler:
move.w    #203,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.86 read_rint

Name: »read_rint« - interrupt-register lesen
Xbiosnummer: 500, 204
Binding: Bindings für read_rint
Beschreibung:
Ergebnis: bit 0 -> PLAY-INT
bit 1 -> REC-INT
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.86.1 Bindings für read_rint

C: int32_t xbios ( 500, 204 );
Assembler:
move.w    #204,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.87 wr_rlow

Name: »wr_rlow« - low-register schreiben
Xbiosnummer: 500, 210
Deklaration: int32_t xbios ( 500, 210, int16_t value );
Beschreibung:
value bit 0 -> SWAES
bit 1 -> SWDIGIN
bit 2 -> TAKT0
bit 3 -> TAKT1
bit 4 -> EXTAKT
bit 5 -> EXTEX
bit 6 -> EXTTF
bit 7 -> EXTTW
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.87.1 Bindings für wr_rlow

C: int32_t xbios ( 500, 210, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #210,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.88 wr_rhi

Name: »wr_rhi« - high-register schreiben
Xbiosnummer: 500, 211
Deklaration: int32_t xbios ( 500, 211, int16_t value );
Beschreibung:
value bit 0 -> SWPROT
bit 1 -> SWRES-FIFO
bit 2 -> MATRIX-OUT
bit 3 -> PREEMPH
bit 4 -> SWSUBFR
bit 5 -> GENERA
bit 6 -> CATEG0
bit 7 -> CATEG1
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.88.1 Bindings für wr_rhi

C: int32_t xbios ( 500, 211, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #211,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.89 wr_rdsp

Name: »wr_rdsp« - dsp-register schreiben
Xbiosnummer: 500, 212
Deklaration: int32_t xbios ( 500, 212, int16_t value );
Beschreibung:
value bit 0 -> MATI0/REC4
bit 1 -> MATI1/PLAY4
bit 2 -> VOLCS1
bit 3 -> VOLCLK
bit 4 -> VOLDATAI
bit 5 -> VOLCS2
bit 7 -> AESFREQ
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.89.1 Bindings für wr_rdsp

C: int32_t xbios ( 500, 212, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #212,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.90 wr_raes

Name: »wr_raes« - aes-register schreiben
Xbiosnummer: 500, 213
Deklaration: int32_t xbios ( 500, 213, int16_t value );
Beschreibung:
value bit 0 -> SWPROF
bit 1 -> SWCOPY/PCH16
bit 2 -> DIGMODE:SWMAL2/DIG24
bit 3 -> PLAY128
bit 4 -> REC128
bit 7 -> SPEBU
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.90.1 Bindings für wr_raes

C: int32_t xbios ( 500, 213, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #213,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.91 wr_rint

Name: »wr_rint« - interrupt-register schreiben
Xbiosnummer: 500, 214
Deklaration: int32_t xbios ( 500, 214, int16_t value );
Beschreibung:
value bit 0 -> PLAY-INT
bit 1 -> REC-INT
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.91.1 Bindings für wr_rint

C: int32_t xbios ( 500, 214, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #214,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.92 read_dpath1

Name: »read_dpath1« - DSP dpath1-register lesen
Xbiosnummer: 500, 220
Deklaration: int32_t xbios ( 500, 220 );
Beschreibung:
Ergebnis: bit 0 -> SW0PATH
bit 1 -> SC1PATH
bit 2 -> SC2PATH
bit 3 -> DSPRES
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.92.1 Bindings für read_dpath1

C: int32_t xbios ( 500, 220 );
Assembler:
move.w    #220,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.93 read_dpath2

Name: »read_dpath2« - dsp dpath2-register lesen
Xbiosnummer: 500, 221
Deklaration: int32_t xbios ( 500, 221 );
Beschreibung:
Ergebnis: bit0 -> SRDPATH
bit1 -> STDPATH0
bit2 -> STDPATH1
bit3 -> CONVMAST
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.93.1 Bindings für read_dpath2

C: int32_t xbios ( 500, 221 );
Assembler:
move.w    #221,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.94 read_dport

Name: »read_dport« - dsp dport-register lesen
Xbiosnummer: 500, 222
Deklaration: int32_t xbios ( 500, 222 );
Beschreibung:
Ergebnis: bit 0 -> GPIO0
bit 1 -> GPIO1
bit 2 -> GPIO2
bit 3 -> GPIODIR0
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.94.1 Bindings für read_dport

C: int32_t xbios ( 500, 222 );
Assembler:
move.w    #222,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.95 read_dconv

Name: »read_dconv« - dsp dconv-register lesen
Xbiosnummer: 500, 223
Deklaration: int32_t xbios ( 500, 223 );
Beschreibung:
Ergebnis: bit 0 -> GPIODIR1
bit 1 -> GPIODIR2
bit 2 -> CMAST0
bit 3 -> CMAST1
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.95.1 Bindings für read_dconv

C: int32_t xbios ( 500, 223 );
Assembler:
move.w    #223,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.96 read_dpdat

Name: »read_dpdat« - dsp dpdat-register lesen
Xbiosnummer: 500, 224
Deklaration: int32_t xbios ( 500, 224 );
Beschreibung:
Ergebnis: bit 0 -> PDAT0
bit 1 -> PDAT1
Bit 2 -> MEMART
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.96.1 Bindings für read_dpdat

C: int32_t xbios ( 500, 224 );
Assembler:
move.w    #224,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.97 read_dclk

Name: »read_dclk« - dsp dclk-register lesen
Xbiosnummer: 500, 225
Deklaration: int32_t xbios ( 500, 225 );
Beschreibung:
Ergebnis: bit 0-3 -> CDIV
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.97.1 Bindings für read_dclk

C: int32_t xbios ( 500, 225 );
Assembler:
move.w    #225,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #4,sp        ; Stack korrigieren

4.17.98 wr_dpath1

Name: »wr_dpath1« - dsp dpath1-register schreiben
Xbiosnummer: 500, 230
Deklaration: int32_t xbios ( 500, 230, int16_t value );
Beschreibung:
value bit 0 -> SW0PATH
bit 1 -> SC1PATH
bit 2 -> SC2PATH
bit 3 -> DSPRES
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.98.1 Bindings für wr_dpath1

C: int32_t xbios ( 500, 230, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #230,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.99 wr_dpath2

Name: »wr_dpath2« - dsp dpath2-register schreiben
Xbiosnummer: 500, 231
Deklaration: int32_t xbios ( 500, 231, int16_t value );
Beschreibung:
value bit 0 -> SRDPATH
bit 1 -> STDPATH0
bit 2 -> STDPATH1
bit 3 -> CONVMAST
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.99.1 Bindings für wr_dpath2

C: int32_t xbios ( 500, 231, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #231,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.100 wr_dport

Name: »wr_dport« - dsp dport-register schreiben
Xbiosnummer: 500, 232
Deklaration: int32_t xbios ( 500, 232, int16_t wert );
Beschreibung:
wert bit 0 -> GPIO0
bit 1 -> GPIO1(!nl) bit 2 -> GPIO2
bit 3 -> GPIODIR0
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.100.1 Bindings für wr_dport

C: int32_t xbios ( 500, 232, int16_t wert );
Assembler:
move.w    wert,-(sp)   ; Offset 4
move.w    #232,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.101 wr_dconv

Name: »wr_dconv« - dsp dconv-register schreiben
Xbiosnummer: 500, 233
Deklaration: int32_t xbios ( 500, 233, int16_t value );
Beschreibung:
value bit 0 -> GPIODIR1
bit 1 -> GPIODIR2
bit 2 -> CMAST0
bit 3 -> CMAST1
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.101.1 Bindings für wr_dconv

C: int32_t xbios ( 500, 233, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #233,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.102 wr_dpdat

Name: »wr_dpdat« - dsp dpdat-register schreiben
Xbiosnummer: 500, 234
Deklaration: int32_t xbios ( 500, 234, int16_t value );
Beschreibung:
value bit 0 -> PDAT0
bit 1 -> PDAT1
Bit 2 -> MEMART
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.102.1 Bindings für wr_dpdat

C: int32_t xbios ( 500, 234, int16_t value );
Assembler:
move.w    value,-(sp)  ; Offset 4
move.w    #234,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.103 wr_dclk

Name: »wr_dclk« - dsp dclk-register schreiben
Xbiosnummer: 500, 235
Deklaration: int32_t xbios ( 500, 235, int16_t wert );
Beschreibung: wert: bit0-3 -> CDIV
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.103.1 Bindings für wr_dclk

C: int32_t xbios ( 500, 235, int16_t wert );
Assembler:
move.w    wert,-(sp)   ; Offset 4
move.w    #235,-(sp)   ; Offset 2
move.w    #500,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #6,sp        ; Stack korrigieren

4.17.104 fastcut

Name: »fastcut« - speicherbereich löschen im samplemem
Xbiosnummer: 500, 300
Deklaration: int32_t xbios ( 500, 300, int32_t anfmem, int32_t endmem );
Beschreibung:
anfmem Anfangsadresse
endmem Endadresse (erster ungültiger Wert)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.104.1 Bindings für fastcut

C: int32_t xbios ( 500, 300, int32_t anfmem, int32_t endmem );
Assembler:
move.l    endmem,-(sp)  ; Offset 8
move.l    anfmem,-(sp)  ; Offset 4
move.w    #300,-(sp)    ; Offset 2
move.w    #500,-(sp)    ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #12,sp        ; Stack korrigieren

4.17.105 peaksuch

Name: »peaksuch« -
Xbiosnummer: 500, 301
Deklaration: int32_t xbios ( 500, 301, int32_t anfmem, int32_t endmem );
Beschreibung:
anfmem Anfangsadresse
endmem Endadresse (erster ungültiger Wert)
Ergebnis: Zeiger auf Wertetabelle
int16_t rpos; maximalwert positive Halbwelle rechts
int16_t rneg; maximalwert negative Halbwelle rechts
int16_t lpos; maximalwert positive Halbwelle links
int16_t lneg; maximalwert negative Halbwelle links
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.105.1 Bindings für peaksuch

C: int32_t xbios ( 500, 301, int32_t anfmem, int32_t endmem );
Assembler:
move.l    endmem,-(sp)  ; Offset 8
move.l    anfmem,-(sp)  ; Offset 4
move.w    #301,-(sp)    ; Offset 2
move.w    #500,-(sp)    ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #12,sp        ; Stack korrigieren

4.17.106 zerono

Name: »zerono« - nullstellen-suche im samplemem
Xbiosnummer: 500, 302
Deklaration: int32_t xbios ( 500, 302, int32_t anfmem, int32_t endmem, int16_t side, int16_t znvorweg );
Beschreibung:
anfmem Anfangsadresse
endmem Endadresse (erster ungültiger Wert)
side Suchrichtung (= 0 :vorwärts , <> 0 :rückwärts)
znvorweg Was ist das ???????????????????????????????????
Ergebnis: Adresse der Fundstelle
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.106.1 Bindings für zerono

C: int32_t xbios ( 500, 302, int32_t anfmem, int32_t endmem, int16_t side, int16_t znvorweg );
Assembler:
move.w    znvorweg,-(sp)  ; Offset 14
move.w    side,-(sp)      ; Offset 12
move.l    endmem,-(sp)    ; Offset 8
move.l    anfmem,-(sp)    ; Offset 4
move.w    #302,-(sp)      ; Offset 2
move.w    #500,-(sp)      ; Offset 0
trap      #14             ; XBIOS aufrufen
addq.l    #16,sp          ; Stack korrigieren

4.17.107 fading

Name: »fading« - sample-fading im samplemem
Xbiosnummer: 500, 303
Deklaration: int32_t xbios ( 500, 303, int32_t data, int32_t werte, int32_t anfmem, int32_t endmem );
Beschreibung:
data Pointer auf Faderkurvenwertes
werte Anzahl der Faderwerte
anfmem Anfangsadresse
endmem Endadresse (erster ungültiger Wert)
Ergebnis: 0 - kein Fehler
Verfügbar: Diese Funktionen stehen nur zur Verfügung, wenn der Treiber der Startrack Soundkarte gestartet wurde.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.107.1 Bindings für fading

C: int32_t xbios ( 500, 303, int32_t data, int32_t werte, int32_t anfmem, int32_t endmem );
Assembler:
move.l    endmem,-(sp)  ; Offset 162
move.l    anfmem,-(sp)  ; Offset 12
move.l    werte,-(sp)   ; Offset 8
move.l    data,-(sp)    ; Offset 4
move.w    #303,-(sp)    ; Offset 2
move.w    #500,-(sp)    ; Offset 0
trap      #14           ; XBIOS aufrufen
addq.l    #20,sp        ; Stack korrigieren

4.17.108 unlocksnd

Name: »unlocksnd« - Soundsystem für andere Anwendungen freigeben
Xbiosnummer: 129
Deklaration: int32_t unlocksnd( void );
Beschreibung: Die XBIOS-Routine unlocksnd gibt das Soundsystem für andere Anwendungen frei, nachdem es zuvor gesperrt wurde.
Ergebnis: Die Funktion liefert im positiven Fall den Wert 0 zurück. War das Soundsystem bereits verfügbar, so wird ein negativer Wert zurückgeliefert.
Verfügbar: Die Funktion ist nur auf Computern der Falcon-Serie verfügbar oder bei erweiterten XBiosroutinen (_SND).
Gruppe: Soundroutinen
Querverweis: Binding   buffoper   buffptr   devconnect   dsptristate   gpio   setbuffer   setinterrupt   setmontracks   setmode   settracks   sndstatus   soundcmd   locksnd

4.17.108.1 Bindings für unlocksnd

C: #include

int32_t unlocksnd( void );
Assembler:
move.w    #129,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #2,sp        ; Stack korrigieren

4.17.109 WavePlay

Name: »WavePlay« - Abspielen eines Samples
Xbiosnummer: 165
Deklaration: int32_t WavePlay( int16_t flags, int32_t rate, int32_t sptr, int32_t slen );
Beschreibung: Die XBIOS-Routine WavePlay startet das abspielen eines Samples.

flags ist ein Bitvektor für die Beschreibung des Samples bzw. auszuführenden Funktion:

Bit 0 gesetzt: Sample ist Mono.
Bit 1 gesetzt: Sample ist 16Bit.

Ist Bit 5 im '_SND' Cookie gesetzt.

Bit 4 gesetzt: Sample ist, wenn 16Bit, Intelformat.
Bit 5 gesetzt: Sample ist ohne Vorzeichen.
Bit 6 gesetzt: Sampleformat ist so wie es von MilanBlaster aufgenommen wurde.

Bit 8 gesetzt: siehe Beschreibung im Atari Compendium Band I, XBIOS 4.110-4.112. Wird vom MilanBlaster-XBios nicht unterstützt.

rate ist die Samplefrequenz in Hz.

sptr ist die Startadresse des Samples. (kann bei MilanBlaster auch im TT-Ram liegen)

slen ist die länge des Samples in Byte.
Ergebnis: Im Erfolgsfall liefert die Funktion den Wert 0, die Wiedergabe wurde dann gestartet und kann durch buffoper(0) jederzeit unterbrochen werden. Das Ende des Samples wurde erreicht wenn buffoper(-1) Bit 0 gelöscht ist.
Verfügbar: Die Funktion ist verfügbar wenn Bit 5 im '_SND' Cookie gesetzt oder der 'SAM\0' Cookie vorhanden ist.
Gruppe: Soundroutinen
Querverweis: Binding

4.17.109.1 Bindings für WavePlay

C: int32_t WavePlay( int16_t flags, int32_t rate, int32_t sptr, int32_t slen );
Assembler:
move.l    slen,-(sp)   ; Offset 12
pea       sptr         ; Offset 8
move.l    rate,-(sp)   ; Offset 4
move.w    flags,-(sp)  ; Offset 2
move.w    #165,-(sp)   ; Offset 0
trap      #14          ; XBIOS aufrufen
addq.l    #16,sp       ; Stack korrigieren

HomeXBIOSSchnittstellenprogrammierungSpezialbefehle