Obligement - L'Amiga au maximum

Samedi 31 mai 2025 - 16:41  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Programmation : GFA Basic - chargement d'une animation
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - novembre 1991)


Le codage de ce mois propose le défilement ("scrolling" en anglais) de trois textes ayant chacun une vitesse différente. En réalité, ce n'est pas un vrai défilement mais plutôt l'utilisation judicieuse des commandes TEXT et GET/PUT. Pour éviter les surprises, j'ai dû insérer un délais de 1/50e seconde. Cette pause devient obligatoire lorsque vous travaillez sous compilation ou avec une carte accélératrice.

Simultanément, je provoque une interruption tous les 2/10e seconde afin de changer périodiquement l'image de la girafe. Cette girafe a été dessinée sous Deluxe Paint par Cathy. Comme l'animation comprend ici trois images, elle a d'abord dessiné trois rectangles identiques. En examinant le codage, vous verrez qu'il faut prendre garde à laisser une bordure vide de 5 points sur tous les côtés. Elle a ensuite dessiné les trois aspects de la girafe en faisant attention à garder certaines parties communes grâce à l'option "Brosse" de Deluxe Paint.

GFA Basic

Il ne lui restait plus qu'à utiliser le programme Démo/IFF TO BOB pour charger l'image de base. Je lui ai demandé de sauver ses trois girafes sous la forme de chaîne GET/PUT et avec les noms GIRAFFE0.LPP, GIRAFFE1.LPP et GIRAFFE2.LPP.

Au fait, cela devient une habitude, il y a encore et toujours trois erreurs qui résistent encore et toujours à l'envahisseur. La première erreur est une faute de syntaxe que vous signalera aussitôt l'éditeur. La deuxième est une absurdité logique tant que n'aura pas été découvert le voyage intertemporel. La troisième est la mauvaise compréhension du système des interruptions sous compilation. Ceux qui ne possèdent que le tiers de l'outil de développement (le GFA Basic 3.042 seul, sans GFA Compiler 3.52F et sans un assembleur tel que Devpac 2.34+ ou ASMOne) ne s'apercevront pas de ce troisième bogue.

Tout langage évolué (GFA, C, BCPL, AMAL...) sait gérer les interruptions. La gestion de celles-ci est cependant mieux réalisée quand on s'amuse directement sur un codage écrit en assembleur.

Une interruption est une situation de crise de l'Amiga. Amiga et toutes les machines à base de microprocesseurs 680x0 tournent sans arrêt en rond jusqu'à la perception d'un événement insolite : le son, le début d'une nouvelle ligne écran, etc. La page 417 de la nouvelle Bible de l'Amiga est très explicite. Quand survient ce changement dans le ron-ron des calculs, le microprocesseur examine quelle est le type de la perturbation. Il se dirige alors sur une table où sont répertoriées toutes les adresses de chacune des routines d'interruption. Certaines interruptions reviennent tout le temps comme par exemple le changement de ligne lors du dessin de l'écran sur le moniteur. Mieux, l'électronique les provoque à une fréquence constante.

Quand vous voulez réaliser une animation fluide (ici la girafe), il suffit donc de modifier périodiquement l'adresse d'une telle routine. Vous lui faites faire un détour par une procédure de votre cru qui consiste en l'affichage de votre nouveau dessin. En GFA, il suffit d'écrire :

AFTERtick%GOSUBanimation

Ou bien :

EVERYtick%GOSUBanimation

Le farfadet long "tick%" est un multiple de l'intervalle de temps 50 hertz soit 0,02 seconde. Je préfère "AFTER" qui permet une plus grande souplesse mais qui oblige à rajouter de nouveau "AFTER" dans la routine d'interruption (ici la procédure animation).

GFA Basic
GFA Basic
GFA Basic


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivante]