	Son DMA sur TT et Falcon
	************************


l'(IN)COMPATIBILITE
*******************

	Depuis le STE, les Ataris sont capables de restituer un son de
qualit en DMA (sans l'intervention du processeur) et en stro jusqu' la
coquette frquence de 50 KHz.
	Pour mmoire, les cartes habituelles sur PC restituent au maximum
44.1KHz, mais il est vrai qu'elles travaillent en 16 bits comme le Falcon
au lieu de 8 bits pour les STE et TT.

	La lecture des diffrents ouvrages de rfrence montre que le TT
et le Falcon peuvent bnficer du son DMA de manire compatible avec le
STE. Ceci veut dire qu'un programme 'sonoris' sur STE devrait tourner
sans problmes sur ses grands frres. Oui, mais...


LE TEST
*******

	Si je choisis un son en 8 bits (un octet) et mono  la frquence
DMA de 12517 Hertz, cela veut dire que chaque seconde 12517 octets sont
utiliss. En utilisant ce principe, un buffer de 3.000.000 d'octets sera
jou en 3.000.000/12517 = 239.67 secondes.
	J'ai ralis exactement ce test sur un STE, un TT et un Falcon,
voici les rsultats:

	STE   : 239.67 secondes
	TT    : 238.39 secondes
	Falcon: 244.06 secondes

	Le mme test ralis avec les autres frquences DMA (25033 et
50066) montre des carts proportionnels.

	Nous pouvons maintenant calculer quelles sont les frquences
relles de chaque machine:
	STE   : 3.000.000/239.67 = 12517 Hz (normal!)
	TT    : 3.000.000/238.39 = 12585 Hz (un peu plus rapide!)
	Falcon: 3.000.000/244.06 = 12292 Hz (un peu plus lent!).

OUI, ET ALORS?
**************

	Mme si  l'oreille la diffrence n'est pas flagrante, ces petites
erreurs sont trs visibles sur des programmes ncessitant une parfaite
synchro Image/Son: en 4 minutes, le TT accuse une diffrence de plus d'une
seconde et le Falcon une diffrence de plus de 4 secondes. Si vous avez 
l'cran un personnage qui parle ou des gens senss danser en cadence,
l'effet est plutt dsastreux.

EXPLICATION SUR LA FALCON
*************************

	Le systme sonore du Falcon a t entirement revu et apporte de
srieuses amliorations. Mais, le quartz qui cadence ce nouveau systme 
lui aussi chang. Il tait alors difficile de retomber exactement sur les
frquences DMA du STE, on ne pouvait plus que les approcher et garder une
compatibilit relative (les plantages sont au moins vits). Ainsi, pour
tout calcul de dure d'un son DMA sur le Falcon il faut utiliser les
valeurs ci-dessous, mme dans le mode "STE compatible":
	remplacer 12517 par 12292,
	remplacer 25033 par 24585,
	remplacer 50066 par 49170.

	Un Falcon se dtecte grce au cookie "_MCH" gal  $00030000.

LE TT N'EST PAS A 32 MHZ
************************

	Je ne suis pas certain de l'explication donc je ne peux faire que
des suppositions. En effet, j'avais reu  une lointaine poque, une
documentation dveloppeur sur le TT directement de chez Atari: "Atari
TT030 Hardware Reference Manual/June 1990" dans lequel il est dit
clairement que "The DMA sound subsystem is the same as the one in the STE"
et o l'on retrouve la liste des registres hardware concerns et la liste
des frquences identiques  celles du STE.
	On me faisait galement remarquer que les frquences DMA peuvent
se retrouver en faisant un prdivision classique sur 32MHz, la frquence
du TT:
	32.000.000/2560=12500 (proche de 12517)
	32.000.000/1280=25000 (proche de 25033)
	32.000.000/640=50000 (proche de 50066)

	Cela voudrait-il dire que le TT n'est pas cadenc exactement 
32MHz? On peut raisonnablement le penser car on trouve plus loin dans
cette documentation Atari le dtail suivant concernant l'interface VME:
"SYSCLK is driven with a 16.107953 MHz clock in the TT030". Cette
valeur proche de 16MHz doit tre la moiti d'une autre valeur proche de
32MHz si vous me suivez: on obtient 32.215.906 Hz. Passons-l aux tests:

	32.215.906/2560 = 12584 (a me rappelle quelque chose!)
	32.215.906/1280 = 25169 (comme dans mes tests!)
	32.215.906/640 = 50337 (comme dans mes tests!).

	Cette explication semble la bonne, mme si je ne puis pas
l'assurer, mais avouez que la concidence serait forte! En bref, si vous
devez faire un calcul de dure d'un son DMA sur le TT il faut utiliser les
valeurs ci-dessous:

	remplacer 12517 par 12584,
	remplacer 25033 par 25169,
	remplacer 50066 par 50337.

	Un TT se dtecte grce au cookie "_MCH" gal  $00020000.

ET LES ACCELERATEURS?
*********************

	Ils ne semblent pas influer sur la restitution du son DMA, les
cartes additionnelles rinjectent une nouvelle frquence au niveau du CPU
seulement. Sur TT, la CaTTamaran 48MHz ou sur Falcon la Speed Resolution
Card ne modifient pas le son DMA.

EN CONCLUSION
*************

	Vous pouvez firement dire que votre TT est cadenc  32.2 MHz,
c'est un lger acclrateur dont il faudra se contenter... Vous trouverez
sur ma page WEB un petit programme compress dans DMASOUND.ZIP (moins de
2Ko) qui permet de calculer la frquence relle du son DMA d'une machine
Atari (donc pas sur STF ni sur HADES qui doivent se contenter du YAMAHA).
Pour information, la prsence du son DMA se dtecte grce au cookie "_SND"
si le bit 1 est mis, c'est  dire si "Valeur_cookie AND 2" est non nul.

	Guillaume TELLO
	gtello@wanadoo.fr
	http://perso.wanadoo.fr/gtello/
