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 : Assembleur - un pointeur lemming
(Article écrit par Roméo Rapido et extrait d'Amiga News - juillet 1991)
|
|
Récemment, je suis tombé sur une séquence de démarrage qui transformait la souris en pointeur animé,
plus précisément, en un lemming qui marche, infatigable et imperturbable. Je vous propose donc un petit
"hack" inspiré de cette séquence.
La technique est simple : nous avons déjà détournée l'interruption Copper pour savoir quand le spot
arrivait en bas de l'écran, eh bien il suffit de faire la même chose mais en utilisant l'IT
envoyé par le Copper à chaque exécution de la liste Copper, soit tout les 1/50e de seconde.
On incrémente un compteur et quand celui-ci arrive à une valeur déterminée, on le remet à zéro et
on avance dans la table des sprites.
Il ne reste plus qu'à remplacer l'ancien sprite de la souris par le nouveau. Le code de l'IT
ainsi que les données des sprites doivent être recopiés dans une zone de mémoire allouée pour
qu'il ne soient pas écrasés par un autre programme. Il faut donc prendre particulièrement garde
à ce que le code soit relogeable.
Autre problème, arrêter l'IT et désallouer la mémoire, la solution que j'ai adoptée n'est peut-être
pas la plus élégante, mais elle est simple à mettre en oeuvre et elle fonctionne parfaitement.
Il suffit de regarder s'il n'y a pas les caractères "ABCD" juste avant le code de l'IT, simple mais
efficace. De plus, il faut restaurer l'ancienne souris et ces couleurs. C'est pourquoi on sauvegarde
les préférences (GetPrefs) pour pouvoir les restituer (SetPrefs) en sortie. Un appel au programme
lance le pointeur animé et un deuxième arrête tout. Bon, assez papoté, envoyez les lemmings, pardon, le code.
Et voilà, vous pouvez bien sûr remplacer les sprites, jouer sur la durée des tempos et
l'ordre des images. Si vous êtes très courageux, rien n'empêche de réaliser une animation de longue durée,
voire de déplacer réellement la souris et de faire faire demi-tour au lemming lorsqu'il arrive en
bout d'écran. Remarquez tout de même que ce petit programme comporte un léger défaut :
lorsque le Workbench travaille, il affiche le "ZZ" qui est immédiatement remplacé par un
lemming marcheur, mais il en reste un morceau en bas.
|