Obligement - L'Amiga au maximum

Lundi 24 juillet 2017 - 18:41  

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


Contact

David Brunet

Courriel

 


Programmation : Assembleur - programmation du Copper
(Article écrit par Frédéric Delacroix et extrait d'Amiga News - juillet/août 1997)


A la lecture de ce titre, j'entends déjà, dans la salle, les exclamations du public hurlant au tabou de la programmation du matériel. Je rassure tout de suite en disant que cette programmation sera propre et respectueuse du système.

Le Copper

Comme vous le savez sans doute déjà, le Copper est un coprocesseur de l'Amiga qui est toujours synchronisé avec le balayage vidéo. Il est ainsi capable de modifier différents paramètres des circuits spécialisés au cours du balayage d'une image. C'est la base du système des écrans déplaçables de l'Amiga.

Une utilisation populaire du Copper dans les démos est le changement des couleurs pour produire des barres de couleurs horizontales, par exemple. Ceci est le but du programme d'exemple que je vous livre.

Le système

Comme je l'ai dit plus haut, le système se sert abondamment du programme. Il élabore des copperlists (nom des programmes du Copper) pour chaque longue trame, chaque courte trame, chaque série de sprites de chaque écran. Ces listes sont alors fusionnées en un seul programme par une fonction de la graphics.library, la bien-nommée MrgCop().

Quand je dis chaque écran, il faut entendre écran au sens de la graphics.library, qui est de bien plus bas niveau qu'Intuition. Cela correspond alors à ce qu'on appelle les ViewPorts. Ainsi, à chaque ViewPort on associe les trois listes dont j'ai parlé. Il existe cependant un quatrième champ, raison d'être de cet article, destiné à une copperlist "utilisateur". Il nous suffit, pour inclure un morceau de programme dans la copperlist du système, de préparer une structure UCopList (dont le contenu réel importe peu), de l'initialiser avec UCopperListInit(), et de construire le programme avec les fonctions CMove() et CWait().

L'exemple

L'exemple que je vous propose se contente de construire une copperlist qui affiche une barre dégradée sombre au milieu de l'écran. Pour cela, la copperlist modifie le registre $180 des circuits spécialisés : COLOR00. Étant donné que les modes AGA ont apporté des particularités, il est probable que cela ne marche pas sur les écrans ouverts dans un mode AGA. Pour voir le résultat, ouvrez par exemple un bon vieil écran 640x256x2... et observez les effets (curieux) du déplacement d'écrans ! Bien entendu, aucune chance que ce programme marche sur une carte graphique. J'utilise quand même le matériel !

Assembleur
Assembleur


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