Obligement - L'Amiga au maximum

Lundi 29 mai 2017 - 05:45  

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 : GFA Basic/AMOS - créer un plasma
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - janvier 1992)


Ce mois-ci, nous allons coder un plasma comme je les faisais déjà sur ordinateur DAI en 1984 en langage machine. Devrons-nous alors intégrer de l'assembleur dans le codage AMOS ou GFA ? Absolument pas car les exécutables produits par ces compilateurs sont vraiment très rapides.

Le plasma

Le codage commence par réserver un peu de place pour stocker les 16 couleurs plus une de la palette. Il ouvre alors un écran puis une fenêtre et pose un nouveau lutin de souris tandis que la procédure "Biffure" prépare l'image du plasma.

J'ai cependant du remplacer le "PELLIPSE" GFA inexistant en AMOS par un rectangle. C'est un peu complexe aussi, si vous souhaitez mieux comprendre les instructions utilisées, je vous demande de mettre "DISPLAY_OFF" en remarque en faisant précéder "PROC" (AMOS) ou "DISPLAY" (GFA) par un "'" (apostrophe). La procédure "Efflorescence" calcule alors la palette de couleurs en créant un dégradé progressif. Et on arrive à la fin : j'ai recodé le Shift AMOS inexistant en GFA pour arriver sur "Facile". Nous avons notre plasma. Spectaculaire n'est-il pas ?

En fait, c'est un faux plasma qui consiste à prendre la première couleur de cyclage (n°2), la mettre en dernière position plus 1 (n°17), supprimer alors la première couleur (n°2) et recalculer la palette. Avant le cyclage nous avions les couleurs (0, 1, 2, 3, 4... 15, x), puis nous aurons (0, 1, 2, 3, 4... 15, 2) puis (0, 1, 3, 4... 15, 2, x) et ainsi de suite.

Bien sûr, il y a encore et toujours les trois erreurs. Une de syntaxe, une de logique et une due à la limitation des logiciels.

Pour en savoir plus

Ce ne sont évidemment pas de vrais plasmas. Comment programmer une palette de couleur ? Chaque structure d'écran possède sa propre palette de couleur. Ainsi, on peut afficher plusieurs images en même temps avec Deluxe Paint et passer très rapidement d'un écran à un autre. AMOS et GFA procèdent aussi de la même façon. Un écran possède une ou plusieurs fenêtres que reconnaît l'Amiga grâce à un système ressemblant à celui des boîtes à lettres. La première boîte à lettres recevra tout ce qui est destiné au concierge. La deuxième recevra ce qui est destiné au locataire du premier et ainsi de suite. Il y a également une boîte à lettre destinée à recevoir toutes les publicités. Chaque boîte à lettre contient donc plusieurs messages que devra aller chercher la personne concernée. Évidemment, le contenu de chaque boîte n'est pas illimité et devra être vidé régulièrement. On peut généraliser en disant que chaque entrée de résidence ne reçoit que le lot des lettres qui lui sont destinées. Et on peut remonter très loin dans ce système très structuré avec les quartiers, villes, pays...

C'est la logique de l'Amiga. La structure d'écran fait partie d'une autre structure : les ViewPorts. Chaque ViewPort comprend lui-même des pointeurs (le nom de la boîte aux lettres) sur plusieurs structures (les familles comprenant plusieurs résidents repérés par un même nom de famille). Ces pointeurs sont notamment la liste des structures de fenêtres et la structure de la palette de couleurs de l'écran.

Quand nous sommes sur une fenêtre, nous recherchons donc l'adresse de base du ViewPort de façon à retrouver l'adresse de la carte des couleurs ColorMap. Cette ColorMap correspond à la famille dans laquelle nous devrons trouver le bon résident. Ici cela sera adresse de la table des couleurs ColorTab. ColorTab est notre palette. Chaque couleur y est alors écrite en format RougeVertBleu comme sous Deluxe Paint.

Ouf. En résumé, en GFA nous écrirons :

viewport%=ViewPortAdress(WINDOW(1))
wcolormap%=LONG{viewport%+4}
wcolortab%=LONG{wcolormap%+4}
couleur%=CARD{wcolortab%+(...*2)}

Remplacer "+" et "*" par "ADD" et "MUL" et la boucle est bouclée.

Listings

Pseudo-plasma en AMOS

GFA Basic
GFA Basic

Pseudo-plasma en GFA Basic

GFA Basic
GFA Basic


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