CODING ★ LOGON CPCPLUS 39: EXPLOITEZ LES SPRITES DE VOTRE CPC PLUS ★

LOGON CPCPLUS 39: Exploitez les sprites de votre CPC Plus

Toujours en exclusivité pour les lecteurs  d'Amstrad Cent Pour Cent, nous continuons notre petit tour indiscret des fonctionnalités cachées des CPC Plus. Après vous avoir permis d'exploiter la  palette des 4 096 couleurs de Ces machines, nous vous proposons, pour ce numéro des vacances, quelques RSX de derrière les fagots. Ces nouvelles commandes vont vous ouvrir bien des perspectives de programmation puisqu'il s'agit là d'exploiter totalement les 16 sprites hard des nouvelles machines Amstrad.

Attention, si le mois dernier vous aviez dédaigné saisir le listing générant les 6 commandes RSX pour les couleurs, vous n'aurez plus besoin de le faire. Le listing de ce mois-ci génère également, outre 13 nouvelles commandes pour les sprites, les commandes pour les couleurs vues le mois précédent.

GENERATION DES RSX

Tapez donc le listing de ce mois, il générera un fichier appelé LOGONBAS.COD. C'est un fichier binaire que les plus calés en Assembleur pourront désassembler et modifier ou améliorer à loisir. Dans vos programmes personnels utilisant les RSX que nous avons créés, il suffira de placer en début de programme le test suivant:

IF PEEK(&A000)=0 THEN MEMORY &9FFF:LOAD “LOGONBAS.COD”:CALL &A000

ou pour la version 1.4 

IF PEEK(&BC0E)<>&CD THEN OUT &7F00,&C1:LOAD "B-ASIC.COD",&C000:CALL &C2B5

Cette ligne de programme détectera la présence ou non des RSX en mémoire et chargera donc le fichier des commandes si besoin est

LES SPRITES DES PLUS

Les CPC Plus intègrent 16 sprites dits «hard» car ils sont cablés dans l'Asic. Les 13 RSX de ce mois vont vous permettre d'exploiter ces sprites comme bon vous semble et avec toutes leurs caractéristiques (zoom, définition, déplacements).

Ce qu'il faut savoir, c'est que vous les utiliserez comme étant numérotés de 0 à 15. Le sprite 0 étant toujours superposé au sprite 15.

Pour ce qui est des couleurs, les sprites possèdent leur propre palette. Elle est définissable par la commande ùINKS que nous avions déjà vue le mois dernier. La couleur 0 de cette palette est transparente. Vous ne pourrez donc pas redéfinir la couleur 0 qui restera toujours le transparent et permet de voir la page de fond à travers le sprite.

NOUVELLES COMMANDES DU BASIC

Ces 13 nouvelles commandes ne concernent donc que les sprites de votre machine: N'oubliez pas de les faire précéder du signe « ù » indiquant au système qu'il s'agit d'une commande RSX.

ùSPRON,n 

Affiche le sprite n (de 0 à 15).

ùSPROFF,n 

Efface le sprite n (de 0 à 15).

ùSPRZOOM,n,x,y

Zoome le sprite n en x et y (de 1 à 3). Valeur 0 en x ou/et y, efface le sprite. Voilà de quoi afficher un sprite dans des résolutions équivalentes aux trois modes graphiques du CPC et ce indépendamment du mode écran en cours. Cela permet d'afficher des sprites mode 2 sur une page écran en mode 0.

ùSPRXY,n,x,y 

Affiche le sprite n aux coordonnées x et y. Les valeurs pour x vont de -256 à767 et de -256 à 255 pour y. Un sprite pourra donc se balader hors de l'écran comme s'il était toujours affiché. Avec le bord d'écran tel qu'il existe lorsqu'on allume la machine, un sprite reste toujours visible à l'écran avec des valeurs de -64 à 640 pour x et -64 à 200 pour y.

ùSPRTDEF,n,adr,time 

C'est là l'une des commandes les plus intéressantes de ce mois. 
Elle va permettre de définir le parcours d'un sprite sur l'écran pendant un temps défini. 
Les coordonnées graphiques que devra suivre le sprite n doivent être pokées en mémoire à partir de l'adresse adr que vous définirez. Placez l'octet de poids faible avant l'octet de poids fort, enfin, les deux derniers octets de votre liste doivent être F0 pour signifier la fin de la liste. 
Si time est égal à 0, le sprite continue son parcours à l'infini. 
Pour une meilleure compréhension, voyez l'exemple de la fonction que nous avons utilisée dans notre programme Basic.

ùSPRTON,n 

Le sprite n commence le parcours qui lui a été défini par ùSPRTDEF.

ùSPRTOFF,n 

Le sprite n arrête son parcours.

ùSPRSWAP,n1,n2 

Echange le contenu de deux sprites.

ùSPRPLOT,n,x,y,c 

Affiche la couleur c aux coordonnées x et y du sprite n. 
valeur pour c de 0 à 15 (0 étant la couleur transparente). 
valeur pour x et y: de 0 à 15. 
Voilà qui va vous permettre, entre autres, de vous créer un petit éditeur de sprite. Puisque ce RSX permet d'adresser un point à l'intérieur du sprite n.

ùSPRCOPY,n1,n2 

Recopie exactement le contenu du sprite ni dans le sprite n2.

ùSPRTURNX,n 

Fait pivoter à 180 degrés le sprite n dans son axe x.

ùSPRTURNY,n 

Fait pivoter à 180 degrés le sprite n dans son axe y.

ùSPRFILL,n,c 

Remplit le sprite n avec la couleur c.
valeur pour c : de 0 à 15.

Comme nous vous le faisions remarquer plus tôt, les sprites sont numérotés de 0 à 15. Le sprite 0 étant toujours au-dessus de tous les autres, jusqu'au quinzième, cela peut devenir une contrainte; par exemple, si vous désirez faire passer un petit bonhomme devant œrtains sprites et derrière d'autres.

Les commandes ùSPRCOPY et ùSPRSWAP devraient permettre de remédier assez bien à ce problème en jonglant dans les numéros de sprites. Votre bonhomme pouvant être défini en sprite 0 quand il doit passer devant certains objets (autres que le décor de fond) et en sprite 15 il doit passer derrière...

Voilà, vous disposez maintenant de 19 commandes RSX qui vont vous permettre d'exploiter pleinement la riche palette et les sprites de votre CPC Plus.

Les diverses commandes de ce mois devraient vous permettre de réaliser sans problèmes un éditeur de sprites assez perfectionné en attendant celui que nous vous proposerons bientôt.

Nous attendons avec impatience que nous vous fassiez parvenir vos premières oeuvres exploitant les RSX que nous avons créés pour vous.

D'autre part, toutes les améliorations de que vous nous faites parvenir sont les bienvenues et les meilleures suggestions de nouvelles commandes RSX seront, bien sûr, oetenues et développées dans cette rubrique.

Logon System et Robby, ACPC n°39, page 38-39-40-41

★ ANNÉE: 1991
★ AUTEURS: LONGSHOT , ROBBY
★ INFO: Download la derniere version B-ASIC
★ UPDATED: 10/08/2019

Page précédente : LOGON CPCPLUS 38: Dessinez en 4096 couleurs
★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» B-Asic  v1.4DATE: 2013-09-03
DL: 78 fois
TYPE: ZIP
SIZE: 22Ko
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):
» Coding » CPCplus Menu
» Coding » Cours CPC Plus par AST / IMPACT
» Coding » LOGON CPCPLUS 40: Gestion evoluée des sprites hard
» Coding » LOGON CPCPLUS 47: Les derniers mystères
» Coding » LOGON CPCPLUS 44: Des Rasters sur CPC+

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

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