Obligement - L'Amiga au maximum

Lundi 26 juin 2017 - 12:34  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

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

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


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


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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Programmation : AmigaBasic - introduction et préparation de l'environnement
(Article écrit par Christian Sager et extrait d'A-News (Amiga News) - novembre 1989)


Je ne vous ferais pas l'affront d'une longue introductibn. J'irais droit au but. Mon but, c'est de vous faire comprendre l'AmigaBasic mais aussi de vous faire aimer écrire des programmes. Surtout, n'ayez aucun complexe à faire "que" de l'AmigaBasic. Affligeant cet air de domination que prennent les programmeurs d'autres langages qui oublient qu'à l'école, avant de faire des intégrations on commence par les robinets qui fuient !

Je vous donne un aperçu des différentes parties que j'essaierai d'aborder et de développer ici. En premier lieu, je parlerai de graphique, d'animation. Le son, la programmation structurée, les interruptions, les sous-programmes et les bibliothèques suivront. A chaque fois, j'essaierai de vous fournir un petit extra pour montrer que le BASIC de l'Amiga est un langage de programmation structuré plus facile à assimiler que bien d'autres. Mais avouons-le, ce n'est pas pour réaliser de super programmes car il reste lent même compilé. Pour des raisons d'objectivité je vais tout d'abord vous parler de :

L'AmigaBasic, un gargantua avec des faiblesses ?

Le jour où vous avez acheté votre Amiga, dans la boîte il y avait une disquette "Extras" qui contient le programme BASIC. Ce BASIC est plus qu'honorable et de plus gratuit. Cet interpréteur BASIC possède certaines commandes très puissantes, adaptées à la machine. Vous avez certainement la disquette "Extras 1.3", mais l'AmigaBasic n'a pas changé.

Développé par Microsoft, les programmes écrits en GW-Basic (le BASIC qui tourne sous MS-DOS pour les compatibles) sont facilement modifiables. Vous pouvez cliquer l'icône du BASIC mais aussi cliquer un programme écrit en BASIC que l'interpréteur chargera et qu'il fera démarrer alors automatiquement.

Après le chargement, deux fenêtres sont ouvertes que l'on active avec la souris évidemment. La plus grande fenêtre, c'est le mode direct, c'est-à-dire que toutes les commandes que vous écrirez ici seront exécutées immédiatement. La fenêtre de droite, c'est celle de votre listing. C'est ici que vous composez (douloureusement ?) votre programme immortel. Ce partage en deux fenêtres est un avantage par rapport aux autres variantes de BASIC. La numérotation des lignes est devenue inutile et pour faire des appels vers des sous-programmes, vous pouvez utiliser de l'alphanumérique voire des marques numériques définies selon votre bon plaisir. Mes fenêtres à moi, elles font tout l'écran ! Les vôtres certainement pas ! N'étant pas égoïste, je condescendrais à vous expliquer comment faire pour que votre AmigaBasic présente les mêmes caractéristiques ad eternurn (hahatchouni !).

Allez ! Je vous le donne tout de suite sinon je vais l'oublier et puis histoire de vous intéresser... Donc vous vous êtes rendu compte que votre fenêtre de l'AmigaBasic a une taille de 200 points verticaux. Même avec la souris, vous ne pouvez pas utiliser la taille maxi du PAL. C'est maintenant que vous devez prendre un éditeur des fichiers de disque, charger le BASIC après avoir vérifié la taille en faisant :

LIST AmigaBasic

Si la taille indiquée fait 103484 ou 103500 alors regardez votre BASIC d'un peu plus près en faisant :

TYPE AmigaBasic opt h

Dès que vous verrez apparaître au bord de votre moniteur l'adresse 5810, appuyez sur la touche "Espace", ce qui a pour effet d'interrompre le défilement. Avec la touche "BackSpace" vous pourrez poursuivre votre scrutation. Dans la ligne à l'adresse 57E0 se trouve les valeurs recherchées qui donnent la taille de votre fenêtre BASIC :

57E0 : 000E4E75 2F0A303C
       0280323C 00C80C43

Les paramètres "0280" et "0008" sont respectivement la largeur et la hauteur de votre fenêtre. Avec un éditeur comme NewZap (ou un autre éditeur de fichier) qui se trouve sur une disquette du domaine public en shareware, plus exactement sur une AmigaLibDisk. Avec le NewZap recherchez la chaîne "000E4E75 2F0A303C 0280323C" à l'aide du menu. C'est donc dans la quatrième colonne en partant de la gauche où se trouve la valeur "00080C43" que l'on va modifier en "01000C43". Pourquoi cette valeur ? Vous le saurez par la suite (NewZap secteur 44 début curseur 1EC).

Et puis, tenez, comme je suis dans un bon jour on va rajouter du même coup la taille de la fenêtre "List". Avec la commande "Type", si vous avez été plus curieux vous auriez pu lire à l'adresse :

5800 : 000C322A 000E245F
       4E75000C 01240088
5810 : 026448E7 C0D02E2A

Voyez comme je suis bien disposé à votre égard (d'aucuns rajouterait à votre endroit...), je vous donne les explications pour les dernières valeurs :

000C 0124 (en haut à gauche)
00B8 0264 (en bas à droite)

Donc pour une fenêtre "List" maxi le point tout en haut à gauche :

0000 0000 (début d'écran)
00F0 0268 (maxi bas d'écran)

Pour NewZap secteur 45 début curseur 008.

Notez que je n'ai pas recouvert la fenêtre "List" avec la fenêtre BASIC. Les gadgets en bas à gauche sont donc utilisables car si vous avez le même problème que moi (512 ko de mémoire), je dois réduire les fenêtres pour avoir plus de place. Mais attention, ce correctif n'est valable que pour la version du BASIC 1.2.

Un conseil important avant de faire une modification quelconque : faîtes toujours une copie et travaillez avec elle ! Pour ceux qui comme moi ont aussi une ancienne version du BASIC (je ne parle pas de l'ABasic au bon temps où l'on parlait de "Lorraine" et non d'Amiga), c'est-à-dire la version 1.0 d'une taille de 93156. Il faut modifier les adresses de début (les valeurs restent les mêmes).

Arggg ! Je viens d'écrire plusieurs octets de texte sans faire de BASIC. Ça va pas ça ! C'est du BASIC que l'on fait ici ! Alors je vais tout recommencer... (la première explication c'était pour les urgences, les pressés). Si cela vous paraît trop ardu, ne craignez rien j'avais rien compris non plus avant. Comme c'est une introduction, pas de panique, je ne fais que de survoler rapidement le BASIC de l'Amiga. Mon principe c'est de vous donner une vue globale pour ensuite en arriver au particulier. J'essaie de vous donner les éléments d'un bon départ et par la suite, je suis certain que vous ferez bien mieux que moi.

Maintenant vérifiez que votre BASIC modifié a encore la même taille que précédemment par :

LIST AmigaBasic

Si vous trouvez autre chose, que 103484 ou 103500, il vous faut vérifier votre programme de correction et recommencer. Tester la nouvelle version par :

Run AmigaBasic

Ça tourne ? Hé hé ! Si tout a bien fonctionné, vous pouvez opérer une dernière manipulation. Renommez votre fichier en "BasicNeuf" et le fichier ".info" aussi :

Rename AmigaBasic.info BasicNeuf.info
Rename AmigaBasic BasicNeuf

Mais attention : si vous changez le nom du programme BASIC, il faudra modifier l'outil par défaut ("Defaut Tool") de tous les programmes BASIC et trouver à la fin du fichier AmigaBasic : "icon:AmigaBasic" pour le changer en "icon:BasicNeuf"... Même le ClipBasic... Je dérive encore !

L'atout, c'est la structure

L'ennui, c'est l'éditeur du BASIC. Depuis que je programme je n'arrête pas de pester contre le défilement du texte, l'utilisation de la souris. Alors un conseil, ne prenez pas l'éditeur du BASIC pour écrire vos programmes. Comment faire ? Je vais vous l'expliquer. L'AmigaBasic permet une sauvegarde de votre programme sous forme ASCII et évidemment son chargement. Vous pouvez écrire en minuscule ou majuscule, le BASIC n'en tient pas compte et vous pourrez faire démarrer votre programme par :

AmigaBasic NomDuProgramme

Il est évident que le BASIC comme le programme doit se trouver dans le même répertoire. Quand le programme est fini vous vous retrouvez sous AmigaBasic. Si vous écrivez "SYSTEM" vous serez à nouveau sous CLI. Alors écrivez ça à la fin de votre programme pour pouvoir continuer, par éditer sous CLI.

Si vous avez assez de mémoire, mettez l'AmigaBasic dans la RAM et vous n'aurez presque plus d'attente entre éditer et tester. Vous me direz, bon d'accord mais si j'ai déjà fait des programmes BASIC avec l'AmigaBasic comment faire ? Rien de plus simple ! Vous faites :

Save "Nom du Programme",A

Cela sauvegarde votre programme en ASCII. Mais, me direz-vous encore, un éditeur de programme... Lequel ? N'importe lequel que je vous rétorque. Tout ce qui permet d'écrire à l'écran et qui vous sauvegarde votre texte sous format ASCII. Mais ne cherchez pas trop loin ! Sur votre disquette du Workbench, dans le répertoire "C" se trouve un éditeur du nom de ED. Utilisez-le si vous n'avez pas autre chose. Il y en a des éditeurs dans le domaine public.

Correctif

Hum, encore un correctif qui me vient à l'esprit... L'ED est aussi au format NTSC... pas le mien évidemment ! Alors je vais encore faire preuve de grandeur d'âme et vous donner la solution rapide pour que l'éditeur ED de votre Workbench se présente sur votre écran dans sa taille maximale.

Prenez un éditeur de fichier de disque, cherchez la série d'octets : 52 41 57 3A 30 2F 36 33 39 2F 31 39 39 ; j'ai un peu compliqué car le résultat en ASCII c'est : RAW:0/0/639/199.

Hé hé, c'est une fenêtre ça ! Vous pouvez donc modifier les valeurs et surtout pour avoir le plein écran modifier la valeur 639 par 640 et 199 par 256 donc le résultat des sept derniers octets c'est : 36 34 30 2F 32 35 36 et toc ! C'est fait. Et si vous utilisez le C-monitor vous écrivez (mais pas ce qui est entre parenthèses) :

L c/ED C20000 (chargement adresse absolue d'ED en $C20000)
e C21AA9 (éditer à partir de C211AA9)

36 <CR> ('$C2IAA9'=6)
34 <CR> ('$C21AA9'=4)
30 <CR> ('$C21AA9'=0)
2F <CR> ('$C21AA9'=/)
32 <CR> ('$C21AA9'=2)
35 <CR> ('$C21AA9'=5)
36 <CR> ('$C21AA9'=6)
<CR>
S c/ED.256 C20000 C24CbC

Stop ! J'ai l'impression qu'à ce rythme-là, plus personne ne pourra suivre correctement cette introduction à l'AmigaBasic. Je n'arrête pas de vous inclure divers petits programmes qui simplifient ou embellissent votre univers de programmeur acharné en utilisant d'autres méthodes que du BASIC. Mais ne craignez rien, mon texte se fera comme mes programmes : en structuré... structuré... Parlons-en ou plutôt nous en reparlerons la prochaine fois.

Listing n°1 : fenêtres

AmigaBasic


[Retour en haut] / [Retour aux articles] [Article suivant]