home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d590
/
mice.lha
/
MICE
/
Mice_Doc.Fra
< prev
next >
Wrap
Text File
|
1992-01-05
|
14KB
|
428 lines
****************************************
|| ||
|| MICE ||
|| par Pierre-Louis MANGEARD ||
|| © 1991, EquiLog S.P. ||
|| V1.2 ||
|| ||
****************************************
MICE signifie : My Image Code Editor. C'est un générateur de code source,
Assembleur et C, à partir d'images IFF, comme des brosses Deluxe Paint par
exemple.
MICE fonctionne très bien avec des fichiers IFF standards contenant tous
les chunks habituels conseillés par les concepteurs : 'FORM', 'ILBM',
'BMHD', 'CMAP', CAMG', 'DEST', et 'BODY'. Mais si tu utilises des formats
javanais avec des chunks exotiques tant pis pour toi.
MICE se sert de la REQ.LIBRARY alors tu fais gaffe qu'elle figure bien dans
ton répertoire LIBS.
MICE génère un code source structuré destiné au DEVPAC 2 en assembleur, et
au LATTICE (ou SAS) en C. Pour les autres assembleurs ou compilateurs, tu
n'auras qu'à apporter les modifications nécessaires à ton code.
MODE D'EMPLOI :
---------------
Voici une série de manipulations permettant de faire le tour de toutes les
possibilités de MICE. Je te conseille de les exécuter l'une après l'autre :
il n'y en a pas pour longtemps et comme ça tu comprendras tout.
Tu prendras soin d'abord de charger un éditeur quelconque pourvu qu'il ait
un requester de fichier, pour constater le résultat des opérations.
Pour procéder à ces essais, tu trouveras avec cette Doc un tiroir nommé
'Brushes' contenant 3 brosses IFF, nommées 'Brol', 'Gazm' et 'Rototo'.
Tu lances MICE à partir de son icône ou du Shell pour chacun des tests. Un
requester de fichier apparaît : tu iras te placer à chaque fois dans le
tiroir 'Brushes'.
I.- Un seul fichier sélectionné :
---------------------------
1 -> Tu double-clickes sur le fichier 'Rototo'. Le requester disparaît.
Une fenêtre apparaît, peuplée de gadgets booléens et d'un gadget de chaîne
intitulé 'SOURCE CODE FILENAME'.
- 4 gadgets sont préselectionnés ('ASSEMBLY', 'IMAGE STRUCT', 'IMAGE DATA'
et 'COMMENTS')
- un gadget est "ghosted" ('MULTIFILES')
- Le gadget de chaîne contient la mention 'RAM:Mice.Code'.
2 -> Tu clickes maintenant sur le gadget 'DO & QUIT'. Tout disparaît.
3 -> A partir de ton éditeur, tu charges à partir de la RAM: un nouveau
fichier qui vient d'y être créé et qui s'appelle justement 'Mice.Code'.
Ce fichier contient la structure 'Image' et les datas d'image de la brosse
'Rototo', codés en assembleur, et agrémentés de commentaires, que tu peux
intégrer directement à un programme destiné à être assemblé avec le DEVPAC.
Tu constates que le code reprend le nom de la brosse que les labels
'ImageRototo' et 'ImageDataRototo' sont générés. Je te laisse imaginer
l'avantage que représente ce système qui te permet de nommer pertinemment
tes brosses dès leur génération à partir de ton logiciel de dessin.
Donc, pour bénéficier pleinement de l'efficacité de MICE, tu dois respecter
certaines règles pour nommer tes brosses IFF ; pour les connaître,
reporte-toi au paragraphe 'LABELS ET NOMS DE FICHIERS'.
II.- Option 'COMMENTS' :
-----------------
Dans l'essai précédent, l'option 'COMMENTS' était sélectionnée par défaut.
Voyons maintenant quel a été son rôle en la désélectionnant.
1 -> Tu double-clickes sur le fichier 'Rototo'.
2 -> Tu clickes maintenant sur le gadget 'COMMENTS'. Il se désélectionne.
3 -> Dans le gadget 'SOURCE CODE FILENAME', tu renommes le fichier de
sortie en rajoutant un '1', par exemple : 'Mice1.Code'.
4 -> Tu clickes maintenant sur le gadget 'DO & QUIT'. Tout disparaît.
5 -> A partir de ton éditeur, tu charges, à la suite du code précédent ou
dans une autre fenêtre afin de pouvoir les comparer, le nouveau fichier
'RAM:Mice1.Code'.
Ce fichier contient la structure 'Image' et les datas d'image de la brosse
'Rototo', codés en assembleur, mais SANS les commentaires.
III.- Option 'PALETTE' :
----------------
Cette option ajoute le code de la palette de la brosse sélectionnée à
partir du requester.
Pour voir à quoi cela ressemble, tu peux si tu veux répéter les mêmes
manipulations que I et II, mais en sélectionnant en plus l'option
'PALETTE'.
IV.- Option 'C' :
----------
Cette option permet d'obtenir le code source en C et non en Assembleur.
Les deux gadgets sont en va-et-vient.
Pour voir à quoi cela ressemble, tu peux si tu veux répéter les mêmes
manipulations que précédemment, mais en sélectionnant l'option 'C' plutôt
que l'option par défaut 'ASSEMBLY'.
V.- Multi-sélection de fichiers sans l'option 'MULTIFILES' :
------------------------------------------------------
V.1.- Option 'ASSEMBLY' :
1 -> En maintenant la touche 'SHIFT' enfoncée, tu clickes successivement
sur les trois fichiers 'Brol', 'Gazm', et 'Rototo', puis tu relâches
'SHIFT'.
2 -> Tu clickes sur le bouton 'OK' du requester.
3 -> Tu sélectionnes l'option 'PALETTE'. Tu remarqueras au passage que le
gadget 'MULTIFILES' n'est plus "ghosted", mais pour l'instant on le laisse
de côté.
4 -> Tu clickes sur 'DO & QUIT'.
5 -> A partir de ton éditeur, tu charges 'RAM:Mice.Code'.
Le code que tu as obtenu comprend 3 sections :
- SECTION Palette,DATA comprenant la Palette
- SECTION ImageStructure,DATA comprenant toutes les structures 'Image'
- SECTION ImageData,DATA_C comprenant tous les datas d'image
Cet agencement te permet de manipuler d'un seul coupé-collé des blocs
entiers de data d'un même type.
La palette n'est donnée qu'une seule fois en tête de fichier. C'est la
palette du premier fichier sélectionné, 'Brol'. Si 'Brol' n'avait pas
contenu de palette ou une palette corrompue, 'Mice.Code' n'aurait pas fait
figurer de SECTION Palette.
V.2.- Option 'C' :
Le code généré en C est structuré différemment de celui en assembleur.
Pour voir à quoi cela ressemble, tu répètes les mêmes manipulations que
dans la partie V.1., mais en sélectionnant l'option 'C' plutôt que l'option
par défaut 'ASSEMBLY'.
La palette est donnée en premier, mais les datas d'image ne sont pas
séparés des structures 'Image' et les données des 3 images 'Brol', 'Gazm'
et 'Rototo' restent groupées.
En effet, tu remarques que chaque chunk 'ImageData' est précédé de la
directive 'USHORT chip' : ce mot-clef 'chip' garantit que le data qui suit
sera chargé en CHIP MEMORY lorsque tu lanceras ton exécutable. Il n'est
donc pas nécessaire de stocker séparément les datas d'image des structure
'Image'.
VI.- Multi-sélection avec l'option 'MULTIFILES' et sans 'PALETTE' :
------------------------------------------------------------
1 -> En maintenant la touche 'SHIFT' enfoncée, tu clickes successivement
sur les trois fichiers 'Brol', 'Gazm', et 'Rototo', puis tu relâches
'SHIFT'.
2 -> Tu clickes sur le bouton 'OK' du requester.
3 -> Tu sélectionnes l'option 'MULTIFILES'. Tu remarques que dès que tu as
clické, le gadget 'SOURCE CODE FILENAME' a indiqué 'RAM:' et non plus
'RAM:Mice.Code'.
4 -> Tu clickes sur le bouton 'DO & QUIT' de la fenêtre.
5 -> Avec le requester de ton éditeur de fichier, tu constates qu'il y a 3
nouveaux fichiers en RAM:, nommés 'Brol.Code', Gazm.Code' et 'Rototo.Code'.
Si tu les visionnes l'un après l'autre tu verras que chacun contient la
structure 'Image' et les datas d'images de sa brosse d'origine.
VII.- Multi-sélection avec l'option 'MULTIFILES' et avec 'PALETTE' :
------------------------------------------------------------
1 -> En maintenant la touche 'SHIFT' enfoncée, tu clickes successivement
sur les trois fichiers 'Brol', 'Gazm', et 'Rototo', puis tu relâches
'SHIFT'.
2 -> Tu clickes sur le bouton 'OK' du requester.
3 -> Tu sélectionnes l'option 'PALETTE'.
4 -> Tu sélectionnes l'option 'MULTIFILES'.
5 -> Tu clickes sur le bouton 'DO & QUIT' de la fenêtre.
6 -> La fenêtre disparaît et laisse place à un requester qui te demande :
'Repeat palette in each file ?' ('Dois-je répéter la palette dans chaque
fichier ?'). Tu peux répondre 'Yes' ou 'No' :
VII.1.- Réponse 'Yes' au requester :
Avec le requester de ton éditeur de fichier, tu constates qu'il y a en RAM:
les 3 fichiers 'Brol.Code', Gazm.Code' et 'Rototo.Code'. Si tu les
visionnes l'un après l'autre tu verras qu'ils contiennent chacun la
palette, la structure 'Image' et les datas d'image de la brosse
correspondante. Mais cette fois-ci, la palette de chaque fichier a pour
nom, respectivement, 'PaletteBrol', 'PaletteGazm', et 'PaletteRototo'.
VII.2.- Réponse 'No' au requester :
Avec le requester de ton éditeur de fichier, tu constates qu'il y a en RAM:
les 3 fichiers 'Brol.Code', Gazm.Code' et 'Rototo.Code' ainsi qu'un nouveau
fichier nommé 'Palette.Code'. Si tu le visionnes tu verras qu'il contient
la palette. Les 3 autres fichiers ne contiennent plus la palette.
VIII.- Multi-sélection de fichiers avec l'option 'PALETTE' seule :
---------------------------------------------------------
Dans la grande majorité des cas, quand tu veux coder des brosses IFF, elles
appartiennent toutes à un même écran et partagent donc la même palette de
couleurs. C'est pourquoi MICE ne génère qu'une seule palette, sauf dans le
cas décrit en VII.1.
Mais si tu ne sélectionnes QUE l'option 'PALETTE', MICE comprendra que
c'est bien PLUSIEURS palettes que tu désires et génèrera soit un fichier
unique avec les trois palettes 'PaletteBrol', 'PaletteGazm', et
'PaletteRototo', soit, si tu as choisi l'option 'MULTIFILES', trois
fichiers 'Brol.Code', Gazm.Code' et 'Rototo.Code' contenant chacun sa
palette respective.
IX.- Option 'SHOW IFF' :
-----------------
IX.1- Sélection unique :
1 -> Tu double-clickes sur le fichier 'Rototo'.
2 -> Sélectionne l'option 'SHOW IFF'.
3 -> Un écran apparaît qui te montre à quoi ressemble la brosse 'Rototo'.
4 -> Tu appuies sur le bouton gauche de la souris : l'écran disparaît et
tu retournes à la fenêtre.
IX.2- Multi-sélection :
1 -> En maintenant la touche 'SHIFT' enfoncée, tu clickes successivement
sur les trois fichiers 'Brol', 'Gazm', et 'Rototo', puis tu relâches
'SHIFT'.
2 -> Tu clickes sur le bouton 'OK' du requester.
3 -> Tu sélectionnes l'option 'SHOW IFF'.
4 -> Un écran apparaît qui te montre à quoi ressemble la brosse 'Brol'.
5 -> Tu appuies sur le bouton gauche de la souris : l'écran disparaît et
un autre lui succède qui te montre à quoi ressemble la brosse 'Gazm'.
6 -> Tu appuies sur le bouton gauche de la souris : l'écran disparaît et
un autre lui succède qui te montre à quoi ressemble la brosse 'Rototo'.
7 -> Tu appuies sur le bouton gauche de la souris : l'écran disparaît et
tu retournes à la fenêtre.
X.- Options 'DO', 'DO & QUIT', 'CANCEL', QUIT' :
------------------------------------------
Dans les exemples précédents, il était toujours dit de clicker sur le
bouton 'DO & QUIT' à la fin de chaque manipulation. Cette option permet de
coder sa ou ses images, puis de quitter MICE directement.
L'option 'DO' permet de coder sa ou ses images et, dès que le codage est
achevé, de revenir au requester de fichiers pour éventuellement traiter
d'autres images.
L'option 'CANCEL' permet de revenir au requester de fichiers sans avoir
fait quoi que ce soit.
L'option 'QUIT' permet de quitter MICE sans avoir fait quoi que ce soit,
tout comme le bouton 'Forget it' du requester.
LABELS ET NOMS DE FICHIERS :
----------------------------
MICE recupère le nom de ta brosse pour génèrer ses labels. C'est très
pratique, car dès que tu as créé ton dessin tu peux le sauvegarder sous le
nom que tu comptes utiliser dans ton programme.
MICE transforme la première lettre de ton nom de fichier en majuscule si
elle ne l'est pas déjà.
Par exemple, à partir d'une brosse nommée 'rototo', MICE génèrera les
labels suivants : 'ImageRototo', 'ImageDataRototo', et éventuellement
'PaletteRototo'.
Etant donné que le nom de ton fichier IFF deviendra label, il doit donc
respecter quelques règles :
- le nom doit commencer par les caractères a-z, A-Z ou _.
- il ne peut contenir d'autres caractères que a-z, A-Z, 0-9 ou _.
- il ne doit donc pas contenir d'espace.
- il ne doit donc pas contenir de caractères accentués.
exemples de noms valides :
Rototo
veRGlUtoMItrOPhLerCABle
Ramb0
R2D2
Louis_XIV
_fna
__vlu
exemples de noms invalides :
Starsky&Hutch
2001_A_Space_Odyssey
&%$?#(>*
_make room !
yékéké
etc...
- MICE refuse un fichier dont la première lettre du nom n'est pas correcte.
- MICE accepte les fichiers contenant des caractères illégaux : il se
contente de garder ce qui est valide et de supprimer ce qui suit. Voici
quelques exemples de ce que cela donne :
Starsky&Hutch donne le label ImageStarsky
brush.1 " " ImageBrush
brush.2 " " ImageBrush
brush(!&?<>) " " ImageBrush
_make room ! " " Image_make
etc... " " ImageEtc
Tu feras donc attention que les premiers caractères significatifs de tes
noms soient bien différents d'un fichier à l'autre.
Dans le cas ci-dessus des 2 noms de fichiers 'brush.1' et 'brush.2', tu
peux constater qu'ils donnent le même label, ce qui te vaudrait un message
d'erreur lors de la compilation avec le DEVPAC ou le LATTICE/SAS.
Si tu as choisi l'option 'MULTIFILES', tu ne verras apparaître qu'un seul
fichier source, du nom de 'Brush.Code', qui contiendra le code source du
dernier des deux fichiers 'brush.1' et 'brush.2' à avoir été traité,
celui-ci ayant écrasé le précédent puisqu'il portait le même nom.
Par défaut, MICE génère le fichier 'RAM:Mice.Code', et prend 'RAM:' comme
périphérique de sortie pour l'option 'MULTIFILES'.
MICE est un produit EquiLog.
Ce programme n'ayant pu être testé pour des raisons de manque d'effectif,
il est vivement conseillé de faire part de ses commentaires à l'adresse
suivante :
EquiLog S.P.
c/o Pierre-Louis MANGEARD
15, rue des Cailles
Plateau Caillou
97460 SAINT PAUL
Ile de la Réunion