Obligement - L'Amiga au maximum

Mardi 23 avril 2024 - 11:13  

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/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]