	3 . Vue d'ensemble


Visual Assembleur 4.1


Outil de dveloppement pour le Falcon 030


	3.1 Matriel et logiciels requis

Pour accder  toutes les possibilits offertes par le Visual Assembleur (V.A.), vous devez 
possder au minimum un Atari Falcon 030 (TOS 4.0x) avec 4Mo de mmoire minimum ainsi 
qu'un disque dur ayant une place libre de 4 Mo minimum.
Le V.A. se prsente sous la forme d'un ensemble de sources en langage assembleur. Toutes 
ces sources ont t crites pour l'assembleur DEVPAC 3.10 de Hisoft et il est donc impratif 
de possder ce programme, ainsi que les librairies donnes avec.
Si vous dsirez raliser un programme fonctionnant sous environnement graphique (GEM), 
vous aurez besoin d'un diteur de ressource graphique. Le plus connu est INTERFACE 2 de 
Shift. Mais tout diteur comportant l'option de cration d'un fichier .H associ au fichier .RSC 
doit normalement tre utilisable. Il suffit que le format des lignes du fichier .H soit du style :

#include nom_objet_graphique=numro_objet_ressource   /* commentaire */ 

pour qu'il puisse tre trait automatiquement par le V.A.. 


	3.2 Que pouvez vous faire avec ce kit

Le Visual Assembleur n'est pas un langage  part entire, mais plutt une bibliothque de 
luxe pour les programmeurs en assembleur. Il intgre un ct visuel, car le dessin de l'interfa-
ce de l'application se fait comme pour ses confrres "Visual..." dans un diteur de ressource. Il 
est bien sur orient objet afin d'tre le plus volutif possible. Enfin, il est conu pour que le 
programmeur n'ait  grer aucun appel direct aux fonctions systme, le tout tant pris en char-
ge par le noyau "Visual".
De cette conception macro-modulaire du V.A., dcoulent des proprits trs intressantes, 
comme par exemple la portabilit du code assembleur ! Eh, oui il suffit de r-crire les macros 
pour la plate-forme destination (Mac, Amiga, Bee ...) et de re-compiler le tout pour avoir un 
excutable.
En effet, tous les systmes  base de fentre fonctionnent sur le mme principe : le dplace-
ment, le redimensionnement ... des fentres, les vnements menu, les vnements souris, cla-
viers, les messages systme et inter-applications et enfin le dcoupage en rectangles de la fe-
ntre lors du redraw. On voit ainsi qu'un programme de traitement d'image peut faire ce qu'il 
veut avec ses buffers internes : tant que son affichage est conforme au format V.A., il pourrait 
tre compatible avec n'importe quel systme de fentre.

Le Visual Assembleur permet de tirer parti de toutes les particularits du TOS et de l'AES 
dans leurs version les plus avances, i.e : TOS 4.04 & AES 4.1. La plupart des nouvelles 
fonctions sont totalement transparentes pour le programmeur qui oublie tous les soucis de 
clipping, de scrolling des fentres ...
- Pour une fentre bitmap, par exemple, il se concentre sur une seule chose : le contenu 
buffer Visual qui sert  l'affichage.
- Les fentres formulaires sont encore plus simple, puisque le seul paramtre quant au 
contenu est le numro de l'arbre ressource !
- Vous voulez grer vous-mme le dessin interne de votre fentre ? Pas de problme : on 
intercepte les messages de redraw, on clip et on vous passe les coordonnes des rectan-
gles !
- Vous pouvez tre prvenu d'absolument tous les vnements systme, il suffit d'insrer 
l'adresse de votre routine au bon endroit et un JSR sera effectu quand cet vnement 
arrivera (exemple : "AP_TERM", "WM_ALLICONIFY" ... )
- Enfin, fini le problme des accessoires et de leurs initialisations, votre application sera 
gre de faon transparente pour vous, qu'elle soit lance en accessoire ou en program-
me.

	Voici la liste des caractristiques du Visual Assembleur 4.1 au 21 avril 1997 :

- Fonctionne sur tout micro-processeur 68030 ou plus.
- Toute application fonctionnera parfaitement sous MiNT/Multitos et tirera parti de ses 
possibilits.
- Gestion des nouveaux messages AES 4.1.
- Scripts de dmarrage fournis pour tous les types de projets (TOS, ACC, APP, 
ACC/APP).
- Gestion transparente des ACC et des APP.
- Possibilit d'inclure le ressource dans le programme et de le reloger ensuite.
- Initialisation et stockage en retour des paramtres de la station virtuelle.
- Possibilit d'assigner un fond graphique  votre application.
- Possibilit de mettre des menus attachs (sous-menus) avec gestion transparente (AES 
3.3).
- Gestion irrprochable des raccourcis claviers, applicables  n'importe quel menu ou 
objet cliquable ; fonctionne dans tous les pays !
- Aucune restriction sur le nombre de fentres autre que celle impose par le systme.
- Namification de n'importe quelle fentre (laisse juste le titre & l'info).
- Possibilit de mettre une barre d'outil dans n'importe quelle fentre !
- Gestion des popups dans une fentre formulaire entirement automatique (AES 3.3), 
affichage, remplissage du champs de texte, et pour le programmeur un message d'aver-
tissement de changement avec l'index du nouvel objet slectionn.
- Gestion des appels Venus / Accessory. ("VA_START").
- Gestion de l'iconification des fentres.
- Gestion d'un menu dans les fentres.
- Implmentation de threads fentres.
- Bibliothque spciale pour la gestion des fichiers, ouverture, donne la taille, alloue la 
place mmoire ncessaire et charge le fichier.
- Bibliothque spciale pour le slecteur de fichiers (gre SelectricTM).
- Bibliothque spciale pour la RS-232 & Midi.
- Bibliothque spciale pour les dates & heures.
- Bibliothque de gestion des Cookies & vecteurs XBRA.
- Bibliothque de conversion bidirectionnelle du numrique vers l'ASCII.
- Bibliothque d'appels XHDI.
- Bibliothque d'appels STIK.
- Bibliothque de THREAD associs fentre pour partager le timer (et les processeurs).
- Bibliothque de recherche rcursive de fichiers selon un chemin de dpart et un mas-
que avec appel d'une routine de traitement personnalise ...
- Gestion du multi-document.: plusieurs copies d'une mme fentre. (traitement de tex-
te ...)
- Correction en option des bugs d'affichage lis au curseur GEM affich "btement" 
sans clipping : vous permettra d'avoir aussi accs aux champs de petits textes ditables.
- Cration facilite des objets grce  des macros spcifiques.


	3.3 Que ne pouvez-vous pas faire avec ce kit

Les limitations du V.A sont peu nombreuses car, comme nous l'avons vu, l'objet "fentre 
custom" permet tout, tant donn que c'est le programmeur qui gre les redraw.
Elles sont :
- On ne peut pas compiler de CPX.
- On ne peut pas faire de fentre terminal VT-100 en utilisant l'objet fentre texte.
- En mode non-plan (true-color) et en AES 3.30, les couleurs des icnes couleurs des 
ressources intgrs au programme ne correspondent pas aux couleurs voulues : il fau-
dra alors utiliser un bte RSC_LOAD lui aussi gr automatiquement.


	3.4 Futures versions

Un effort tout particulier a t apport au fait que les futures versions ne doivent pas obliger 
autre chose qu'une re-compilation pour tre oprantes. Toutes les futures amliorations sont 
d'ores et dj prvues autant que faire se peut.

La planification des versions  venir est la suivante :

V 4.0.45	Version de base permettant quasiment tous les types d'applicatifs.
V 4.1.y	Gestion des menus dans les fentres et gestion amliore (sans passer par le
			GEM) des champs de texte ditables. (avec copier/coller, slection ...)
V 4.2.y	Ajout de divers objets pour les fentres formulaires et gestion de la souris
			comme dpendante d'une fentre.
V 4.3.y	Possibilit de grer une fentre comme tant la composition de plusieurs
			autres.

V 5.x.y	Utilitaire de cration du fichier .OBJ de faon graphique et trs	simple.
