APPLICATIONSCREATION GRAPHIQUE ★ Graphic CITY (c) UBI SOFT ★

Graphic City ManualApplications Creation Graphique

GRAPHIC CITY

PRÉSENTATION

GRAPHIC CITY est un ensemble de programmes destiné à exploiter les possibilités graphiques de votre ordinateur.

Il s'adresse :

- au programmeur amateur qui accèdera à des possibilités étendues avec des utilitaires simples d'emploi.

- au professionnel qui pourra, grâce aux commandes fournies, réaliser les mêmes programmes en 5 fois moins de temps.

Les trois modes graphiques de l'Amstrad sont utilisés. Le mode 0 permet des animations rapides en 16 couleurs. Le mode 1 offre le meilleur compromis couleur/définition, et avec ses 320 x 200 pixels, correspond à un standard dans l'informatique individuelle. L'éditeur SPRITEMATE utilise 10 couleurs en mode 1.

Cependant, ce mode est le plus difficile à programmer quand il s'agit de réaliser des animations, mais les routines qui sont fournies prennent en charge l'essentiel et dispensent d'une programmation assembleur du mouvement des objets.

Les lutins se déplacent à travers les décors en 3 D, et, comme l'introduction en donne démonstration, passent devant le décor ou disparaissent derrière. L'affichage ou le déplacement d'un lutin se fait à l'aide d'une seule commande.

La collection d'utilitaires composant GRAPHIC CITY offre la plus grande facilité à créer des lutins de toutes tailles et obtenir des animations vivantes. Deux éditeurs puissants, SPRITE 16 et SPRITEMATE, écrits en partie en langage-machine, sont capables de réorganiser les tables. On peut aussi prendre les lutins directement sur des logos réalisés avec un éditeur d'écran quelconque, grâce au programme CAPTURE.

En version disque, plusieurs autres programmes complètent un tool où sont dévoilés les secrets de la réalisation des jeux d'arcades et aventures : tracé de "path" (chemins), générateur de caractères, compresseur d'images...

La compatibilité entre tous ces programmes fait de GRAPHIC CITY un système de programmation intégré graphique qui a une diffusion internationale.

SOMMAIRE

1. Pour démarrer

2. Liste des programmes

3. Sprite 16 et Spritemate

4. Video Sprite

5. Capture

6. Fusion

7. Lutins : commandes

8. Multiset

9. Palhmake

10. Lutins 2

11. Cruncher et Décruncher

Annexes : utilisation en assembleur. utilisation sur 464 disk

1. POUR DÉMARRER

TAPER : RUN "CG"

pour charger le menu général qui permet d'appeler le programme désiré.

RUN "DEMO" pour la deuxième face de la disquette.

2. LISTE DES PROGRAMMES

- INTRODUCTION : Utilise les commandes de lutins avec la création d'un tableau et animation en mode 1.

- DEMO 16 (disk) : Démonstration d'animation en mode 0.

- LUTINS ET LUTINSO : 17 commandes graphiques et d'animation pour le mode 0 ou le mode 1.

- Lutins 2 : routine de lutins en mode 2.

- Sprite 16 : éditeur de lutins en mode 0.

- Spritemate : éditeur de lutins en mode 1 et 2.

- Vidéo sprites (disk) : pour présenter, reclasser, supprimer, surimposer, les lutins d'une table.

— Capture (disk) ; créer des lutins en les "capturant" sur l'écran. Permet aussi de créer des écrans par composition de lutins.

- Fusion :

- Multiset (disk) : pour redéfinir les caractères.

— Pathmake (disk) : dessine un chemin que l'on donne à suivre aux lutins en jeu d'arcade.

- Cruncher (disk) : compacteur d'images.

- Décruncher : affiche les images compressées.

3. SPRITE 16 ET SPRITEMATE

A - PRÉSENTATION

Sprite 16 et SPRITEMATE sont des éditeurs de lutins dotés d'un interface utilisateur moderne comprenant un menu général à icônes et des commandes d'éditions puissantes.

Leur facilité d'utilisation permet à un dessinateur néo-phite de réaliser des dessins de facture professionnelle.

-

Les lutins peuvent être réalisés sur SPRITEMATE en mode 1 en 10 couleurs, avec 4 couleurs de base et 6 couleurs par tramage. Le mode 2 n'autorise que 2 couleurs. Ils sont insérés dans une table exploitée par les programmes LUTINS ou LUTINSO dont un exemple d'utilisation est fourni par l'introduction (programme INTRO) et DEMO mode 0.

Cette table peut contenir 127 lutins pour une taille mémoire limitée à 13 k octets dans SPRITEMATE et 16 k octets dans SPRITE 16, ces limitations pouvant être

dépassées grâce aux autres utilitaires fournis. La taille maximale des lutins est de 45 pixels de haut sur 40 de large en mode 1 et 45 x 20 en mode 0.

B - OPTION DU MENU A ICÔNES

Pour sélectionner une option dans le menu à icônes on déplace la main en face de l'option voulue avec les flèches et on presse ENTER.

Ce menu à icônes propose six options, de gauche à droite :

- ÉDITER

Pour créer un lutin ou modifier un lutin présent dans la mémoire de travail. L'icône représentant un crayon est surmonté d'un nombre qui est le numéro de mode de dessin :

- 1 : mode graphique 1 en simple agrandis-

sement et cadrage.

- 2 : mode graphique 2.

- 3 : mode graphique 1 en double agran-

dissement et sans cadrage.

Pour sélectionner un mode, on presse simplement sur la touche 1,2 ou 3. L'édition fait l'objet de chapitres particuliers détaillant ses nombreuses commandes.

- CHARGER

Chargement d'une table de lutins déjà édités. Cette table comporte l'extension LUT par défaut.

On donne le nom de la table à charger sans taper l'extension qui est automatiquement ajoutée, puis ENTER en ayant pris soin au préalable d'insérer la disquette contenant la table à charger, le programme ne disant pas de le faire.

Il est possible d'obtenir le catalogue d'une disquette à ce niveau en tapant ' ? ' suivi de ENTER à la place du nom.

- SAUVER

Opère comme l'option précédente avec les mêmes spécifications.

- CLASSE

Cette option donne accès à plusieurs possibilités dont la première est la présentation des lutins dans la table.

Le nombre de lutins présents est inscrit sous l'icône représentant une armoire. Les flèches changent le lutin présenté dans la fenêtre. On presse la barre d'espacement pour quitter cette option ou l'on utilise les commandes de réorganisation :

É)dition : pour reprendre un lutin en édition, on aura le choix ensuite de remplacer le lutin modifié par la nouvelle version ou d'ajouter celle-ci à la table.

D)éplacement : permet de reclasser la table. Presser D lorque le lutin à déplacer est représenté, sélectionner un emplacement avec les flèches, et presser ENTER.

CONTROL - C : Supprimer le lutin présenté.

Surimpression : placer deux lutins l'un sur l'autre pour vérifier leur alignement ou faire apparaître

les modifications.

— PALETTE

L'option palette de SPRITEMATE nous montre comment est réalisé le tramage de couleurs composées à partir de couleurs de base et permet de choisir la couleur d'encre attribuée à un numéro de couleur. Pour ce faire , on presse les touches : 0, 1, 2, 3, selon que Ton désire changer l'attribution de l'encre pour le numéro de couleur 0, 1, 2 ou 3, ce qui sélectionne l'encre suivante, et Ton continue de presser jusqu'à ce que l'on obtienne l'encre voulue. La séquence des encres peut-être trouvée soit sur le boîtier de l'ordinateur, soit sur le manuel fourni avec celui-ci.

Presser la barre d'espacement pour quitter cette option.

Noter que le choix d'encre ne modifie pas le programme dont les couleurs sont immuables, mais n'intervient que sur l'écran d'édition.

- EXIT/ETAT MEMOIRE/OPTIONS

SUPPLÉMENTAIRES

La dernière option permet de quitter le programme, d'indiquer la mémoire libre, et la taille de la table en mémoire.

Les commandes de chargement/sauvegarde concernent la mémoire de travail et permettent de sauver un travail en cours avec les couleurs tramées, lesquelles sont décomposées en couleur de base quand un lutin revient en édition.

C - COMMANDES DE BASE D'ÉDITION

; 8
- Déplacement du curseur : 4 6
On utilise les touches ; 2

- Pinceau levé/baissé :

Presser la barre d'espacement pour baisser le pinceau, et la presser encore pour le lever. En bas de l'écran à droite une flèche est dirigée vers le bas si le pinceau est baissé et vers le haut autrement.

- Couleurs :

Utiliser les flèches pour sélectionner une couleur.

- Sur SPRITE 16 :

Les flèches verticales sélectionnent le numéro de couleur, les flèches horizontales attribuent une teinte parmi 27 à ce numéro.

— Sur SPRITEMATE :

Le numéro de couleur courante est indiqué en bas à droite de l'écran devant la flèche, et désigné en outre sur la palette toujours en bas à droite par un trait de couleur.

- Point :

Pour placer dans la couleur courante un pixel, presser "5". On peut ainsi dessiner point à point avec le pinceau levé.

- Effacer l'écran :

Taper CONTROL-C pour effacer l'écran (presser la touche CONTROL d'abord et sans relâcher, presser la touche C).

- Compiler le lutin :

La compilation sera instantanée et le lutin apparaîtra en grandeur finale dans une fenêtre en haut à gauche.

Presser ENTER pour entrer en mode cadrage. Si l'on désire seulement voir le résultat final, presser ESPACE pour revenir en mode édition, dans ce cas le lutin n'est pas ajouté à la table.

Lorsqu'il est achevé, on opère un cadrage semi-automatique permettant d'optimiser l'espace utilisé par le lutin.

Deux paires de coordonnées sont nécessaires : la marge inférieure gauche et la marge supérieure droite. La première n'est pas spécifiée, elle est donnée par le bord de l'écran, les commandes de scrolling (voir ci-dessous) permettant de cadrer le lutin dans la fenêtre. La seconde qui limite la taille de la fenêtre est donnée en déplaçant le curseur de cadrage après avoir pressé ENTER.

En mode 1 son déplacement horizontal se fait par sauts de 4 points car l'ordinateur regroupe 4 pixels dans un octet. En mode 0 par saut de 2 (2 pixels par octet) et en mode 2 par saut de 8 (8 pixels par octet).

Presser ENTER pour compiler le lutin, pressez ;

- ENTER une dernière fois pour ajouter le lutin à la table.

- Remplace pour substituer le lutin modifié ayant servi de modèle, ou

- ESPACE pour revenir en cas de mauvais cadrage.

Quitter : Pressez "Q".

D - COMMANDES D'ÉDITION ÉVOLUÉES

Scrolling :

L'écran d'édition peut être déplacé dans les quatre directions avec les touches :

E
S D
F

Insertion :

"I" dédouble la colonne où se trouve le curseur et l'écran est décalé sur la droite à partir de cette colonne.

"J" dédouble la ligne où se trouve le curseur et l'écran est décalé d'une ligne vers le haut à partir de cette ligne.

Surpression :

"K" supprime la colonne où se trouve le curseur. Une colonne blanche apparaît à droite de l'écran.

"L" supprime la ligne où se trouve le curseur et une ligne blanche apparaît en haut de l'écran.

Filling :

Taper P)eindrc, le remplissage se fait dans la couleur courante.

Changement de couleur globale :

Cette commande est un peu plus délicate en apparence mais évidente à l'usage. Taper "C" ce qui fait apparaître sur la ligne d'indication deux pavés de couleur 1, représentant à gauche la couleur à changer et à droite la nouvelle couleur. On modifie le numéro de la couleur à changer et son pavé avec les flèches verticales, et celui de la nouvelle couleur avec les flèches horizontales.

Presser "C" à nouveau pour exécuter le changement de couleur global. Presser une autre touche pour annuler l'ordre.

4. VIDEO SPRITES

Ce programme permet de réorganiser les tables de lutins avec un plus grand confort que ne le permettent les éditeurs. La suppression de lutins dans la table, les déplacements se font sur une table de lutins de 16 k maximum en mode 1 uniquement, les lutins pouvant dépasser la taille de 45 x 40 pixels. On peut classer des tables créées en tout mode, mais elles seront affichées en mode 1.

Le programme :

La partie supérieure de l'écran permet de présenter simultanément 12 lutins.

En bas à gauche se trouvera toujours le lutin pointé par le curseur pour l'opération en cours. Les commandes de suppression, déplacement concerneront le lutin dans cette fenêtre. A droite un tableau donne les numéros des 12 lutins affichés. Le numéro en inverse est celui du lutin pointé par le curseur. Le libellé en tête de ce cadre indique l'opération courante, il indique "champ visualisé" jusqu'à ce qu'une opération autre que le déplacement soit commandée.

Chargement :

Presser "C" puis donner le nom sans l'extension qui comme avec SPRITEMATE est, "LUT" sauf si l'on spécifie une autre extension.

Sélection :

Le curseur peut se déplacer horizontalement et verticalement, Dans le second cas il saute 4 numéros à la fois. Ceci, même s'il sort de la fenêtre ce qui permet d'effectuer une rotation par 1 ou par 4 des lutins affichés.

Déplacement :

Il s'effectue en deux temps

1) Sélection d'un lutin à déplacer qui s'inscrira dans la fenêtre à gauche et y restera jusqu'à la fin de l'opé-ration. Presser "D" une fois ce lutin obtenu. Le libellé du cadre inférieur droit devient alors "déplacement".

2) Sélectionner alors son nouvel emplacement. Le curseur affiche en inverse le numéro de lutin sur lequel il pointe. Lorsqu'il pointe sur l'emplacement désiré, presser ENTER, le déplacement produit, le programme ramène au menu.

L'insertion se fait derrière le numéro pointé. En d'autres termes, si le lutin à déplacer se trouve avant le numéro pointé, le déplacement s'opérera après ce numéro. Si le lutin à déplacer se situe après ce numéro, il remplacera le lutin ayant ce numéro qui sera décalé, avec les suivants.

Suppression :

Taper control-C, autrement dit, presser la touche

CONTROL puis, sans relâcher, presser "C", pour supprimer le lutin présenté dans la fenêtre en bas à gauche.

Surimposition :

Permet de vérifier l'effet obtenu par la combinaison de deux lutins. On opère exactement comme en mode déplacement.

Cette commande n'effectue aucune modification dans la table.

5. CAPTURE (disk)

CAPTURE constitue un interface idéal entre votre éditeur d'écran et ce système d'animation.

Il permet :

- de capturer des lutins sur un logo pour les animer dans vos programmes.

- de composer un écran à l'aide de lutins.

— de placer dans une table des images de toute

taille.

— d'utiliser l'écran pour combiner des lutins.

- etc..

La taille des lutins n'est plus limitée que par la taille de l'écran.

Fonctionnement :

L'espace de mémoire ne permettant pas de stocker simultanément deux écrans et la table de lutins, les commandes ne seront pas présentées dans le programme.

CAPTURE fonctionne en deux modes, mode capture où Ton se trouve au départ, et mode composition.

Le premier se reconnaît par un bloc d'écran inversé qui est le curseur. Dans le second mode, c'est un lutin qui sert de curseur. Les commandes propres à ces deux modes seront détaillées plus loin.

Programmation des opérations :

Mode : 0, 1 ou 2 (1 par défaut).

Taille maximale limitée. Il faut imposer cette limite de 45 x 40 pixels en mode 1 si Ton veut rééditer ensuite les lutins avec SPRITEM ATE et se limiter à 45 x 20 pour les rééditer avec SPRITE 16. Taper O ou N, l'option oui étant prise par défaut.

Écran à charger : donner le nom avec ou sans extension LUT par défaut ou presser ENTER si l'on ne désire ni charger ni créer de table. Dans ce cas le travail aboutira à la création d'un écran.

Charger la table : taper O ou N, option N par défaut.

Écran à sauver : donner le nom ou presser ENTER.

Suivre ensuite les indications que donne le programme. A la fin du travail, récran sera automatiquement sauvé s'il y a lieu. La table sera également sauvée mais on demandera confirmation du nom de cette table avant sauvegarde.

Mode capture/composition :

Taper "C" pour se placer en mode capture. Le curseur est un bloc inversé.

Taper "D" pour déposer les lutins déjà présents dans la table sur l'écran. Le curseur sera le premier lutin de la table. Presser "+" pour obtenir le lutin suivant, "-" pour le précédent.

La capture d'un lutin : On cadre l'image avec les touches suivantes ;

- Flèches pour déplacer le curseur inversé.

- 6 élargir le bloc.

- 4 réduire la largeur.

- 8 augmenter la hauteur.

- 2 réduire la hauteur.

- Presser ENTER : un bip sonore indique que le lutin est ajouté à la table.

- Le bloc inverse reste présent pour le lutin suivant.

Déposer un lutin sur l'écran :

Se placer au préalable en mode dépose, comme indiqué plus haut (taper "D" et utiliser "+" et "-").

Déplacer le curseur avec les 4 flêches. Prendre garde à ce que le lutin ne dépasse pas les limites d'écran, aucun contrôle n'est fait à droite et en haut, et cela créerait des dommages dans le programme et les données.

Presser ENTER pour le déposer ce qui fait disparaître le lutin. Utiliser les flêches : on constate la réapparition de l'image qui complémentait elle-même.

Quitter et sauver : Presser "Q" et laisser la sauvegarde s'opérer.

6. FUSION

Cet utilitaire permet de fusionner deux tables de lutins, et de créer une nouvelle table dont la taille peut aller jusqu'à 30 octets.

7. LUTINS ET LUTINS 0

Ces routines occupent les adresses &9800 à &9FFF, soit 2 K octets.

Elles s'initialisent par CALL &9B00 ou CALL 39680.

Une table de sprites se charge n'importe où en mémoire :

LOAD "nom.lut", xxxx

précédé de MEMORY xxxx-1

La commande ADR utilisera xxxx comme paramètre.

Les commandes sont identiques dans les deux modes, seul change le paramètre de position horizontale x. En mode 1, x est compris entre 0 et 319, en mode 0 il va de 0 à 79.

Une table peut contenir 127 lutins, de 45 x 40 pixels en mode 1, 45 x 20 en mode 0 ou de taille illimitée si on ne les réédite pas avec les éditeurs.

Commandes de lutins et gestion d'écran :

ADR ;|ADR.adresse

Passe l'adresse de la table de lutins, la même que l'adresse de chargement.

Cette adresse doit être un multiple de 256, donc un chiffre terminé par deux zéros en hexadécimal.

SPRITE |SPRITE, no, x, y

Dessine un lutin devant le décor, à la position horizontale x et verticale y.

no est le numéro du lutin.

x est compris entre 0 et 319 en mode 1.
0 et 79 en mode 0. y est compris entre 0 et 199.

ISPRITE

Commande au format similaire à la précédente. Le lutin est dessiné derrière le décor.

SCREEN

Format |SCRENN, &C000 Permet d'afficher le second écran (SCREEN &4000) et de revenir au premier (SCREEN, &C000).

COPY

Format |COPY, longueur, départ, arrivée, ou

|COPY, départ, arrivée.

Dans le premier cas, sert à copier un buffer sur un autre. Si la longueur est omise, la valeur &4000 qui est la taille d'un écran est prise par défaut, la copie d'écran utilise donc le second format.

CL

Format |CL sans paramètre.
ou |CL, x, y, largeur, hauteur.

La commande CL sans paramètre efface l'écran entier.

Les paramètres permettent de spécifier une fenêtre dont on indique la position horizontale x, la position verticale y, ainsi que la largeur et la hauteur.

x varie de 0 à 79 dans les deux modes. y varie de 0 à 199.

Commandes nécessaires à l'animation sur 1 page

Lorsque l'animation se produit sur un fond noir> une seule page graphique est nécessaire.

BADR |BADR, adresse

Passe l'adresse d'une zone de mémoire de travail nécessaire pour les animations. La taille de cette zone dépend de la taille des lutins, soit, à partir de l'écran de SPRITEMATE :

h = nombre de points en hauteur. 1 = nombre de points en largeur.

Taille :lxh/4 + 2xh + 2

Multiplier par 2 pour le mode 0

La taille maximale est de 902 octets pour les lutins créés avec SPRITEMATE et 452 avec SPRITE 16.

On peut donc simplifier en utilisant un buffer de 1 k (&400&) en mode 1 et 512 octets (&200) en mode 0.

Ce buffer peut être placé n'importe où en mémoire, en préservant les zone suivantes :

&9800-&9FFF : lutins ou lutins 0 &A67B-&FFFF : système et écran

Optionnellement :

&A003-&A67A : générateur de caractères s'ils sont redéfinis.

&4000-&7FFF : second écran éventuel, qui peut également être placé ailleurs en mémoire si l'on ne raffiche pas avec SCREEN.

1T01 ;|1TO1, no, x ,y

Prépare le buffer de travail pour l'insertion d'un lutin. Cela a pour effet de placer la partie d'écran qu'il occupera dans le buffer. NO est le numéro de lutin, x et y ses coordonnées.

CLB ;|CLB, no, x, y

Efface le buffer courant. Les Paramètres sont ceux que LTRANS aurait normalement utilisé.

LTRANS |LTRANS, no, x, y

Place le lutin no dans le buffer, il sera dessiné devant le décor.

ITRANS

Comme précédemment, mais il sera dessiné derrière

le décor.

SHOW

Affiche le buffer, il n'y a aucun paramètre.

Exemple de séquence pour dessiner le lutin 1 en position 18,20. On suppose les commandes ADR et BADR

déjà passées.

|CLB, 1, 18, 20 |LTRANS, 1, 18, 20 |SHOW

SPMOVE |SPMOVE, no, x, y

Regroupe CLB + LTRANS + SHOW

Commandes complémentaires pour l'animation

dans un décor

SCREEN |SCREEN : adresse

Permet de définir comme écran et de visualiser une part quelconque de la mémoire. Les seules adresses pratiquement opérationnelles sont :

C000 l'écran normal &4000 un second écran qui occupe les positions de &4000 à &7FFF, positions de mémoire allouées à cet effet.

1TO2 ;|1TO2, no, x, y

Place dans le buffer le fond d'écran occupé par le lutin no en vue de l'afficher sur l'écran 2, actuellement présenté ou non.

2TO2 |2TO2, no, x, y

Place dans le buffer le fond d'écran occupé par le lutin no sur l'écran 2 en vue de l'afficher sur l'écran 2.

Commandes d'animation avec un second écran

LMOV |LMOV, no, x, y

Efface le lutin no sur sa position actuelle et l'affiche en coordonnées x et y.

Utilise un second écran sur lequel on a copié le premier avec la commande COPY.

IMOVE

Opère comme précédemment, mais effectue l'animation derrière le décor.

Exemple de réalisation d'animation avec deux pages

d'écran :

1) Initialisation de la séquence

|ADR, &8000 adresse des lutins, passée une fois pour toute, sauf si Ton utilise plusieurs tables.

|BADR, &9000 adresse du buffer de travail. On peut en utiliser plusieurs, sinon, passée une fois pour toute.

|COPY, &C000, &4000 copie l'écran sur la seconde page. La seconde page peut être mise à jour avec la commande |1TO2.

2) Animation

|SPRITE, 1, 18, 20

|LMOVE, 1, 17, 21 déplace le lutin 1 de la position 18, 20 en 17, 21.

8. MULTISET (disc)

C'est un utilitaire de redéfinition de caractères. Précisons que la commande BASIC permet de fournir un listing de redéfinition en Basic, alors que les commandes L)oad et S)ave se rapportent aux mêmes données en format binaire.

L'édition du caractère se fait à l'aide des flèches, de la barre d'espacement, et ENTER pour finir.

On utilise les caractères redéfinis avec les commandes :

1) SYMBOL AFTER 33 (et non 32 qui correspond au code espace).

2) suivi de

— soit le listing basic que l'on fusionne au programme avec la commande MERGE. Ce listing se trouve sur la disquette après que l'on ait tapé "B)asic" à partir du Multiset.

- soit le chargement du fichier binaire.

Exemple :

10 SYMBOL AFTER 33
20 LOAD "ASCII.BIN' ' Les caractères redéfinis ayant été sauvés dans le fichier ASCIL.BIN.

9. PATH MAKE (disc)

La combinaison des routines d'animation de LUTINS et de ce programme permettent de réaliser un jeu d'arcade en quelques heures. On prédéfinit avec PATH MAKE le chemin ou "path" que suivront les lutins en déplacement sur l'écran. Le programme DEMOl contient la routine basic qui lit la table correspondante. Il est également possible d'utiliser le programme pour réaliser des dessins translatables sur l'écran, comme le montre le programme DEMO.

Commandes :

Flèches : Déplacer les coordonnées de départ.

Pavé numérique : Tracé du chemin en 8 directions.

L : Charger un chemin.

S : Sauver un chemin.

E : Effacer et retracer le chemin en mémoire.

C : Effacer la mémoire.

A : l'adresse de départ. Prendre garde au programme en mémoire. La zone mémoire disponible se situe entre :

Début : &4000 16384 Fin : &A000 40960

10. LUTINS 2

Occupe les adresses &9C00 39936

S'initialise par : CALL &9E00 ou CALL 40448

Commandes ; ADR : passe l'adresse de la table de sprite

Exemple : |ADR, &8000 Si la table est chargée à l'adresse &8000.

SPRITE : dessine un lutin Format : |SPRITE, no, x, y x varie de 0 à 639 y varie de 0 à 199

Exemple : |SPRITE, 1, 5, 10

XSPRITE : comme précédemment, mais dessine en inversant la couleur du fond. En passant cette commande 2 fois, on dessine le lutin la première fois et on restitu le fond original la seconde.

11. CRUNCHER et DECRUNCHER (disc)

CRUNCHER permet de compresser une table de spri-tes ou d'écrans.

Pour compresser un écran on exécute les opérations suivantes :

l) placer l'écran en table avec CAPTURE.

(mode 0/1/2, taille non limitée, table non chargée).

2) utiliser CRUNCHER pour compresser la table, dont la taille est ici limitée à 16 k.

3) utiliser FUSION pour réunir les écrans compressés en une seule table de 30 k maximum.

4) DECRUNCH.BIN permet d'afficher les écrans par numéros.

DECRUNCHER offre la démo de la routine d'affichage de tables compressées.

DECRUNCH.BIN se charge n'importe où en mémoire, et occupe 151 octets.

Commandes : CALL adresse-routine, adresse-table CALL adresse-routine + 3, no, x, y

adresse-routine = adresse où est chargé DECRUNCH.BIN (ex : &A000)

adresse-table = adresse où est chargée la table

no = numéro de sprite ou d'écran

x = position horizontale entre 0 et 79 en tous

modes

y = position verticale entre 0 et 199

ANNEXE 1

UTILISATION DES LUTINS EN ASSEMBLEUR

I. Utilisation de LUTINS ET LUTINS 0

Le passage des paramètres se réalise en assembleurs selon la façon dont le système RSX de l'Amstrad traite les variables :

— Le registre IX pointe sur le début de la table des r paramètres.

— La table des paramètres contient d'abord la dernière variable de la commande, puis l'avant dernière, et ainsi de suite.

- Chaque valeur est convertie en entier de deux octets, le premier octet contenant la partie basse.

Exemple : |COPY, &2000, &1000

00 20 IX 00 10

adresses des CALLs :

&9B0F ADR &9B12 CL

&9B15 SCREEN &9B18 BADR &9B1B SPRITE &9B1E ISPRITE &9B21 LTRANS &9B24 ITRANS &9B27 SHOW &9B2A 1TO1 &9B2D 2TOl &9B30 2TO2 &9B33 COPY &9B36 LMOVE &9B39 IMOVE &9B3C SPMOVE &9B3F CLB

Tous les registres utilisés doivent être sauvegardés avant l'appel, sauf les registres auxiliaires.

II. Utilisation de LUTINS 2

Adresse des CALLs :

&9E0F ADR &9E12 COPY &9E15 SPRITE &9E18 XSPRITE

Mêmes remarques que pour LUTINS et LUTINS 0

ANNEXE 2 UTILISATION SUR 464 disk

Le 464 contient un bug relatif au chargement des fichiers, dont le nom est mai interprété, et qui provoque un "NO FOUND".

Si cela survient, taper CONT et ENTER, Terreur ne se produisant pas deux fois de suite.

OCR by hERMOL

★ EDITEUR: UBI SOFT
★ ANNÉE: ???
★ CONFIG: ???
★ LANGAGE: ???
★ LiCENCE: COMMERCIALE
★ AUTEUR(S): ???

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » City (Amstrad Computer User)
» Info » Graphic City development framework (Dan SUREAU)
» Applications » Graphic City (Ubi Soft)
» Coding Src's » Hot City Lights (Amstrad Computer User)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

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