SOUND
Syntaxe |
---|
SOUND numéro de registre,nombre |
L'utilisation de SOUND est assez complexe pour qui n'est pas familier avec les notions d'acoustique. La génération d'un son sur le MSX résulte d'une combinaison entre les différents registres et les valeurs qui y sont mises.
Voici le tableau qui récapitule les registres, leur sens et les valeurs qui peuvent y être mises.
numéro de registre |
description |
plage de valeurs |
0 | 8 bits les moins significatifs pour la fréquence du canal A | 0-255 |
1 | 4 bits les plus significatifs pour la fréquence du canal A | 0-15 |
2 | 8 bits les moins significatifs pour la fréquence du canal B | 0-255 |
3 | 4 bits les plus significatifs pour la fréquence du canal B | 0-15 |
4 | 8 bits les moins significatifs pour la fréquence du canal C | 0-255 |
5 | 4 bits les plus significatifs pour la fréquence du canal C | 0-15 |
6 | 5 bits pour la fréquence de bruit | 0-31 |
7 | mixage | 128-191 |
8 | bits 0-3 pour le volume du canal A et si besoin bit 4 pour le contrôle du volume par enveloppe | 0-16 |
9 | bits 0-3 pour le volume du canal B et si besoin bit 4 pour le contrôle du volume par enveloppe | 0-16 |
10 | bits 0-3 pour le volume du canal C et si besoin bit 4 pour le contrôle du volume par enveloppe | 0-16 |
11 | 8 bits les moins significatifs pour la période de l'enveloppe | 0-255 |
12 | 8 bits les plus significatifs pour la période de l'enveloppe | 0-255 |
13 | forme de l'enveloppe | 0-15 |
notes :
1) la fréquence de chacun des canaux (A, B, C) est codée sur 12 bits
2) la fréquence du bruit est codée sur 5 bits
3) le mixage (registre 7) permet d'activer/désactiver le son/bruit pour chaque canal A, B, C
bit 0 : son canal A
bit 1 : son canal B
bit 2 : son canal C
bit 3 : bruit canal A
bit 4 : bruit canal B
bit 5 : bruit canal C
Exemple (tiré de MSX2-BASIC d'A. Sickler) |
---|
10 SOUND 0,250 : SOUND 1,0 20 SOUND 6,20 : SOUND 7,20 : SOUND 13,20 30 FOR I = 15 TO 0 STEP -0.05 40 SOUND 8,I 50 NEXT I 60 END |
Résultat |
---|
Le programme va provoquer un bruit de tir. |
[/fieldset]