★ APPLICATIONS ★ DIVERS ★ RECREATION : SPRITESBOX ★ |
Spritesbox (Micro-Mag) | Applications Divers |
Si «Aux Voleurs» (Micro-Mag n°7), récupère les sprites d'un fichier binaire et les épingles sur une page écran, «Spritebox» autorise désormais leur exploitation dans un programme. Ce petit utilitaire génère en effet un fichier binaire de sprites sélectionnés, avec deux fonctions RSX pour leur animation.Le fichier binaire qui résulte du travail avec Spritebox, comporte plusieurs parties distinctes dont voici la description.
Les deux RSX Les RSX sont des commandes supplémentaires qui s'ajoutent aux commandes Basic existantes. Le «ù» du début sera remplacé par une barre verticale - chr$ (124) - sur les claviers QWERTY. Elle s'obtient par l'appui sur Shift et Arrobas (l'escargot). La syntaxe des 2 RSX est la suivante:
Menu La sélection des 5 options disponibles se fait avec Espace et la validation par Enter. Ce type de menu utilisé dans nos précédentes récréations vous est désormais connu. Capture Il s'agit de l'option la plus importante. Il faut préalablement charger une planche de sprites en répondant aux demandes du logiciel. Celle-ci chargée, un petit rectangle de la taille de 2 caractères en mode 0, apparaît en surimpression sur la planche de sprites. Il peut aisément être déplacé avec les touches fléchées et sa taille se modifie par appui simultané sur Shift/ touches fléchées. Chaque sprite à sélectionner doit être recouvert par ce rectangle. Lorsqu'il est bien positionné CTRL/C effectue la capture. Que se passe-t-il à cet instant? Admettons qu'il s'agisse du premier sprite. Une petite routine en Assembleur, activée par le CALL &A0B0 de la ligne 870, transfère tous les octets contenus dans le rectangle en Ram à partir de l'adresse &8000. La variable BUF est l'adresse de transfert en Ram du premier octet (&8000 en l'occurence). FN PO (X,Y) est une fonction qui donne l'adresse écran du premier octet à transférer (octet du coin supérieur gauche de notre rectangle). La variable TABLE contient l'adresse des données du sprite, &9F00 pour le premier. Nous avons donc en &9F00 le nombre d'octets en largeur du sprite et en &9F01, la hauteur en lignes de pixels. En &9F02 et &9F03 l'adresse de stockage du sprite en RAM. Tout ceci se passe entre les lignes 920 et 930. A tout moment, en ligne 1, vous disposez de quelques renseignements sur la taille du rectangle ainsi que sur le nombre de sprites déjà capturés. La valeur qui apparaît en ligne 25 est l'adresse de stockage du prochain sprite en RAM. Lorsque la chasse est terminée CTRL/R assure le retour au menu. Affichage Par cette option, il est possible de visualiser un à un tous les sprites contenus dans votre fichier. Les renseignements de la table de données vous sont communiqués. Le passage d'un sprite à l'autre se fait par l'appui sur une touche. Le retour au menu est automatique à la fin du défilement. Animation Permet de vérifier le bon fonctionnement d'un déplacement. La superposition des sprites crée le mouvement comme dans un dessin animé. La vitesse étant réglable, tous les essais sont possibles. Sauvegarde/chargement Votre fichier complet, la sauvegarde s'impose. Durant celle-ci, divers renseignements sont fournis: nombre de sprites, mode, place disponibles et couleurs. L'option «Chargement» permet de récupérer un fichier afin de le compléter, les mêmes renseignements apparaissent. Aux Voleurs et Spritebox sont deux utilitaires complémentaires, simples et performants, avec lesquels, libéré des contraintes techniques, vous donnerez libre cours à votre imagination. Claude Le Moullec, MICROMAG n°9 (Janvier 90)
|