Please Wait While Music Loading

From Amstrad CPC User Facebook Page


J’ai découvert sur Internet, via une page Facebook anglaise dédiée aux Amstrad CPC, un petit programme en BASIC qui permet un effet bien sympatoche. J’ai donc contacté Leonne Filippo pour lui demander l’autorisation de publier son listing. Au passage, je me suis permis de modifier quelques lignes afin d’ajouter du texte et de petits logos CNR TEAM, histoire de créer un effet somme toute assez basique, mais franchement marrant ! Encore un grand merci à Leonne Filippo pour son travail de programmation : même en BASIC, on peut faire de petites choses bien sympas avec son Amstrad CPC. ;-)

Il ne vous reste plus qu’à taper ce code BASIC — que j’ai réduit à 15 lignes — et à découvrir l’effet qu’il va produire sur votre Amstrad CPC. J’espère que cela vous plaira. Si vous aussi avez de petits programmes BASIC à partager, n’hésitez pas à contacter la rédaction de Crack’n Rom : nous serons ravis de vous publier. Et si vous avez la flemme de taper ce listing sur votre vrai CPC, il vous suffit de cliquer sur le lien après l’explication du code pour le découvrir en live, directement en ligne… où bien sur celui encore en dessous pour télécharger le .dsk.

Décortiquons ensemble ce petit programme BASIC modifié à nos couleurs, signé (dans sa version d’origine) Leonne Filippo et publié sur le groupe Facebook « Amstrad CPC User », avec son aimable autorisation de publication.
- La ligne 10 prépare l’aire de jeu : passage en MODE 2, définition des encres, du stylo et de la bordure, effacement de l’écran, puis affichage du long message d’introduction. Comme la phrase dépasse la largeur de l’écran (80 colonnes en MODE 2), le CPC enchaîne automatiquement sur la ligne suivante, sans qu’aucun retour chariot ne soit nécessaire dans le code.
- Les lignes 40 à 48 dessinent ensuite les logos fixes. À gauche, le sigle « cnr » est reconstruit lettre par lettre en jouant sur les espaces dans les chaînes de caractères. Chaque LOCATE place le curseur texte au début d’une “ligne” du lettrage, et les PRINT successifs construisent les blocs de lettres en pseudo-ASCII art. À droite, même principe pour le mot « TEAM », mais cette fois en haut de l’écran pour encadrer le message.
- La ligne 50 regroupe toutes les initialisations liées à l’animation. ENT et ENV peuvent servir à définir des enveloppes sonores, DEFINT a-z force toutes les variables à être entières, ce qui simplifie les calculs de coordonnées. L’instruction TAG active l’impression de texte en mode graphique : MOVE utilisera désormais des coordonnées en pixels, et non plus en caractères. Dans la foulée, x, y, dx et dy sont initialisés pour donner à « CNR Team » une position de départ et une vitesse de déplacement, puis une série de MOVE/DRAW trace le cadre rectangulaire. Ce rectangle rend visible la “fenêtre” de rebond dans laquelle le texte va venir taper, plutôt que de donner l’impression qu’il cogne contre des bords invisibles.
- À partir de 110, on entre dans la boucle d’animation. L’appel firmware CALL &BD19 cadence chaque tour sur le retour du balayage vertical, ce qui limite le scintillement (on reste néanmoins en BASIC). La ligne 120 efface l’ancienne position en imprimant une petite traînée de caractères blancs (des espaces), puis met à jour les coordonnées x et y. Les tests 150 et 160 définissent le rectangle de jeu : lorsque le texte touche un bord, le signe de dx ou dy est inversé, la bordure passe brièvement à une autre couleur et un petit « gling » façon flipper est joué grâce à deux instructions SOUND sur des canaux différents. La ligne 170 redessine alors « CNR Team » à sa nouvelle position, tandis que la ligne 180 rétablit la bordure à la couleur 3 et relance la boucle.
- Résultat : un logo « CNR Team » qui rebondit dans un cadre défini, sous le regard du grand titre et des lettrages fixes. Un exemple simple, parfait pour illustrer l’usage combiné du texte, du mode graphique et des appels firmware sur CPC.
- Pour rappel :ENT/ENV définissent les enveloppes de tonalité et de volume du PSG du CPC. CALL &BD19 correspond à la routine firmware MC WAIT FLYBACK, qui attend le retour de balayage vertical pour synchroniser l’animation.

(( Clique ICI pour découvrir Text Rebond Leonne Filippo ))

Telecharge le fichier DSK
-- ICI --

Encore un grand 🙏 merci à Leonne Filippo
Pour son listing basic sur CNR
et à Slype pour son aide précieuse

Crack'n Rom Nostalgie