home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- ****************************************
- || ||
- || 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
-
-