Sur le point de créer un jeu, le mode 1 avec ses 4 couleurs vous semble insuffisant.Il sera donc en mode 0. Or, les 20 caractères possibles par ligne vous posent problème. Comment faire? Désormais, la solution existe et s'appelle Alpha-color. Ce petit utilitaire permet en effet de créer à volonté un alphabet multicolore autorisant 40 caractères sur une ligne en MODE 0. J'avoue, que l'idée est due à l'équipe Black System qui, dans chacun de ses jeux, utilise un tel procédé. J'ai donc conçu un programme basic générant un fichier binaire relogeable et utilisable par tout-un-chacun, même sans connaissance de l'assembleur. Caractères redéfinis Tous les chiffres, quelques signes de ponctuation et l'alphabet sont redéfinis deux par deux dans un caractère. Rien ne vous oblige à être d'accord avec mon style de redéfinition. Lorsque vous maîtriserez correctement le logiciel, modifiez à votre guise le dessin des lettres. Car il faut bien l'avouer, certaines comme le N, le M ou le W peuvent prêter à confusion. Variables de base - Ligne 460 : Memory &3FAF. Une petite routine de capture sera placée entre l'adresse &3FB0 et &3FFF. La zone comprise entre &4000 et &A1E0 est réservée au stockage du fichier où bon vous semble.
- Ligne 470 : initialisation d'un DIM pour conserver le numéro des encres.
- Lignes 480 - 490 : mode transparent et mode XOR pour sous-programme de recherche des couleurs.
La recherche des couleursIl est bien évident que les couleurs de votre logiciel seront préalablement choisies. Ce sous-programme permet d'en reproduire exactement la palette. A noter que je me suis contenté de reprendre un sous-programme déjà utilisé dans «Aux voleurs». Faites de même. Le questionnaire La sélection de votre palette de couleurs est la première question à laquelle répondre. Apparaît alors la liste des stylos et les encres qui leur sont affectées. A vous d'en choisir 4 pour rendre votre alphabet multicolore. L'usage m'a prouvé que les mélanges qui en «jettent» sont toujours à base de dégradés. Essayez donc des combinaisons du genre (n° de couleur) 26,24,15,6 ou encore 26, 16, 1, 2 sur fond noir. Résultats garantis. Reste maintenant à définir l'adresse de départ du fichier binaire qui va se créer. En fait, cela n'a que peut d'importance car il peut être relogé n'importe où. Il suffira de forcer l'adresse lors du chargement par un : LOAD "FICHIER", adresse désirée. Création du fichier - Ligne 750 : affectation des couleurs.
- Lignes 760 - 770 : affichage des lettres redéfinies.
- Lignes 780 - 840 : coloration des lettres suivant les stylos choisis.
- Lignes 850 - 910 : implantation de la routine d'affichage et capture une à une de toutes les lettres. A ce stade du programme, tout est déjà terminé.
Le fichierLe fichier ainsi créé mérite quelques commentaires. Il commence à l'adresse que vous avez choisie par une petite routine d'affichage de 32 octets. Celle-ci est calibrée pour des sprites de 2 octets sur 8 lignes; la taille de nos lettres. Après la routine figure la représentation des lettres, le fichier total faisant 720 octets. J'attire votre attention sur le jeu de caractères disponibles. Vous disposez de tous les chiffres et de tout l'alphabet en majuscule. Ils suivent tous la progression logique telle qu'elle est représentée dans la liste des codes ASCII. Mais entre chiffres et lettres, 7 caractères pour un embryon de ponctuation qui ne correspond pas tout à fait à la réalité. Ainsi, si le «:» est bien à sa place, le signe «<» à été remplacé par le point. Voici les équivalences . «:» idem. «;» idem. «<» remplacé par le point. «=» remplacé par la virgule. «>» remplacé par l'apostrophe. «?» idem. «à» remplacé par le point d'exclamation. Utilisation du fichier Elle est en fait donnée en exemple dans le logiciel. Etudiez avec attention les lignes 920 à 1000. - Ligne 920 : fonction permettant de transformer l'équivalent d'un LOCATE X, Y en MODE 1, en une adresse écran exploitable par la routine d'affichage.
- Ligne 930 : data d'une phrase à afficher. Les deux premiers chiffres sont les données X, Y du LOCATE.
- Ligne 980 : la phrase est dans la variable A$ en majuscule. Chaque lettre est prise une à une et, dans SP, on calcule son numéro de code ASCII. 48 lui est retiré car le 0 est notre premier caractère contenu dans le fichier.
- Ligne 990 : si le caractère n'existe pas dans le fichier, il est remplacé par un espace. Ce dernier, situé à la position 43, est le dernier caractère contenu dans le fichier.
- Ligne 1000 : affichage une à une des lettres. La variable ADD est l'adresse de départ du fichier fournie dans le questionnaire. La fonction FN po(ZX, ZY) définie en 920 entre en action. DEPI = ADD+32. On pointe sur le début de la première lettre. Il suffit de lui additionner la valeur SP multipliée par 16 pour pointer sur la lettre désirée. La première lettre s'affiche, un bouclage affiche toute la phrase. Avec l'espoir que ce petit utilitaire permette de donner un air «pro» à vos prochaines réalisations...
Claude Le Moullec, MICROMAG |