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 : AMOS - Le créateur de listes Copper
(Article écrit par François Lionet et extrait d'Amiga News Tech - août 1992)
|
|
Ouf, enfin les vacances ! Avant de nous quitter, je vous propose un petit programme qui vous évitera de vous
casser la tête en calculs de listes Copper.
Car c'est un vrai casse-tête que d'afficher une image dans un programme en langage machine : il faut calculer la
liste du Copper, c'est-à-dire se farcir les DDFSTRT, DDFSTOP, DIWSTRT et autres DIWSTOP, sans oublier les BPLCON
de rigueur et l'indispensable DMACON !
Pourquoi donc s'embêter, dès lors que quelqu'un s'est déjà cassé la tête
pour vous ? Votre serviteur a en effet passé de longues et pénibles heures à calculer ses
propres listes pour parvenir à afficher les écrans AMOS. Ces listes sont toutes prêtes à
être récupérées par un simple programme (CopListMaker),
pour être converties en source assembleur à intégrer dans vos oeuvres...
Le programme d'aujourd'hui ressemble très fort à celui du
mois dernier : j'ai sans vergogne récupéré les
boutons et boîtes de dialogue et vous ferai donc grâce de leurs procédures. Vous pourrez au
besoin les télécharger (ainsi que plein d'autres choses) sur le 3615 ANT.
Pour utiliser le programme, définissez tout d'abord les caractéristiques de l'écran : largeur,
hauteur, nombre de couleurs. Créez-le ensuite (SCREEN OPEN), puis positionnez-le sur le
moniteur (SCREEN DISPLAY). Vous pouvez maintenant sauver la liste Copper sous forme de
listing assembleur constitué de directives DC.W.
En assembleur, pour ouvrir un écran ainsi défini, réservez la mémoire Chip nécessaire aux
plans de bits et stockez leur adresse dans un petit tableau, l'une après l'autre. Récupérez
l'adresse de la palette et appelez le programme numéro 2, qui se chargera de poker les
adresses dans la liste.
Attention, n'oubliez pas de charger la liste en mémoire Chip !
Quelques procédures
Outre les procédures du mois dernier, qui marchent toujours très bien, vous pourrez récupérer
dans d'autres programmes les procédures :
- _NOMBRE : demande un nombre dans une boîte de dialogue.
- _DIALOG : une version améliorée de la boîte de dialogue du mois dernier,
avec autocentrage de la boîte et du texte.
- _LEDIT : un très pratique éditeur-ligne, vous permettant d'entrer un
texte aussi long que possible dans une largeur restreinte... Pour l'appeler, utilisez :
Procedure _LEDIT[ED$,XC,XX,YY,SX,MN]
|
Avec :
- ED$ : la chaîne d'entrée.
- XC : la position du curseur au début.
- XX : la position en X du texte dans la fenêtre courante.
- YY : la position en Y.
- SX : la taille de la zone d'édition.
- NT : la position minimum du curseur dans le texte.
Listing 1 : Createur_Copper.AMOS
Listing 2 : CopPoke.s
|