•  Back 
  •  Soundroutinen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
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:  Binding   buffoper   buffptr   devconnect   dsptristate 
                 gpio   locksnd   setbuffer   setinterrupt 
               setmontracks   setmode   settracks   soundcmd 
               unlocksnd