Obligement - L'Amiga au maximum

Lundi 26 juin 2017 - 12:35  

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 : 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 stoppe tout. Bon, assez papoté, envoyez les lemmings, pardon, le code.

Assembleur
Assembleur
Assembleur
Assembleur
Assembleur
Assembleur
Assembleur
Assembleur

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.


[Retour en haut] / [Retour aux articles]