Suivez-nous sur X

|
|
|
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
|
|
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
|
|
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
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
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 :
Si la taille indiquée fait 103484 ou 103500 alors regardez votre BASIC d'un peu plus près en faisant :
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 partagiciel,
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 :
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 :
Ç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
|