APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ RECREATION : SPRITESBOX ★

Spritesbox|Micro-Mag)Applications Utilitaires Rsx/ligne De Commande

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.

Cliquez sur l'image pour l'agrandir

Le fichier binaire qui résulte du travail avec Spritebox, comporte plusieurs parties distinctes dont voici la description.

  • Le fichier commence en &8000 et sa longueur est &20AD octets.
  • De &8000 à &9EFF est située la zone dédiée au stockage des octets composant les sprites.
  • De &9F00 à &9FEC une zone de données. 4 octets sont réservés pour chaque sprite. Un pour sa largeur, un pour sa hauteur et les deux autres pour l'adresse de stockage en RAM. C'est avec ces 4 octets que les RSX s'initialisent correctement avant d'entrer en action.
  • De &9FED à &9FFD, 16 octets contenant la valeur des INK utilisées. En &9FFE, le nombre de sprites qui ne peut être supérieur à 58 et en &9FFF la valeur du MODE.
  • De &A000 à &A0AD, la routine créant les 2 RSX ùSPRITE et ùEFFACE. Cette routine doit être initialisée avant utilisation par CALL &A000 (ligne 200).

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:
ùSPRITE,nb,X,Y
ùEFFACE, nb,X,Y

  • «nb» est le numéro du sprite que Ton désire afficher ou effacer à la position X, Y.
  • La valeur de X est comprise entre 1 et 160 en mode 0 ou 1 et 320 en mode 1.
  • La valeur de Y, quelque soit le mode, est comprise entre 1 et 200. La création des RSX se fait dans le programme entre les lignes 150 à 190. Elles sont incluses automatiquement dans le fichier lors de sa sauvegarde.

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.

Cliquez sur l'image pour l'agrandir

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)

★ EDITEUR: MICROMAG
★ ANNÉE: 1990
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LICENCE: LISTING
★ AUTEUR: CLAUDE LE MOULLEC

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» Spritesbox    FRENCHDATE: 2013-09-03
DL: 59 fois
TYPE: ZIP
SIZE: 144Ko
NOTE: 40 Cyls
.HFE: OUI

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » RSX - Random Disc Access (Popular Computing Weekly)
» Applications » RSX Motor Control
» Applications » Dform (CPC Amstrad International)
» Applications » Scrolls Lacaux (Microstrad)
» Applications » Mini - Mac (CPC Revue)
» Applications » Rsx - Fast Screen (CPC Amstrad International)

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 068 millisecondes et consultée 1101 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.