Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : AMOS - Banques de musique
(Article écrit par François Lionet et extrait d'Amiga News Tech - juin 1991)
|
|
Comme promis le mois dernier, voici le format des banques
de musique. Accrochez-vous, car c'est assez complexe ! La place me manquera ce mois pour vous proposer
un programme permettant de mettre plusieurs musiques dans une seule banque. Pour le mois prochain, c'est promis.
Les banques de musique sont entièrement relogeables. De plus, elles sont structurées en trois grandes parties,
totalement indépendantes :
- Les instruments.
- Les musiques, qui ne sont qu'une suite des numéros des motifs rythmiques (patterns) à jouer.
- Les patrons contenant les notes.
Comme d'habitude, je vais vous décrire le format sous la forme d'un listing assembleur :
Quelques remarques, comme elles me viennent :
- Tout est relogeable : contrairement à SoundTracker, le lecteur (player)
n'a pas besoin de modifier les adresses dans la banque avant de jouer la musique.
- Le nombre d'instruments est illimité (heu, si, à 65 536 !).
- Le nombre de patrons est lui aussi illimité (même remarque).
- Avec un peu de programmation, on peut gagner beaucoup de place : plusieurs musiques peuvent partager
les mêmes instruments, les mêmes patrons.
- Ce format de banque (et le format des patrons dont je ne vous ai pas parlé) permet
d'émuler plusieurs programmes musicaux.
- Il manque un réel éditeur exploitant les possibilités de ces banques (ne me le répétez pas, je le sais !).
Format sur disque
Les banques de musique sont sauvées telles quelles sur la disquette, en rajoutant simplement le petit en-tête AMOS :
Note : $80000000 indique à AMOS de charger la banque en mémoire Chip.
Petite application
Pour répondre à de très nombreuses demandes (au moins deux), voici comment savoir
si une musique est terminée. Il existe une fonction non documentée dans le manuel,
qui retourne l'adresse de la zone de données de l'extension musicale : "=MUBASE".
A partir de cette adresse, on peut connaître beaucoup de choses, dont les compteurs de
chacune des voies jouées. La procédure MUSTOPPED ci-jointe retourne la valeur 0 si
la musique est arrêtée, et une valeur différente de 0 (l'addition des valeurs des
trois compteurs) lorsque qu'une musique est en cours. Vous devez bien sûr, pour en voir
l'effet, charger une banque de musique en mode direct.
Ciao
Bien, c'est tout pour aujourd'hui. Je laisse la parole (enfin, le clavier) à mon chien.
Autant vous prévenir tout de suite, elle est complètement mégalo, vous vous en rendrez
vite compte. Elle va certainement vous dire que c'est elle qui a programmé AMOS,
et qu'elle est en train de terminer le compilateur, etc. Je m'élève en faux contre toutes
ces affirmations ! De toute façon, pour la punir, ce soir pas de Royal-Canin !
On verra bien qui des deux aura raison à la fin...
|