APPLICATIONSPROGRAMMATION ★ EDITEUR DE SPRITES ET BASIC PLUS|CPC REVUE) ★

Editeur de Sprites et Basic Plus (CPC Revue)Applications Programmation
Le BASIC de l'AMSTRAD a l'avantage d'être évolutif. Complétons-le de quelques instructions supplémentaires, implantées en RSX.

Par la même occasion, donnons lui la possibilité de créer et de gérer des sprites. Un peu de courage, et vous aurez un utilitaire dont vous ne pourrez plus vous passer, testé sur CPC 464 et 664.

|HALT,n
Temporisation d'une durée d'environ n/100 secondes. Attention, pas de retour avant terme... excepté par un reset total !

|TESTCAR,n, @ v%
Teste le caractère sur l'écran, dans une fenêtre donnée, n, à l'emplacement du curseur, puis rend le code ASCII du caractère dans v%.

|GET
|GET, @v%
Attend qu'une touche du clavier soit enfoncée, récupère dans v% le caractère ASCII qui lui correspond, si l'option est demandée.

|MODE, @v%
Pour les programmeurs distraits, délivre dans v% le mode courant.

|ROULE,n,s
Scrolling de la fenêtre n dans le sens s (s = 0 vers le bas).

|SCROLL,s,n,c
Scrolling dans le sens s, de n lignes. Les nouvelles lignes apparaissent dans la couleur c (s = 0 vers le haut).

|CURON,n
Place un bloc curseur dans la fenêtre n à la position courante du curseur texte.

|CUROFF,n
Ote de la fenêtre n le bloc curseur situé à la position courante du curseur texte. Si à cet emplacement il n'y a pas de bloc curseur déposé précédemment par |CURON, |CUROFF aura le même effet que |CURON.
Ces deux commandes permettent la création de curseurs multiples.

|XOR - |OR - |AND
Modes logiques d'impression graphique.

|NORM
Rétablit le mode normal d'impression forcée.
EXEMPLE : Si vous tracez une ligne en mode |XOR puis retracez la même par dessus, les couleurs étant identiques s'annuleront. Car, soit F (couleur du fond) = 0, soit L (couleur de la ligne) = 1.
L'impression L sur F donnera par l'opération logique XOR : L XOR F - 1 XOR 0 → 1
1 est la couleur du trait (L).
Mais, en retraçant une seconde ligne sur la première : L XOR L → 1 XOR 1 → 0
0 est la couleur du fond (F) !

|COUL,f,c
Modifie les couleurs du crayon et du fond graphique.
f : couleur fond graphique
c : couleur crayon graphique

|SURG,c,x,y,cx,cy
Peint une surface rectangulaire dont les coordonnées de l'angle en haut à gauche sont x et y et la longueur du côté en haut est ex et la longueur du côté gauche est cy.

|LIGNE,c,X,Y,x1, X1......... x14,y14
Tracé relatif de lignes de couleur c reliées entre elles. Le curseur graphique étant d'abord positionné aux coordonnées absolues X, Y.
La commande peut tracer jusqu'à 14 lignes successives.

|LIGNA,c,X,Y,x1,x1........x14,y14
Tracé absolu de lignes (14 maximum) de couleur c, reliées entre elles. X et Y sont les coordonnées absolues de départ du curseur graphique.

|VITCAS,p,d
Modifie la vitesse de sauvegarde du magnétophone.
p = précompensation
d = durée = (d'un bit 0 émis) / 2
La vitesse en bauds se calcule ainsi : 333333/d
valeurs en standard :
1000 bauds = |VITCAS,25,333
2000 bauds = |VITCAS, 50,167
Très rapide : |VITCAS,10,93

|SPRITE,n,p,x,y,t
n = numéro de sprite (1 à 10)
p = position (1 à 4)
x,y = coordonnée de l'angle en haut à gauche de la grille 16x16 du sprite.
609>x>0 et 400>y>31
t = temporisation de 1 (rapide) à 256 (lent). Permet de régler la vitesse du sprite (Note : 0 très lent).
10 numéros de sprites sont utilisables simultanément et chacun disposant de 4 graphismes (appels positions) différents. La combinaison des 10 numéros et des 4 positions revient à un total de 40 graphismes différents. Chaque sprite est représenté par une grille de 16x16 points.

|BYE,n
Fait disparaître le sprite numéro n.
Le dessin d'un sprite est stocké en RAM sous une forme directement exploitable en MODE 1 (uniquement). Lors d'un appel, les valeurs stockées dans cette "table" font un XOR avec celles situées aux coordonnées choisies et directement dans la mémoire écran.

En raison du type d'affichage, l'image du sprite ne peut pas déborder de l'écran sans provoquer un message d'erreur.

Le programme SPREDIT permet de générer et d'éditer une table de sprites utilisable par |SPRITE.

MISE EN PLACE
DES DIFFERENTS PROGRAMMES

Si vous utilisez un magnétophone, veillez à sauvegarder Basic+ .BIN après le programme B + ou SPREDIT qui charge le programme binaire.

Séquence pour disque

1) Entrez (au clavier) le programme contenant les datas et qui générera le programme binaire des extensions du Basic. Par précaution, sauvegardez-le (sous le nom de BASIC + , par exemple).
2) Faites partir le programme entré (RUN)
3) Sauvegardez le résultat ainsi : Magnétophone :
Save"BASIC + ”, B, &A000,&638,&A000
Disque : Save"BASIC + .BIN",&A000 &638.&A000
4a) Pour ceux qui ne veulent pas utiliser l'éditeur de sprites, entrez le petit programme Basic de chargement et d'initialisation des extensions "RSX”. Sauvegardez-le (sous le nom de B +, par exemple).
b) Si vous avez l'intention d'utiliser ISPRITE et IBYE, il vous faut d'abord entrer le programme Basic éditeur de SPRITES. Une fois que vous avez généré une "table" de sprites, vous pouvez n'utiliser que le petit programme (B + ) et charger la table au début de votre propre programme.

N'oubliez pas de sauvegarder l'éditeur de Sprites (sous le nom de SPREDIT, par exemple).

Séquence pour magnétophone

  • 1 (sans faire 2 !)
  • 4a ou 4b
  • rembobinez votre bande et chargez Basic + (précédemment sauvegardé)
  • avancez votre bande jusqu'à B+ ou SPREDIT
  • 2

Ce qui donnera sur la bande magnétique : BASIC + / B+ ou SPREDIT / BASIC + (binaire)

UTILISATION

Sur cassette :

  • Sautez BASIC +
  • Enfoncez PLAY
  • Chargez B+ ou SPREDIT +

Dans tous les cas

Chargez et faites partir d'abord B+ ou SPREDIT. Eux-mêmes chargeront à leur tour BASIC + (binaire) et initialiseront la table des extensions "RSX".

PRECAUTIONS D'EMPLOI DES EXTENSIONS DU BASIC

Pour |TESTCAR, |GET et |MODE, il faut absolument que la variable utilisée comme argument soit entière (%) et déjà définie (par exemple v% =0 en début de programme).

NOTES CONCERNANT LES OPERATIONS DE CHARGEMENT ET SAUVEGARDE

La mise en place du buffer puis la restauration de l'ancien espace disponible, crée des délais d'attente avant et après chaque opération de chargement ou sauvegarde (cas 1 et 3). Lorsque l'ordinateur vous “rendra la main", il fera entendre un BEEP sonore. En attendant, prenez patience.

Pour ceux qui utilisent le magnétophone, avant de répondre par ENTER à "Confirmez : ENTER", préparez la cassette et enfoncez les touches REC et PLAY pour une sauvegarde ou PLAY pour un chargement. Pensez à relever le numéro du compteur. Vous pouvez alors presser ENTER .

MODE D'EMPLOI DE SPREDIT

  • SPREDIT utilise quelques commandes RSX. Il charge donc d'abord le programme binaire BASIC+ .
  • Utilisez un joystick.
  • On ne peut dessiner que lorqu'on a sélectionné un stylo.
  • Pour effacer un dessin, utilisez la touche CLR.
  • L'interruption ou la destruction du programme Basic d'éditeur de sprites laisse intacte la table générée par lui. Celle-ci peut donc être utilisée après effacement de SPREDIT par un nouveau programme. Dans ce cas, le chargement du code binaire BASIC + n'est même pas nécessaire, ainsi que l'initialisation par un CALL &A000.
  • 3 stylos (PEN) sont utilisables. Deux sont en couleurs alternées pour permettre certains effets. Pour supprimer les effets d'alternance, il suffit de sélectionner la deuxième couleur des stylos 2 et 3 et de les mettre à la même couleur que celle du dessus.

Sélection du stylo

  • Positionnez le curseur en face d'un stylo (1, 2 ou 3).
  • Pressez le bouton "FIRE" du joystick.
  • Il vous est alors possible de modifier la couleur du stylo correspondant à l'aide des touches fléchées — et —.
  • Une fois les sélections faites, n'oubliez pas de represser une deuxième fois "FIRE" pour en sortir.
  • Vous pouvez, dès lors, en positionnant le carré du curseur dans le cadre, colorer les points de votre sprite en pressant à chaque fois "FIRE".
    Si vous utilisez les stylos 2 et 3, permettant, grâce au "flashing", des effets spéciaux, vous pouvez modifier la couleur qui alterne en y accédant de la même façon que pour les stylos 1, 2 et 3.

Pour effacer

  • La touche CLR permet d'effacer le dessin courant du sprite.
  • Pour n'effacer que des points, sélectionnez la "gomme" puis pressez deux fois "FIRE". Dès lors, à chaque pression de "FIRE", tout point de couleur placé dans le cadre du curseur est effacé.

Pour modifier la position de votre sprite

En positionnant le carré de votre curseur sur un des motifs suivants, vous pouvez sélectionner la modification correspondante en pressant "FIRE".

Seule la touche ENTER permet de confirmer votre choix. Toute autre touche annule la commande.

rotation de 90° dans le sens inverse des aiguilles d'une montre.
rotation de 90° dans le sens des aiguilles d'une montre.
rotation de 180°
le dessin du sprite pivote autour d'un axe vertical.
le dessin du sprite pivote autour d'un axe horizontal.

Pour sauvegarder ou charger un sprite ou une table de sprites

Il existe trois types de chargement et sauvegarde des données.

1) → ENREGISTREMENT : Sauvegarde sur support magnétique de l'image et des données de couleur du sprite dessiné à l'écran.

← ENREGISTREMENT : Charge sur un support magnétique l'image et les données d'un sprite et les affiche à l'écran. Dans les deux cas, le sprite doit répondre à trois critères. Son CODE (de 1 à 2), son numéro (1 à 10), sa position (1 à 4)

2) → MEMOIRE : Sauvegarde en RAM dans la table des sprites des données de l'image telles qu'elles seront utilisées par la commande ISPRITE. Les stylos sont conservés mais sans leur(s) couleur(s), permettant des modifications au cours de votre propre programme.

← MEMOIRE : Affiche à l'écran à partir de la table des sprites stockés en RAM. La table des sprites a cette structure :

NumérosPositions
11
2
3
4
21
2
3
4
etc


3) Sauvegarde ou chargement d'une table de sprites de ou à l'adresse &9500, sur ou d'un support magnétique. Positionnez le carré du curseur sur la lettre M. Pressez "FIRE”.

a) s'affiche chargement binaire

Si vous pressez ENTER, le programme chargera en RAM une table de sprites précédemment sauvegardée par l'option b de la commande M.

b) Si vous ne voulez pas de chargement, pressez alors une autre touche que ENTER.

S'affiche alors Sauvegarde binaire.

Si vous pressez ENTER, le programme sauvera sur support magnétique la table de sprites stockée en RAM.

Toute autre touche provoque un abandon de la sauvegarde (sans effet).

CPC n°13

★ EDITEUR: CPC Revue
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Dominique CARDON

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Editeur  de  Sprites  et  Basic  Plus    FRENCHDATE: 2012-08-10
DL: 146 fois
TYPE: ZIP
SIZE: 11Ko
NOTE: 40 Cyls
.HFE: NON

Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Sprite Designer
» Applications » Spritefabrikanten (CPC Amstrad International)
» Applications » Listeur de sprites
» Applications » Sprite Generator
» Applications » ArIom Sprites (Amstrad Computer User)
» Applications » Gestion de Fichiers (Sprites Logiciels)

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