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.13 soundcmd TOS 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