6/5 Logiciels6/5.2 Emission d'un Beep sonore en utilisant la macro du firmware MC SOUND REGISTER 6/5.2.1 Emission d'un beep sonore paramétrable Ce chapitre complète le précédent. Il propose d'utiliser la macro du firmware MC SOUND REGISTER de façon paramétrique. En clair, la note à émettre et son volume peuvent être directement choisis à partir du Basic. Comment utiliser le programme Si vous désirez utiliser la version Assembleur du programme, entrez le listing suivant : Compilez-le et passez lui les trois paramètres qu'il attend à l'aide de commandes Basic. Par exemple : 10 POKE &9F00,40 'Poids fort de la fréquence 20 POKE &9F01,1 'Poids faible de la fréquence 30 POKE &9F02,12 'Volume 40 CALL &9000 'Activation du beepUn autre moyen plus confortable consiste à utiliser le chargeur Basic suivant :
Voici les données de checksum correspondantes : 5E 4C E2 87Le programme en détailLa logique du programme Assembleur apparaît dans l'ordinogramme suivant : 
Les données passées au programme dans les mémoires 9F00 à 9F02 sont lues et passées à la macro SOUND : LD A,(FREQH) ⇒ Fréquence haute LD C,A LD A,0 CALL SOUND LD A,(VOL) ⇒ Volume LD C,A LD A,8 CALL SOUND Le canal A est ensuite validé, ce qui provoque l'émission du son précédemment programmé : LD A,7 LD C,8 CALL SOUND Une boucle d'attente basée sur la décrémentation de la paire de registres HL maintient l'émission du son pendant un bref instant : LD HL,0FFFFH BOU: EQU $ DEC HL LD A,H OR L JR NZ,BOU Le son est ensuite coupé en dévalidant le canal A : LD A,8 LD C,0 CALL SOUND CPCrulez[Content Management System] v8.732-desktop Page créée en 670 millisecondes et consultée 395 foisL'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. |
|