|
LONG Devconnect(WORD source, WORD dest, WORD clk, WORD prescale, WORD protocol) | Description: Connecte une source sonore à un ou plusieurs récépteurs de son à l'aide de la matrice.
Opcode: 139 (0x008b)
Availability: Présent si le bit 2 du cookie '_SND' est à 1 (0x04).
Parameters:
source indique la source sonore parmis les sources suivantes : Nom source Description DMAPLAY 0 Restitution sonore DMA DSPXMIT 1 Emission DSP EXTINP 2 Entrée externe (connecteur DSP) ADC 3 Microphone/Générateur de son Yamaha
dest est un champ de bits qui permet de choisir un ou plusieurs récépteurs de son auxquels connecter la source parmis les récépteurs suivants : Nom Masque Description DMAREC 0x01 Enregistrement sonore DMA DSPRECV 0x02 Récéption DSP EXTOUT 0x04 Sortie externe (connecteur DSP) DAC 0x08 Sortie casque ou haut parleur interne
clk désigne l'horloge utilisée pour générer les fréquences de transfert : Nom clk Description CLK_25M 0 Horloge interne 25.175 MHz CLK_EXT 1 Horloge externe (voir bug ci-dessous) CLK_32M 2 Horloge interne 32 MHz
prescale permet de choisir le diviseur de fréquence à appliquer. La fréquence de transfert est déterminée selon la formule suivante frequence = (freqence_horloge/256)/(diviseur+1)
Les diviseur valides pour l'horloge 25.175 MHz sont les suivants : Nom prescale Description/Frequence CLK_COMPAT 0 mode compatible TT030/STe. Permet d'utiliser le diviseur positionné à l'aide de Soundcmd(). CLK_50K 1 49170 Hz CLK_33K 2 32780 Hz CLK_25K 3 24585 Hz CLK_20K 4 19668 Hz CLK_16K 5 16390 Hz CLK_12K 7 12292 Hz CLK_10K 9 9834 Hz CLK_8K 11 8195 Hz
protocol permet d'effectuer des transferts sans perte de donnée. La valeur HANDSHAKE (0) met en place un système de rendez-vous pour transférer les données sans perte, tandis que la valeur NO_SHAKE (1) désactive ce système. Lorsque vous transférez des données sonores à travers la matrice vers la sortie casque ou depuis le microphone, il est recommandé de désactiver le système de rendez-vous et de transférer les données avec perte. Au contraire si vous transférer des données qui ne doivent pas être altérées, utilisez ce système pour transférer sans perte.
Binding: move.w protocol,-(sp) move.w prescale,-(sp) move.w clk,-(sp) move.w dest,-(sp) move.w source,-(sp) move.w #$8B,-(sp) trap #14 lea 12(sp),sp Return value: Devconnect() renvoie 0 en cas de succès et une valeur non nulle sinon.
Definition:Si vous utilisez un diviseur de fréquence invalide, aucun son ne sera émis, le système restera muet.
Devconnect() est buggé en ce qui concerne l'utilisation d'une horloge externe. En effet, après avoir appelé Devconnect() avec le paramètre clk égal à CLK_EXT (1), il faut positionner les bits 13 et 14 de l'addesse $FF8930 comme suit :
or.w #$6000,$ff8930
Pour utiliser de nouveau l'horloge interne à 25 MHz, après avoir appelé Devconnect() avec le paramètre clk égal à CLK_25M (0) vous devez remettre les bits en question à zéro comme ceci :
and.w #$9fff,$ff8930
Pour l'ordinateur, les hauts parleurs sont des récépteurs de son et non des sources. En parlant de source sonore et de récépteur de son, nous considérons donc ici le point de vue de l'ordinateur.
mailto: Stabylo
HTTP: http://removers.atari.org
See Also: Soundcmd() |
Merci de votre visite sur GEMTOS!!!
(C) 2000 Gemtos.free.fr. All rights reserved by the authors.
|