Obligement - L'Amiga au maximum

Mardi 23 avril 2024 - 13:00  

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 - Infinite infinie
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News Tech - avril 1992)


Aujourd'hui, nous allons revisiter les célèbres BOB illimités. Oui mais voilà, nous sommes en GFA, l'un des langages es plus rapides du moment.

Ce type de codage, qui fait baver d'envie tous les ataristes, ne nécessite que deux algorithmes : je n'utilise que des entiers courts et je fais appel au multi tampon mémoire. La puissance du GFA et de l'Amiga feront le reste. Tout d'abord, il faut savoir qu'aucun langage ne sait calculer très rapidement les nombres pseudo-réels. La routine "met.inline" servira donc à créer les fichiers des résultats précalculés X.INL et Y.INL que nous mettrons ensuite en INLINE posx et INLINE posy avant d'éliminer ladite routine. Notez ici l'emploi des fonctions COSQ et SINQ, 16 fois plus rapides que les fonctions COS et SIN : elles se contentent en effet de piocher dans une table, sans avoir à calculer comme le font COS et SIN.

Le multi tampon mémoire

Cet artifice permet de créer l'illusion du mouvement. Chaque objet passe par les mêmes positions que son prédécesseur. Il se passe également plusieurs étapes avant toute nouvelle création qui allongera la file.

Bien. Comment faire ? Avec un seul objet, il suffirait de créer des écrans portant diverses positions de cet objet, pour donner une impression de déplacement périodique, grâce à un affichage cyclique des écrans. Ici, on ajoute simplement un objet supplémentaire sur une nouvelle position quand le cycle est terminé. On obtient alors un déplacement, mais celui-ci reste saccadé. On généralise à chaque étape du cycle et cela crée le mouvement, tout en ne gérant en fait qu'un seul objet à la fois.

Mode haute résolution 32 couleurs

Continuons l'illusion. L'Amiga ne sait pas afficher des écrans de 640 de large et 32 couleurs. Qu'à cela ne tienne, il faudra utiliser la ruse révélée sur les disquettes AMOS et consistant à redessiner des polices de caractères.

La compilation

Il reste un problème. Ôtez les commentaires de la procédure son et, sur un A3000 ou en mode compilé, le code révélera alors le bogue classique du manque de synchronisation : le compilateur GFA donnera un programme beaucoup trop rapide par rapport au programme source interprété. Le désassemblage de l'exécutable sous Devpac montrera qu'on ne peut pas optimiser en rapidité, et c'est là le problème, car le mode interprété est loin d'être aussi rapide que le mode compilé. Le code mis ici en remarque donnerait sur le son des effets plutôt curieux si on ne prend pas garde de rajouter une temporisation avec la fonction DELAY.

Bien. À propos de compilateur, je rappelle que les ADD, SUB et autres MUL qui alourdissent la clarté en interprété ne sont plus utiles mais que par contre, il est bien sûr nécessaire d'utiliser les bons formats de paramètres pour les fonctions GFA destinées à la compilation : ce sont en général des sprites de type LONG%, notés "ivar" dans le manuel. Compilez avec les options Interruption, Mémoire 120000 et Table des symboles (*& %3 S& I+ F<m120000 et -s). Pour améliorer le score de 25 objets par seconde, faites jouer le son moins souvent et utilisez le eider de façon à ne travailler que sur deux plans de bits.

A bientôt et bon amusement.

GFA Basic
GFA Basic
GFA Basic
GFA Basic


[Retour en haut] / [Retour aux articles]