Obligement - L'Amiga au maximum

Jeudi 28 mars 2024 - 13:32  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Test d'AMOS Professional 1.0
(Article écrit par Gilles Bihan et extrait d'Amiga News - décembre 1992)


Non content d'avoir sorti il y a quelques mois de cela une version pour débutant de son langage mystique, François Lionet nous en offre le symétrique : AMOS Professional. Un nouveau ton est donné à la gamme de programmation distribuée par Europress Software.

A une époque où SAS Institute arrive enfin à vendre un paquetage C haut de gamme, François Lionet le Lyonnais fait évoluer son langage vers l'excellence. La grande question peut alors se poser : le BASIC est-il en phase de renaissance ? Avec cette version on ne sait plus, car AMOS n'a de BASIC que le nom. En effet, le nombre de fonctions, suppléé par un environnement complet, ne laisse plus la place à l'improvisation. La nouvelle version risque de remettre en question bien des a priori envers un langage trop souvent considéré comme un jeu. Je vais donc essayer de décortiquer l'enveloppe, avant de m'attaquer au contenu.

Packaging deluxe

AMOS Pro Le coffret AMOS Professional 1.0 offre six disquettes pleines à craquer et un épais manuel glacé. Avec le manuel on est loin de l'austère présentation des mille et un guide du Borland C++ 3.0. La mise en page, claire et parsemée d'icônes pour diriger le lecteur, est d'une clarté exemplaire, même pour un texte en anglais.

Cet "User Guide" apparaît très vite comme la pierre angulaire de l'édifice professionnel d'AMOS. En effet, à l'inverse de ce que furent les manuels précédents des versions AMOS lambda, on nous accorde ici de nombreuses informations techniques, comme notamment les structures assembleurs des "Banks". Les fonctions sont classées par chapitre recouvrant un thème précis de programmation. On peut alors tout savoir sur l'affichage écran, ou sur la gestion des entrées-sorties. Un index spécifique aux commandes est inclus. Celui-ci s'avère être bien pratique, car non content de lister les commandes avec leur numéro de page de référence, il offre un résumé abrégé du rôle de l'instruction, au cas où le sens sémantique ne sauterait pas tout de suite aux yeux.

Un rappel des têtes de chapitre est fait en bas de chaque page afin d'effectuer une recherche rapide du thème désiré. On a appliqué la même règle, mais cette fois-ci en haut de page, pour indiquer sous forme réduite les numéros de chapitre et de sous-chapitre. On trouve également des notices explicatives pour les divers accessoires adjoints à AMOS. Il est dommage qu'un certain nombre d'utilitaires ne soit pas documenté, même si ceux-ci ne soulèvent réellement aucun problème d'utilisation (d'ailleurs comme tous, en général).

Un manuel supplémentaire est fourni pour décrire les applications offertes en supplément. Il ne fait donc pas de doute que Mel Croucher et Stephen Hill, les rédacteurs de ce roman-fleuve, se sont appliqués tout particulièrement à le rendre le plus clair, précis et convivial possible. La pratique montre en effet qu'il est facile de s'y retrouver. Même si sa vocation n'est pas d'initier, et d'ailleurs tel n'est pas a priori le but, il apparaît être un outil de travail précieux.

Les disquettes fournies ce même sens du devoir accompli ressort. En effet, si la seule disquette système se suffit à elle-même pour faire fonctionner AMOS, un programme d'installation, ma foi bien agréable, vous permet d'installer l'environnement de programmation sur votre disque dur. Saupoudré d'un peu de musique et d'effet sonore (une voix inoubliable vous susurre à l'oreille "AMOS Professional") à l'image d'Easy AMOS, il vous prend par la main, et vous évite bien des surprises.

Attention, le programme d'installation inscrit vos nom et numéro d'enregistrement sur la disquette. Il est plus prudent de faire une copie de la disquette système avant d'installer. Cela pourrait vous éviter bien des désagréments. Vous commencez par donner la langue de votre pays, ceci afin de configurer le système en fonction de votre clavier. Pas moins de treize types de clavier sont reconnus et, fait amusant, il y a écrit "Français", et non pas "French". On passe ensuite à l'installation. Une magnifique fenêtre de requête vous permet de désigner le lecteur de destination.

Une fois cela fait, un panneau vous donne la possibilité de moduler l'installation. En effet, AMOS fait, une fois tout installé, 4 271 485 octets. On peut alors choisir d'installer seulement une partie. Pour cela, on se limite au choix d'un certain nombre de disquettes parmi les six. Vous êtes informés à tout moment de la taille requise pour l'installation souhaitée et de la place disponible sur le disque de destination. La faculté existe de changer de disque à tout moment si l'espace vient à manquer. Une fois lancé, le programme d'installation donne, à l'aide d'une jauge et de messages claires la progression de la mise en place de l'environnement.

Enfin, on vous précise dans quel chemin trouver AMOS Professional. Il est toujours possible de relancer le programme Install pour compléter votre environnement avec des données que vous n'avez pas jugé bon d'installer au départ. Programmé en AMOS, Install laisse déjà présager de bonnes surprises, tel l'aspect général de l'interface.

The AMOS Desktop

Une fois mis en route, le programme quitte le système graphique Workbench pour mettre en place son propre environnement. Si les grands principes de l'ergonomie tout à la souris sont conservés, leur profil général prend une nouvelle mesure. En effet, comme ce fut le cas dans les versions ultérieures, François Lionet a tout reprogrammé. Une sorte de système dans le système. Le pointeur souris est différent, les menus sont différents, les fenêtres sont différentes. Ici on met en oeuvre plus que jamais l'aspect 3D qui caractérise de plus en plus les applications sous Amiga.

AMOS Pro

A l'inverse de ce que l'on avait dans les versions antérieures, AMOS offre la possibilité d'ouvrir plusieurs fenêtres d'édition, ce qui permet de travailler en même temps sur plusieurs programmes. On peut aisément se balader dans ces diverses fenêtres et les modifier grâce à la souris ou à des raccourcis clavier. Il est alors très facile d'aller chaparder des routines dans d'autres listings pour les inclure dans vos réalisations actuelles.

Maintenant, les fonctions sont toutes présentes sous forme de menus conventionnels. Pour plus de commodité, une barre d'icônes permet d'accéder aux commandes les plus importantes (qui reviennent le plus souvent), par exemple pour lancer l'exécution du programme, ou encore pour indenter le listing. Mais on n'a plus la double barre de dix cases équivalentes aux touches de fonctions. Une intéressante icône nous donne à tout moment, sous forme d'un graphique, l'état d'encombrement de la mémoire Chip et Fast. Un bouton permet de relancer le multitâche, et de repasser sous Workbench. Un autre commute le mode édition en mode commande de ligne.

Pour les aficionados du clavier, toutes ces fonctions sont doublées. Si les touches de fonction sont mises largement à contribution (on retrouve des mécanismes des anciennes versions), le clavier entier est impliqué dans l'éditeur. Vous pouvez vous-même le corrompre en assignant une touche à une macro. En effet, nouvellement implantée, la fonction macro permet d'enregistrer des séquences de caractères ou de commandes, ceci afin de permettre une plus grande optimisation de votre travail.

Dans la même optique, il vous êtes possible d'attacher le lancement des programmes AMOS dans un menu spécifique. Les utilitaires principaux sont d'ailleurs contenus dans le menu "User". On peut ainsi les appeler à tout moment, sans avoir recours à un chargement par requête, et à une commande "User". Le même système a été retenu pour les accessoires. La configuration d'AMOS se fait par un menu qui lui est entièrement consacré. On peut pour ainsi dire tout modifier. Que ce soit la résolution, la police système employée, ou le placement sur l'écran de l'éditeur. Les modifications touchent à l'éditeur et à l'interpréteur, mais également à la minuterie d'une fonction de sauvegarde automatique intégrée, ou encore à l'affectation de touches à une fonction.

Multiples, ces changements prouvent à quel point AMOS a été programmé de façon très modulable. Il est loisible de métamorphoser complètement l'environnement de travail. On trouve aussi une fonction de recherche/remplace du type de celle que l'on retrouve dans bon nombre de traitements de texte (distinction caractère majuscule ou minuscule, recherche en arrière). La fonction de bloc est plus facile à mettre en oeuvre. Une fonction "Undo" (défaire) est accessible. Celle-ci est doublée d'une commande "Redo" (refaire) qui permet de revenir sur l'undo. Ces deux commandes ne sont pas limitées à une seule entrée. Il y a également une fonction "Info" qui donne l'état exact de la mémoire, l'occupation du programme en cours, la place utilisée par les banks, le nombre de lignes ou d'instructions.

La maîtrise de l'espace

Trois autres commandes significatives sont à souligner. La première concerne l'insertion de code assembleur dans un listing. Il suffit de créer une procédure, de se placer dessus, et d'invoquer "Insert Program". Le code est alors inclus. Son appel se fera par la procédure, et le passage de variables par les registres machines (DREG() et AREG()) ou par un empilement des données à partir d'une adresse contenue dans le registre d'adresse A3. On peut toujours charger le code par un "BLOAD" dans une bank. Le manuel est par ailleurs assez généreux sur ce domaine.

Ensuite, la deuxième commande est celle qui permet de tester le programme afin de savoir si celui-ci est compatible avec la version 1.3 d'AMOS. Cela permet d'assurer une certaine compatibilité, à condition de s'en tenir au jeu d'instructions 1.3. Une fois la commande appelée, la ligne d'information vous indique si oui ou non le programme est compatible. Si une instruction n'est pas implémentée sur AMOS 1.3, l'éditeur vous indique celle qui est mise en cause.

Enfin, la troisième commande est l'apparition d'une aide. Il est possible, comme heureusement on le voit de plus en plus, d'invoquer une aide. Il suffit de se placer au début de l'instruction et d'appuyer sur "Help", de cliquer sur le "H" de la barre d'icône, ou encore de passer par le menu "Help". On vous donne alors le synopsis de la commande et une courte description de son usage. Bien que moins jolie que l'aide du Lattice 6.0, ou moins complète que celle de Turbo C sous PC, elle est bien pratique, et évite de se référer sans cesse au manuel. On peut également faire une recherche par thème.

L'inévitable mode direct est toujours là. En effet, il est possible de rentrer des commandes à partir d'une sorte de Shell, mais ce mode a subi quelques modifications. On a aussi ici une barre d'icône pour simplifier l'appel de certaines fonctions en mode direct (le chargement ou la sauvegarde d'une image IFF, le catalogue d'une disquette, etc.). Il est possible de dévier l'action des commandes de la fenêtre directe vers l'écran programme, et vice-versa. On peut par exemple, faire un "print" dont le résultat va s'afficher dans la fenêtre direct. La hauteur de la fenêtre peut être modifiée, et il est possible de faire coulisser celle-ci verticalement. La jauge d'état de la mémoire est toujours présente, ainsi que l'icône d'appel à Workbench. Par contre, les fonctions d'aide ne sont pas disponibles.

AMOS Pro

Passez commande

Attardons-nous maintenant, et de façon informelle et incomplète, sur le nouveau capital de commandes offert par AMOS Professional. C'est d'abord les mathématiques qui m'ont fasciné. Conscient d'un reproche souvent formulé à son encontre, AMOS s'est revêtu d'une possibilité de calcul en double précision pour les nombres réels. Il s'agit ici d'une commande "Set Double Precision" qui évite certains des inconvénients de l'arrondi un peu facile, mais difficilement supportable dans des calculs très pointilleux. Les grincheux matheux n'ont qu'à bien se tenir maintenant.

La fonction "Read Test" (et non pas "Read Text$" comme l'indique de façon erronée le manuel) permet d'afficher un texte ASCII dans une fenêtre. AMOS se charge alors de gérer le déplacement du texte afin de le lire (un peu comme le fait More, mais en moins sophistiqué). Le texte peut être soit récupéré en mémoire, soit chargé à partir du disque. Cela peut particulièrement s'avérer utile par exemple pour mettre une aide dans un programme. La gestion des banks mémoires a été étoffée. On trouve la possibilité d'effacer d'un coup toutes les banks (par "Erase All"), de n'effacer que les banks dites temporaires ("Erase Temp"), ou encore de modifier la taille d'une bank ("Bank Shrink"). D'autres fonctions permettent encore d'établir des relations entre les banks de différents programmes présents alternativement en mémoire, telle l'utilisation d'une bank appartenant à un accessoire.

La fonction "Screen Mode" permet de connaître la résolution actuelle effective. Les codes de renvoi sont ceux utilisés pour créer une fenêtre sous intuition ($8000 pour le mode 640 points). C'est bien pour ceux qui ne savent jamais où ils sont.

Les animations sont gérées par AMOS. Oui, vous entendez bien, AMOS sait lire et animer des fichiers ANIM compressés type 5 (ceux de Deluxe Paint). La fonction "IFF ANIM "AMOS.anim" to 1" réalise le chargement de l'animation et exécute son déroulement. Rajoutez à cela quelques fonctions de gestion, par exemple celle qui autorise l'affichage d'un segment de l'animation, et vous faites mieux qu'AmigaVision. AMOS se commute automatiquement dans le mode écran de l'animation.

En ce qui concerne la musique, hormis la gestion des traditionnelles "music banks", AMOS reconnaît les modules issus de SoundTracker et de MED. Pour cela, on a des instructions spécifiques à la gestion des morceaux. La commande "Med Load" permet de charger en mémoire un morceau. "Med play" fait jouer la fanfare.

On avait des langages spécifiques aux menus et aux sprites (AMAL), maintenant on a un langage spécifique aux boîtes de dialogues, radio-boutons et autres petites gâteries : l'Interface. Il s'agit d'un langage intégré dans AMOS sous forme de chaîne ASCII, qui permet de créer et de gérer des éléments d'interface graphique. Par exemple, je veux une boîte de dialogue avec un bouton pour dire "Oui" et un pour dire "Non". AMOS va gérer non seulement le graphisme de celle-ci, mais encore les actions opérées dessus, et vous renverra simplement le résultat de l'opération. C'est littéralement délirant.

AMOS Pro

Les éléments graphiques sont entrés sous forme de banks, ressource, et reçoivent un chiffre d'identification (ID). Le langage permet de décrire la forme de l'interface, d'en placer les éléments, d'y affecter un état, et d'attendre le choix de l'utilisateur. Il s'agit là vraisemblablement d'une extension utilisée par AMOS lui-même pour gérer son interface. Rien à dire, sinon qu'il est encore une fois assez difficile de déboguer un programme Interface. Mais que diable, le plaisir est là. Décrire ici toutes les fonctions dépasserait de loin la taille d'Amiga News. Il faut le voir, pour le croire.

On trouve une instruction "Disc Info$" qui donne le nom et l'espace libre sur un disque. "Include" permet d'insérer un programme AMOS comme on le pratique en C. La gestion des entrées-sorties est également exceptionnelle. Hormis le port série déjà bien géré dans la version 1.3, on trouve une gestion du port imprimante et du port parallèle. Que se soit SER: ou PAR:, on peut aussi bien recevoir qu'envoyer, arrêter ou surveiller. "Parallel Status" va nous donner l'état actuel du port parallèle, à savoir par exemple si l'imprimante travaille ou est en attente d'informations. L'imprimante n'est pas en reste, car il est possible de se servir des pilotes Workbench, et d'envoyer les séquences standardisées d'impression. La commande "Printer Dump" par exemple permet de faire une "hardcopy". Quel que soit le port, toutes les commandes et informations sont accessibles. Il n'y a rien, franchement rien à jeter.

Et comme on ne s'arrête pas là, on va trouver également des fonctions pour gérer ARexx. Je n'y connais pas grand-chose en la matière, mais il me semble que l'on peut recevoir et envoyer des ordres par l'intermédiaire d'ARexx. Visiblement pour connaisseur. En tout cas, même Maurice on ne l'a pas oublié.

On trouve aussi une ribambelle d'instructions pour gérer les bibliothèques, les périphériques logiques, et tout ce qui fait le charme du système d'exploitation de l'Amiga. Cela va de la fonction d'ouverture de bibliothèques à l'utilisation d'une fonction de bibliothèques avec son appel par décalage ("offset"). Il semble même que les structures n'ont pas été oubliées.

AMOS Developement Kit

En plus de toutes ces fonctions, AMOS a su s'entourer d'une fine équipe d'utilitaires (par ailleurs tous écrits en AMOS) pour faciliter, organiser et mettre en oeuvre les diverses facettes de ce langage. Cela va du classique éditeur de BOB et de sprite au concepteur de menus. Certains ont connu des rajeunissements. Tel est le cas du Sprite Editor qui gagne en souplesse et en puissance. D'autres ont disparu, tel le convertisseur de module SoundTracker en banks AMOS Music.

Enfin, des petits nouveaux ont vu le jour. Ainsi Disc Manager (présent sur Easy AMOS), gestionnaire de fichier type DiskMaster ou Directory Opus, permet, entre autres, de formater et de copier des disquettes, de visualiser des images et animations IFF, de détecter les fichiers AMOS, etc. Cet utilitaire réjouira tous les flémards du CLI. On trouve également le "Sample Bank Maker" qui permet de travailler les échantillons issus de numériseurs.

Hérité également d'Easy AMOS, AMOS Monitor, sorte de débogueur, permet de visualiser pas à pas l'exécution d'un programme. On est loin de la puissance de certains débogueurs, mais la convivialité de celui-ci ne laisse courir aucun doute sur l'utilisation intensive que l'on pourrait en faire. En effet, une fenêtre en réduction donne une image de l'exécution du programme, et peut être agrandie plein écran afin d'apprécier de visu le résultat. Plusieurs vitesses d'exécution sont possibles, ainsi que la surveillance du contenu des variables. Chaque instruction exécutée est signalée sur l'écran au sein du listing qui se déroule devant vos yeux émerveillés.

A côté de cela on trouve les inévitables exemples. On a d'abord les projets de grande envergure fournis clef en main. Ils se trouvent sur les disquettes "productivity". On a ainsi quatre jeux et un gentil petit gestionnaire de fichiers. Tous ces programmes sont de bonnes factures, et montrent bien ce dont est capable AMOS avec un minimum de programmation. Pour mon compte, j'ai bien aimé le jeu Block Out, qui est un clone de Tetris amélioré.

Le petit manuel supplémentaire fournit d'ailleurs des informations sur l'utilisation et les points intéressants de programmation de ces logiciels. On trouve aussi des exemples. Alors là c'est étonnant. On a d'une part le tutoriel, qui traite de certains points, notamment d'AMAL et d'Interface. Mais on ne s'arrête pas là, et plus de 80 exemples sont fournis. Tous les thèmes du manuel sont traités par l'exemple. Vraiment, rien à dire. Si on ne comprend pas avec tout cela, on ne comprendra jamais. Il vous faudra bien plus d'une après-midi pour accorder quelques secondes à chacun d'eux.

Vers une Happy End

AMOS apparaît donc de plus en plus comme l'un des langages incontournables sur Amiga. Non heureux d'être un créateur de jeu, il s'impose de plus en plus comme un langage multi-applications. Le soin apporté aux fonctions, leur diversité et leurs complémentarités, montrent bien l'importance de la dynamique AMOS. Ce langage apparaît de plus en plus comme le langage multimédia sur Amiga.

Il est difficile de lui trouver des défauts, à part peut-être son interfaçage hors norme Commodore. Le paquetage une fois encore est d'une exceptionnelle qualité. Le seul reproche est encore une fois la non-francisation du produit. Il est dommage qu'un programme d'origine bien française ne sorte pas directement dans la langue de Molière. Une fois de plus, c'est au mépris des lois en vigueur dans notre pays que le logiciel va être distribué. Remarquez, la francisation prend un peu de temps, et il est dommage de se priver d'un tel joyau pour une petite question de linguistique.

Il est également regrettable qu'il n'existe pas de club AMOS en France comme c'est le cas dans beaucoup de pays. Il y a bien là des contrastes difficiles à supporter.

Conclusion

Il n'en reste pas moins qu'AMOS Professional est à posséder absolument, que vous soyez programmeur débutant ou averti. L'outil est parfait. De nouvelles versions d'AMOS Compiler et d'AMOS 3D sont prévues, et devraient sortir incessamment sous peu. En voyant cela, je frémis à l'idée de ce que pourrait encore nous inventer monsieur François Lionet.

Nom : AMOS Professional 1.0.
Développeur : François Lionet.
Éditeur : Europress Software.
Genre : langage de programmation.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, 1 Mo de mémoire.
Licence : commercial.
Prix : 70 £.


[Retour en haut] / [Retour aux articles]