CODINGCLASSEURS 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 BASIC

6/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.

  • Premier listing : « Caraïbo »


  • Second listing : « Percussions »

  • Troisième listing : « Boléro »




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.

Page précédente : 6/3 - Programmation du circuit sonore en BASIC
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 046 millisecondes et consultée 260 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.