★ CODING ★ CLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
6/3.1 - Exemples d'utilisation du générateur sonore en Basic (29e Complément) | Coding Classeurs Weka |
6/3 - Programmation du circuit sonore en BASIC6/3.1 - Exemples d'utilisation du générateur sonore en Basic Nous vous proposons trois programmes écrits en Basic qui utilisent les trois voix du générateur sonore. Ces trois programmes sont tous construits sur le modèle sans interruption. Si vous désirez les incorporer dans vos programmes de jeu, il sera très simple de les rendre interrup-tibles en utilisant ce qui a été dit au sujet des interruptions dans cette partie. Comment utiliser le programme Voici les listings des trois programmes. Pour les exécuter, il suffit de taper RUN. L'appui sur une touche quelconque du clavier pendant l'exécution d'un morceau le stoppe et redonne le contrôle au Basic.
Le programme en détail La logique des trois programmes est assez similaire. Voici par exemple celle du premier programme :
L'enveloppe est définie à l'aide d'une instruction ENV : 1050 ENV 3,2,7,1,1,0,2,5,-1,4 Les données sont réinitialisées ligne 1300 à l'aide d'une instruction RESTORE : 1060 RESTORE 1300 Les instructions suivantes lisent les données musicales qui se trouvent lignes 1300 à 1540 et les passent générateur sonore. Le premier morceau étant composé de 128 notes, la boucle FOR de lecture se fait entre 1 et 128 : 1070 FOR i=1 TO 128 1240 NEXT i Les données sont stockées sous la forme de triplets : Voix1, Voix2, Voix3 Une instruction READ les stocke dans les variables p, p1 et p2 : 1080 READ p,p1,p2 Le programme teste alors si le clavier a été activé. Si oui, il met fin au programme : 1090 a$=inkey$ 1100 IF a$ < > "" THEN END Dans le cas contraire, les trois données musicales lues sont envoyées au générateur sonore à l'aide d'instructions SOUND. L'émission des sons dépend de la valeur de la première donnée. Cette méthode permet de définir un rythme à moindres frais : 1110 IF p < > 4 THEN 1160 1230 SOUND 4,p2,18,13,3 Les instructions suivantes définissent les données des trois voix (lignes 1300 à 1530). La ligne 1540 redonne le contrôle à la ligne 1060, ce qui fait « boucler » le programme.
|