| |
En effet si le GS a seulement huit canaux de sortie, alors on pourrait croire qu'il ne peut seulement jouer que huit sons diff�rents simultan�ment. Aussi comment puis je digitaliser quinze sons diff�rents et les jouer tous simultan�ment ?
L'APPLE IIGS dispose du circuit ENSONIQ 5503 DIGITAL OSCILLATOR CHIP que l'on appelera par la suite DOC.
Le DOC dispose de 32 oscillateurs ind�pendants et de sa propre RAM de 64K.
Notons d'ores et d�j� que cette RAM n'est pas adressable par le CPU et ne permet pas d'ex�cuter des programmes qui y seraient stock�s. Il faut obigatoirement passer par le SOUND GLU et ses commutateurs. Au d�marrage � froid cette RAM est initialis�e avec des $80 et n'est pas effac�e par un red�marrage � chaud.
Les valeurs � mettre dans cette RAM sont de $01 � $FF pour indiquer chaque constituant de son. la valeur $00 marque la fin d'un son.
Mais attention les sons ne peuvent pas avoir n'importe quelle longueur ! les seules longueurs admises sont :
$100, $200, $400, $800, $1000, $2000, $4000 ou $8000.
De surcro�t ces sons ne peuvent pas commencer � n'importe quelle adresse dans la RAM, mais sur un d�but de page correpondant ; cela d�pend donc leur longueur.
Longueur Adresse haute des pages possibles
----------------------------------------------------------------------------------------------
$8000 $00 $80
----------------------------------------------------------------------------------------------
$4000 $00 $40 $80 $C0
----------------------------------------------------------------------------------------------
$2000 $00 $20 $40 $60 $80 $A0 $C0 $E0
----------------------------------------------------------------------------------------------
$1000 $00 $10 $20 $30 $40 $50 $60 $70 $80 $90 $A0 $B0 $C0 $D0 $E0 $F0
----------------------------------------------------------------------------------------------
$0800 $00 $08 $10 $18 ... etc ... on ajoute $08 � chaque page pr�c�dente
----------------------------------------------------------------------------------------------
$0400 $00 $04 $08 $0C ... etc ... on ajoute $04 � chaque page pr�c�dente
----------------------------------------------------------------------------------------------
$0200 $00 $02 $04 $06 ... etc ... on ajoute $02 � chaque page pr�c�dente
----------------------------------------------------------------------------------------------
$0100 $00 $02 $03 $04 ... etc ... on ajoute $01 � chaque page pr�c�dente
----------------------------------------------------------------------------------------------
Chaque paire d'oscillateurs peut produire des effets avec chacun des canaux qui sont ind�pendants des lignes de sorties tout comme le haut-parleur gauche et le haut-parleur droit.
Le DOC est donc un coprocessor avec sa propre RAM de 64K d�di�e. Tous les �chantillons de sons doivent �tre plac�s dans cette RAM avant qu'ils puissent �tre jou�s. Les 32 oscillateurs sont essentiellement des canaux ayant un acc�s direct � la m�moire (DMA). Leur fonction de base est de balayer la zone des �chantillons pr�sents en m�moire et de les jouer . Ils peuvent ainsi le faire avec des vitesses variables (r�p�tition automatique ou saut d'�chantillon selon les besoins), ils peuvent faire des boucles , ils s'arr�tent quand ils lisent un z�ro, ils ont des position de volume ind�pendants les uns des autres, et diverses autres choses qui facilitent la reproduction des sons d'instruments complexes sans charger le CPU.
Quand vous programmez le DOC, il est alors capable de jouer 32 sons simultan�ment et ind�pendants les uns des autres, sons qui doivent �tre plac�s correctement dans la RAM du DOC.
Les oscillateurs ne fonctionnent pas tous de fa�on parfaitement identique. Pour les sons de base ils peuvent fonctionner seuls mais pour les sons complexes ils doivent �tre appair�s. C'est de l� que vient le concept de g�n�rateurs mais les 16 g�n�rateurs SONT du point de vue fonctionnement absolument identiques et c'est pourquoi le logiciel pr�f�re le concept de g�n�rateur. Les oscillateurs et les g�n�rateurs sont num�rot�s � partir de 0, ainsi les oscillateurs 0 et 1 constituent le g�n�rateur 0, les oscillateurs 2 et 3 constituent le g�n�rateur 1, et ainsi de suite.
Le g�n�rateur 15 (oscillateurs 30 et 31) est r�serv� pour l'usage de syst�me (un oscillateur est positionn� pour faire une boucle lente avec un volume nul, cela r�alise ainsi le tempo. D�tail : si l'autre est employ� par n'importe quoi, il est probablement utilis� pour jouer des �chantillons en mono).
La plupart des logiciels utilisent un g�n�rateur par voie. Ainsi 15 g�n�rateurs sont laiss�s de c�t� et de ce fait sp�cifier que le GS a 15 voies plus juste
La sortie qui vient du DOC est une sortie multiplex�e � cinq bits num�riques. Voici qui se passe : le DOC passe sur chaque oscillateur alternativement, et pour chaque oscillateur la valeur courante de son est multipli�e par le niveau de volume des oscillateurs puis une tension proportionnelle est produite sur la sortie son. Quatre des bits num�rique sont d�terminet le num�ro de canal et le dernier change simplement la tension d'environ 3 volts en 0.5 volts.
Le mat�riel externe est charg� de d�multiplexer les divers canaux (4 bits signifie qu'il peut y en avoir 16) et de produire separement les sons. La carte m�re juste ignore les param�tres des canaux et m�lange toutes les sorties dans le jack speaker/earphone. Le connecteur son sur la carte m�re a la place pour 3 des quatre bits, ainsi les cartes d'expansion qui se branchent � ce connecteur ne peuvent obtenir que seulement 8 canaux s�par�s. La plupart des cartes st�r�o (Sonic Blaster d'AE, par exemple) pr�tent seulement attention � ces bits et des canaux sont donc ignor�s.
|