APPLICATIONSCREATION GRAPHIQUE ★ CHERRY-PAINT (CPC REVUE N°5 -> 9) ★

CHERRY PAINT (CPC Revue n°5)CHERRY PAINT (CPC Revue n°6)CHERRY PAINT (CPC Revue n°7)CHERRY PAINT (CPC Revue n°8)CHERRY PAINT (CPC Revue n°9)
Bonjour à tous les amis de Cherry-Paint. Vous qui avez eu le courage de taper les listings précédents, vous allez enfin être récompensé de votre persévérance, car avec le listing d'aujourd'hui, vous pourrez commencer à dessiner.

Effectivement, le programme présenté aujourd'hui contient deux routines.

La première routine fera fonctionner le crayon. Lorsque le crayon est sélectionné et qu'il se trouve à l'intérieur de la fenêtre de travail, il suffit d'appuyer sur la barre d'espacement pour que le point situé à la pointe du crayon devienne noir, appuyez une seconde fois, et le point redevient blanc. On peut ainsi inverser n'importe quel point de la fenêtre de travail.

Si on combine l'action du crayon avec un déplacement (à l'aide des touches fléchées ou du joystick), on pourra tracer des lignes droites. La couleur de cette droite dépendra de la couleur du point de départ : si ce point est noir, la droite sera blanche et vice-versa. La deuxième routine fera fonctionner la gomme. Comme pour le crayon, il faudra sélectionner la gomme dans la grille des outils. Dès que l'on appuie sur la barre d'espacement, la partie de l'image située sous la gomme sera effacée, c'est-à-dire remplie de blanc.

Comme avec le crayon, on peut déplacer la gomme en appuyant sur la barre d'espacement ; dans ce cas, tout ce qui passe sous la gomme sera effacé.

Mais, avant d'essayer le crayon et la gomme, il va falloir que vous introduisiez le code machine. Pour vous faciliter cette tâche, et pour éviter les erreurs de recopie, je vous conseille d'utiliser le programme n° 1 qui est un chargeur de code hexadécimal. Le grand avantage de ce programme est qu'il effectue une somme de contrôle, ce qui limite au maximum les erreurs de frappe. Soyez tout de même attentif, car ce type de contrôle ne détecte pas l'inversion de deux nombres ! Commencez par taper le chargeur, puis sauvegardez-le, lancez-le avec RUN : il affichera l'adresse de départ (8629). Vous pouvez alors taper les huit premiers nombres hexadécimaux du listing (ne tapez pas le &, le programme s'en charge pour vous). Ensuite, tapez la somme de contrôle du listing. Si tout est correct, vous passez à la ligne suivante, sinon, vous recommencez la même ligne (le programme a détecté une erreur). Lorsque toutes les lignes de code sont introduites, le programme de saisie sauve les deux routines dans un fichier binaire. Pour faire fonctionner alors le programme complet avec les deux nouvelles routines, il faut taper le programme Basic n°2, le sauver et l'exécuter, vous pourrez enfin essayer le crayon et la gomme ! Nous allons voir maintenant le fonctionnement de ces routines un peu plus en détail.

Le mois dernier, nous avons vu que, pour déplacer une icône, il est nécessaire d'effectuer les quatre opérations suivantes :

  • rappel du fond situé sous f icône (effacement),
  • sauvegarde du fond sous l'icône,
  • masquage AND de l'icône,
  • masquage OR de l'icône.
Nous avons vu également que ces opérations étaient effectuées sous interruption tous les 1/50e de seconde, pendant le retour-trame du spot.

Si, par exemple, pour le crayon, on effectue le tracé de la droite en dehors du sous-programme d'interruption, on trace par dessus le crayon et donc 1/50 de seconde plus tard au maximum, lorsque le crayon sera effacé la prochaine fois, notre tracé disparaîtra avec lui !

On voit donc que pour le crayon ou la gomme, il est nécessaire d'effectuer l'action (tracer ou effacer) entre le moment où l'ancienne icône a été effacée et le moment où la nouvelle va être dessinée. Il sera donc nécessaire d'avoir des routines extrêmement rapides pour éviter tout clignotement.

Pour le tracé d'une droite par exemple, la routine de la ROM moniteur est beaucoup trop lente, il a donc été nécessaire de réécrire une routine rapide de tracé des droites.

Pour que l'action s'effectue effectivement pendant le sous-programme d'interruption, il faut que chaque routine (crayon, gomme, etc.) détourne le sous-programme d'interruption pour effectuer son traitement spécifique, puis retourne au sous-programme d'interruption principal pour réafficher l'icône. Comme tout ceci se passe 50 fois par seconde, on a l'illusion que le traitement s'effectue en-dessous de l'icône.

Voilà pour aujourd'hui, le mois prochain, nous ferons fonctionner la bombe aérosol et le pot de peinture avec les différentes formes de pinceaux ainsi que les trames.

CPC

★ PUBLISHERS: CPC Revue
★ ANNÉE: 1986
★ CONFIG: AMSDOS + 64K
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTHOR: Pascal HIGELIN
    


Page précédente : Cherry-Paint
★ AMSTRAD CPC ★ DOWNLOAD ★

Aucun fichier de disponible:
» Vous avez des fichiers que nous ne possédons pas concernent cette page ?
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Move it (Binary Banana)
» Applications » Vector
» Applications » Model Universe (Arnor)
» Applications » Scanner (Happy Computer)
» Applications » Screen Catcher
» Applications » Mini-Movie (CPC Magazin)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» 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.732-desktop/c
Page créée en 665 millisecondes et consultée 4612 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.