APPLICATIONSDIVERS ★ PLAY ★

Play (AM-Mag)Applications Divers
Lors de l'adaptation d'une œuvre musicale aux trois voix du CPC, quel musicien n'a pesté contre la fastidieuse commande SOUND du basic Amstrad ?
Cette merveilleuse routine en langage machine (accessible via quatre RSX) facilitera désormais la vie de nos compositeurs en herbe. Celle-ci permet en effet d'ordonner directement'l'exécution des chaînes musicales codées «naturellement». Ainsi, la transcription d'une partition s'effectuera le plus simplement du monde, par l'écriture sur les trois voix des notes nommées sous leur «vrai» nom (do, ré, mi, etc.).

Le programme basic de démonstration. offre un aperçu des possibilités de la routine, ainsi qu'un exemple concret d'utilisation.

Mode d'emploi

|VOIX,1,chaîne alphanumérique: affectation au canal A (voix droite) d'une chaîne musicale. Celle-ci peut être transmise soit directement, soit par le biais d'une variable alphanumérique ;

exemple : |VOIX,1,"DOREMIFASOL" (uniquement sur 6128)

A$="SILASOLFAMI" : |VOIX,1 , @AS (compatible 464/6128)

|VOIX,2,chaîne alphanumérique : idem, canal B (voix gauche).

|VOIX,3,chaîne alphanumérique : idem, canal C (voix droite / gauche).

La chaîne musicale doit respecter certaines règles syntaxiques; elle ne doit comporter que des majuscules et peut comprendre :
– Les sept notes de base de la gamme (DO. RE. Ml. FA. SOL. LA, SI).
– Les altérations dièse (#) et bémol (b) placées avant la note à altérer : exemple : |VOIX. 1 ,"DOREMIFASOL#FA#MIREDDO"
– Le numéro de l'octave (1 à 8) précédé de la lettre O ;

Exemple :

|VOIX,1,"O4D0REMIFAS0L LASI05D004SILAS0LFAMIREDO"

– La durée de la note, comportant obligatoirement deux chiffres (01 à 99), précédée de la lettre U (le tout précédant la note). Le tableau suivant précise la correspondance note / durée.

Exemple :

|VOIX ,1 ,"O4U24REU18SOLLUO6SOLU24SOLLAU18SIUO6SIU36SIU12SILASIO5U24DOO4FA#LASOL"

– La base de temps utilisée ( 1 à 9) précédée de la lettre B et servant à fixer le tempo ;

exemple :

B3 = tempo de 80 à la noire.
B2 = tempo de 1 20 à la noire.

– Le volume, comportant obligatoirement deux chiffres (01 à 1 5). précédé de la lettre V exemple :

|VOIX,1,"V13DOREMIFASOLVO5SOLFAMIREDO"

– Les figures de silence classique, spécifiées par un nombre à deux chiffres précédé de la lettre P. Le tableau suivant précise la relation valeur/silence.

Exemple

|VOIX,1,"04S0LP48U24S0LP48U72S0LP24SI05D004FA"

Les valeurs allouées à l'octave. à la durée de la note, au tempo et au volume, restent constantes à l'intérieur, de la chaîne musicale jusqu'à modification. Par défaut, ses valeurs sont: O4, U24. B2 et V12.

|PLAY,nombre d'exécutions : exécute le nombre de fois spécifié, les chaînes musicales préalablement affectées. Le paramètre facultatif « nombre d'exécutions », vaut 1 par défaut et peut être transmis directement ou via une variable numérique. Après exécution de cette instruction, les données de chacune des voix sont réinitialisées.

Si aucune chaîne alphanumérique n'a été transmise à l'un des canaux avant l'appel de cette instruction, le canal en question restera évidemment muet : exemple :

|VOIX, 1 ,"04U12D0REMIFASOLLASILASOLFAMIREDO"
|VOIX, 2, "05U12D004SILASOLFAMIREMIFASOLLASIO5DO"

|PLAY,1 (ou plus simplement, PLAY)

Remarque: toute erreur de syntaxedans l'unedeschaînes musicales, sera détectée lors de l'exécution et signalée par l'affichage d'un message du type « Erreur sur le canal... ».

Sauvegarde

Sauvez sous un nom de votre choix, le programme Basic de démonstration. Entrez ensuite par Amsaisie (reportez-vous à son moded'emploi), le court listing de codes hexadéci-maux. Spécifiez 9500 comme adresse de début et sauvegardez le fichier binaire par l'option « S » sous le nom « PLAY ».

La mise en œuvre des RSX nécessite la procédure de chargement :

MEMORY &94FF : LOAD "PLAY.BIN",&9500 : CALL &9500

AMMAG n°43

★ EDITEUR: AM-MAG
★ ANNÉE: 1988
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Philippe Marin
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RSX-PLAYDATE: 2012-05-08
DL: 233
TYPE: ZIP
SiZE: 5Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RSX Magic Paint
» Applications » BankRSX
» Applications » RSX Pattern-Copy (Schneider Magazin)
» Applications » 16 RSX Befehle by Alexander Bloss (Compute Mit)
» Applications » RSX SuperBASIC (Amstrad Action)
» Applications » RSX REC,SAVE,LOAD (Schneider Aktiv)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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/c
Page créée en 176 millisecondes et consultée 1650 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.