Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File4.17.12 sndstatus TOS 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: Bindingbuffoperbuffptrdevconnectdsptristategpiolocksndsetbuffersetinterruptsetmontrackssetmodesettrackssoundcmdunlocksnd