Dans l'article de ce mois, nous allons voir le menu déroulant "Facilités", ainsi que le cadre pointillé qui nous permettra de faire du couper-coller, ce qui va grandement faciliter la création de vos futurs dessins. Commençons par le menu "Facilités" : dans ce menu, deux options sont disponibles : "Défais" et "Page entière" (voir figure 1). "Défais" est une option très commode car elle permet à tout moment d'effacer la dernière action entreprise (crayon, gomme, etc.). Ceux qui n'ont jamais souhaité pouvoir supprimer un coup de pinceau hâtif ou un coup de gomme ravageur, sont autorisés à passer au paragraphe suivant. Les autres, qui sont par conséquent des maladroits, continuent à lire ce paragraphe. Je disais donc que "défais" permet de supprimer la dernière action (c'est l'équivalent de la fonction OOPS, bien connue de tous les Applemaniaques !), excepté "Nouvelle page", donc prudence ! La dernière action est tout ce qui s'est passé depuis la dernière sélection d'un outil, une impression, nouvelle page ou page entière. En clair : si vous donnez trois coups de pinceau consécutifs, puis sélectionnez Défais, les trois traits seront effacés. Voyons maintenant comment "ça marche". CHERRY-PAINT conserve à tout moment une seconde "image" en mémoire ; cette image contient l'écran complet. A chaque sélection d'un nouvel outil, déplacement par la main, impression, nouvelle page et page entière, la deuxième image est remise à jour. Donc, pendant l'utilisation de n'importe quel outil, cette image contient l'état de l'écran avant l'utilisation de cet outil. Comme vous l'avez sans doute deviné, "Défais" ne fait que recopier la partie visible de la seconde image sur l'écran, ce qui supprime effectivement toutes les modifications depuis la dernière mise à jour de l'image 2. "Page entière" permet de voir le contenu de l'image complète dans un cadre. L'image est réduite par deux horizontalement et verticalement pour pouvoir rentrer dans le cadre. Cette fonction est utile pour voir l'image entière (je ne vous le fais pas dire !), lors d'opérations de mise en page avec les fonctions "couper" -"coller" que nous verrons d'ailleurs un peu plus tard. Il suffit de cliquer sur "facilités" et de sélectionner "Page entière', pour voir apparaître une magnifique fenêtre contenant l'image réduite. Cette fenêtre (comme d'ailleurs toutes les fenêtres) peut être déplacée et fermée. Voilà, c'est tout ! Pour fabriquer l'image réduite, il faut tout d'abord prendre chaque ligne de l'image complète, et on réalise un OU logique entre chaque groupe de deux points successifs (facile à dire !) puis on prend les lignes par groupes de deux et on réalise un OU logique entre octets de même rang (si vous n'avez rien compris, consultez la figure 2). Le résultat est bien sûr recopié dans la fenêtre. Vous pourrez remarquer que la réduction d'une trame foncée produit du noir, ceci est dû à l'utilisation de OU logiques : effectivement, il suffit qu'un point sur quatre soit noir pour que l'image réduite soit noire ! Passons maintenant aux choses sérieuses ! Vous l'attendiez tous : nous allons voir maintenant la première partie de Couper-Coller, je rappelle pour les novices que couper-coller veut dire : couper une portion d'image (mémorisation) et la coller à un autre endroit de l'image, ce qui revient en fait à déplacer un morceau d'image. Avec CHERRY-PAINT, Couper-Coller est vraiment un jeu d'enfant. On commence par sélectionner le rectangle pointillé dans la grille des outils dans la zone de travail, le curseur se transforme alors en une petite croix. On clique alors sur l'un des coins de la zone d'écran à déplacer puis, sans relâcher la barre d'espacement, on déplace la petite croix de manière à encadrer complètement cette zone. Si le cadre ne vous plaît pas, il suffit de cliquer à l'extérieur de ce même cadre pour en recommencer un nouveau ; par contre si vous cliquez à l'intérieur du cadre, vous pouvez le déplacer, et lorsque vous relâchez la barre, ô miracle, la zone encadrée s'est effectivement déplacée (si vous n'avez toujours rien compris, allez donc voir la figure 3). En fait, le Couper-Coller n'est qu'une copie d'un groupe d'octets d'une zone mémoire vers une autre à une restriction près : comme le déplacement de zone doit pouvoir se faire au point près et qu'un octet comporte 8 points en mode 2, il est donc nécessaire de faire les rotations d'octets avec report des retenues pour chaque ligne d'octets ; de plus, on a intérêt à optimiser ces rotations (il vaut mieux faire une rotation à droite que sept à gauche...) pour limiter le nombre de rotations. Rassurez-vous, nous ne sommes pas encore au bout de nos peines car la zone d'écran à déplacer ne commence ni ne finit obligatoirement sur un octet : il faut donc masquer chaque premier et chaque dernier octet d'une ligne en utlisant un ET logique, afin d'éliminer les points à l'extérieur du cadre, mais dans l'octet, de même il faut masquer le fond à l'aide de ET pour créer un "trou" au point près, à ce moment là, on fait un OU logique entre la zone à déplacer et l'image "trouée', pour ajuster le zone déplacée dans l'image, je vous passe les détails ! Après ces quelques explications, nous allons voir comment introduire le code d'aujourd'hui. Tout d'abord, tapez le programme chargeur (listing 2) ou modifiez celui du mois dernier si vous l'avez conservé, puis lancez-le. Il faudra alors introduire 8 octets et la somme de contrôle en fin de ligne (listing 3). En cas d'erreur, le chargeur vous demande de ressaisir la même ligne, sinon on passe à la ligne suivante... A la fin de la saisie (1960 octets), le programme sauve le code machine sous le nom CODE6.BIN. Si vous êtes encore d'aplomb, vous taperez alors le programme lanceur (ou modifiez celui du mois dernier) et vous le sauvegarderez : c'est fini ! Je rappelle à ceux qui ont oublié (ou qui n'ont jamais su !) que la disquette de programme doit contenir les fichiers suivants : TR.BIN SH.BIN SCR.BIN VAR.BIN CODE.BIN CODE1.BIN CODE2.BIN CODE3.BIN CODE4.BIN CODE5.BIN et le CODE6.BIN que vous avez tapé tout à l'heure. Si un de ces fichiers est absent, le programme ne pourra pas fonctionner correctement. Voilà, ça suffit pour aujourd'hui, on se revoit le mois prochain, n'est-ce pas ? CPC
|