2 : Principes de base

AMOS est un langage de programmation, mais comme la plupart des langages, il faut un peu de temps pour l'apprendre. Il faut apprendre petit à petit le jargon, un peu comme lorsqu'on apprend une langue étrangère dans la vraie vie. Si vous voulez vraiment bien apprendre le français, installez-vous au milieu de Paris avec un guide de conversation pendant un ou trois mois. Vous utiliserez la langue tout le temps, donc vous deviendrez très bon en très peu de temps. Vous commencerez par apprendre quelques expressions que vous utilisez tout le temps, puis vous ajouterez de nouveaux mots au fur et à mesure que vous en aurez besoin. Certains ne reviendront que de temps en temps, mais d'autres seront nécessaires chaque jour, chaque fois que vous devrez parler à quelqu'un.

Il en va de même pour l'apprentissage d'un langage informatique comme AMOS. Une fois que vous connaissez quelques expressions (ce qu'on appelle des mots-clés), vous pourrez vous lancer tout seul. Ensuite, vous devez connaître la syntaxe. Dans une langue parlée, la syntaxe est la grammaire, ou la manière dont les mots sont assemblés pour produire le bon effet. Dans les langages informatiques comme AMOS, les commandes ou mots-clés doivent être utilisés dans le bon ordre et dans le bon contexte pour fonctionner correctement, ou pour avoir le bon effet. Une fois que vous avez un vocabulaire de mots-clés AMOS et une connaissance de la bonne syntaxe pour les utiliser, vous pouvez construire à partir des mots-clés que vous connaissez et les utiliser avec confiance, en apprenant par expérience.

Mais la chose la plus importante à savoir, c'est que l'apprentissage d'AMOS doit être amusant. Amusez-vous, car ce n'est pas un test que vous allez réussir ou échouer. Vous apprenez parce que vous le voulez.

Comment fonctionne AMOS

Le but principal d'AMOS est d'être un BASIC étendu. C'est-à-dire que si un BASIC normal était une Ford Cortina de 1964, un BASIC étendu serait une Porsche de 1992. AMOS est comme un BASIC normal sauf qu'il a été optimisé de certaines manières, amélioré pour fonctionner plus rapidement et faire bien plus que n'importe quel BASIC classique.

AMOS utilise quelques astuces pour tirer le maximum de puissance de votre Amiga. Tout d'abord, les sons et graphismes sont stockés dans des banques de mémoire spéciales dans la mémoire de votre Amiga. Ce sont des zones de mémoire réservées par AMOS pour stocker ces éléments, et il les rappelle depuis la mémoire lorsqu'il en a besoin. C'est beaucoup plus rapide que de charger les sons ou les graphismes depuis le disque. La principale raison est la vitesse. Une fois que vous avez chargé un écran en mémoire, par exemple, vous pouvez l'afficher à l'écran en moins d'une seconde, contre environ quatre secondes depuis le disque. Les sons aussi sont stockés en mémoire, comme la musique et les effets sonores. Ils peuvent être utilisés à la demande sans chargement depuis le disque. Et le beau côté de ce système, c'est que les sons et graphismes que vous chargez dans les banques de mémoire sont sauvegardés de manière invisible sur le disque avec votre code de programme. Donc, lorsque vous chargez et exécutez un programme, vous obtenez bien plus que le simple texte brut du programme. Toutes les banques de mémoire sauvegardées sont chargées en mémoire aussi, ce qui donne au programme de nombreux alliés cachés prêts à fournir plus de puissance.

Une autre astuce qu'AMOS utilise est celle des commandes optimisées très rapides. Optimisé signifie que la commande a été écrite pour être aussi rapide que possible. Aucune commande AMOS ne fonctionne à une efficacité inférieure à son maximum. Cela signifie que même un programme simple s'exécutera bien plus vite qu'un programme dans un BASIC ordinaire.

Ensuite, AMOS dispose d'un autre langage informatique plus simple qui peut être utilisé dans les programmes AMOS, et c'est AMAL. AMAL signifie AMOS Animation Language, c'est-à-dire un ensemble spécial de routines d'animation et de mouvement qui sont non seulement automatiquement compilées avant exécution, mais qui fonctionnent aussi simultanément sur plusieurs canaux AMAL. C'est du multitâche à son meilleur niveau, et AMOS est le premier BASIC véritablement multitâche pour l'Amiga. (Note pour les experts : il multitâche AMAL, mais vous ne pouvez pas exécuter AMOS en même temps qu'un autre programme en mémoire.)

Parce qu'AMAL peut prendre en charge l'animation et le mouvement des objets à l'écran, comme dans un jeu par exemple où les sprites doivent tous bouger en même temps, le reste des commandes AMOS peut être utilisé pour des processus plus lents du programme, comme charger des écrans ou des fichiers, activer ou désactiver les sons, ce genre de choses.

Au cœur d'AMOS

Il y a donc les banques de mémoire, les commandes optimisées et AMAL, mais au centre d'AMOS se trouvent l'éditeur et le mode direct, et ce sont les deux fenêtres où tout se passe.

Lorsque vous lancez le programme pour la première fois, vous accédez à l'écran de l'éditeur. L'écran de démarrage de l'éditeur affiche les lignes de boutons en haut de l'écran. (Les crédits affichés disparaissent lorsque vous appuyez sur le bouton de la souris.) Le programme a désactivé le système de fenêtrage normal de l'Amiga, Intuition, ou du moins la partie Workbench, et donc il n'y a pas de gadgets avant/arrière sur la fenêtre, ni de menus dans la barre de titre. (Il n'y a en fait pas de barre de titre !) Vous avez à la place deux rangées de boutons en haut de l'écran.

Appuyez sur le bouton droit de la souris et les intitulés de ces boutons changent pour ceux d'une autre série. Ce sont les commandes de base de l'éditeur AMOS. Les commandes sont activées par un astucieux système de clics de boutons. Cliquez sur un bouton pour activer la commande. Maintenez le bouton droit enfoncé et cliquez sur un bouton pour activer la commande alternative. Vous pouvez également utiliser la touche Shift de votre clavier pour afficher l'autre menu au lieu du bouton droit.

Mode Direct

En plus de l'éditeur principal, il existe un écran distinct pour le mode direct. Dans un éditeur BASIC normal avec numéros de ligne, toute ligne qui ne commence pas par un numéro est considérée comme ne faisant pas partie du programme, et est donc exécutée immédiatement. On peut faire toutes sortes de choses de cette manière, comme tester des lignes dont on n'est pas sûr qu'elles fonctionneront, ou charger et sauvegarder des programmes.

Dans AMOS, ces commandes en mode direct sont saisies dans une sorte d'interface de ligne de commande modifiée. Vous pouvez lister le contenu des disques, charger des écrans, et même charger et sauvegarder des fichiers .abk dans les banques de mémoire. Les fichiers ABK sont un format spécial de banque de mémoire utilisé par AMOS, et si vous avez un fichier se terminant par .abk, c'est une banque de mémoire AMOS. Pour les charger en mode direct, il suffit de taper :

Load "nomdufichier.abk"

et le fichier sera chargé dans AMOS dans la banque de mémoire appropriée selon son contenu. Il trouve sa propre destination, vous n'avez pas besoin de lui dire où aller !

Une banque de mémoire est l'endroit où AMOS stocke toutes ses informations de sprites, d'écrans et de sons. Vous pouvez même utiliser une banque de mémoire comme espace de travail temporaire pour y stocker des informations jusqu'à ce que vous en ayez besoin.

Il y a 15 banques de mémoire, et elles sont organisées comme indiqué dans le tableau ci-dessous :

Tableau 2.2. Les 15 banques de mémoire d'AMOS
BanqueContenu
1Sprites
2Icônes
3Musique
4AMAL
5 à 15Données personnalisées

Compression graphique

Vous vous demandez peut-être pourquoi de nombreux graphismes vus dans des programmes AMOS ne sont pas accessibles depuis le disque. Parfois, vous exécutez un programme AMOS et voyez un écran graphique que vous ne trouvez pas en tant que fichier sur la disquette. C'est parce que ces graphismes sont compressés ou "packés" dans une banque de mémoire, ce qui prend moins de place et les rend accessibles instantanément.

Pour compresser des écrans, vous utilisez la commande Spack, qui compresse des écrans IFF (ou parties d'écrans) dans une banque. Ensuite, ils peuvent être décompressés avec la commande Unpack. Voici un exemple de programme AMOS qui décompresse une série d'écrans compressés :

Close Editor
Hide On
Music 1
A=4
Repeat
 Unpack A To 0
 If A=4 Then Wait 400
 If A>4 and A<13 Then Wait 250
 If A=13 Then Wait 300
 Fade 3
 Wait 30
 Inc A
 If A=14 Then A=4
Until Mouse Key=1
End

Pour créer cette banque, vous pouvez écrire un petit programme AMOS comme suit :

F$=Fsel$("*","","Charger une image")
Load Iff F$,0
Spack 0 To 1
Print "La taille de votre nouvelle banque est ";Length(1);" octets"
Wait Key
Screen Close 0
Unpack 1 To 0

En mode direct, tapez simplement :

Spack "imagefile.iff" 1

Cela va compresser l'image et la sauvegarder dans la banque 1. Vous pouvez ensuite utiliser cette image en toute simplicité dans votre programme AMOS.

← Retour au sommaire