Obligement - L'Amiga au maximum

Lundi 22 mai 2017 - 17:27  

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 : Assembleur - défilement en utilisant le Copper
(Article écrit par Little Zeus et extrait d'A-News (Amiga News) - octobre 1988)


Comme promis le mois dernier, je vous donne de plus amples explications et des variantes pour la routine publiée qui, rappelions-le-nous, permettait un défilement vertical de bas en haut au moyen du Copper.

Attardons-nous, pour commencer, sur l'adresse "ccolor" qui, à ce que j'ai entendu dire, posait quelques problèmes de compréhension pour certains. Entendons-nous bien : "ccolor" est l'adresse suivant directement la valeur de la dernière couleur. Elle est donc, lorsqu'elle est prise en mode immédiat, un moyen de déterminer la fin de la "couleurlist".

Par contre, le contenu de "ccolor", lui, sert de pointeur de couleur à chaque fois que la routine est appelée par le programme principal. Il apparaît donc évident qu'au départ, "ccolor" soit "pointé" au début de la "couleurlist". Voyons une partie de la routine qui n'a pas été expliquée.

;on affiche les couleurs à l'écran
loop:
move.w (a0)+, (a1); valeur de la couleur dans son emplacement dans la copperlist
add.l #8, a1; on ajoute 8 car les couleurs sont tous les 8*4 octets dans la copperlist
cmp.l #ccolor, a0; avons-nous dépassé la dernière couleur
bne suite; non alors on va en suite
move.l #couleurlist, a0; oui, alors on repointe sur la première couleur
suite:
dbra d1,loop; terminer les 200 lignes
add.l #2, ccolor; la première ligne de l'écran aura la couleur de la deuxième ligne de l'écran précédent afin de créer l'effet de défilement
rts

Passons enfin aux différentes variantes possibles de la routine. Imaginons une seconde que nous venons de travailler dur pendant des jours et des jours sur notre tablette graphique et qu'enfin notre logo soit terminé. Au moyen de la routine figurant dans cet article, nous l'affichons à l'écran sur un fond spatial.

Mais il manque tout de même quelque chose, c'est une animation. Et si nous utilisions la routine du mois dernier, moyennant quelques modifications, pour faire défiler un bel arc-en-ciel dans notre logo ? Nous nous retrouverions alors avec notre logo flashant au devant du vide interstellaire. Cet effet paradisiaque est possible, à condition de suivre fidèlement les directions qui vont suivre.

La couleur de l'intérieur du logo doit utiliser un registre couleur autre que le $180 ou le $182. Ensuite, en admettant que nous utilisions le registre couleur $190 pour remplir l'intérieur de notre beau dessin et qu'à l'écran il occupe, sur l'axe des ordonnées, les lignes de 100 à 200, nous aurions alors à effectuer les changements suivants.

Dans la partie "cont", nous substituons $180 par $190, et dans la partie "changecolor" le nombre de lignes qui était originairement à 199, est remplacé par 99. Enfin, dans "liste", au lieu se "MOVE.w #$2B09,d0" on met "MOVE.W #8F09,d0" et on substitue le 199 de "MOVE.L #199,d3" par 99.

Nous avons donc examiné une possibilité, mais il y en a bien d'autres. Pour le reste, il n'en tient qu'à vous.

Sur ce, je vous donne rendez-vous au mois prochain, avec un article sur les défilements au moyen de la graphics.library, ce qui nous permettra dans un numéro ultérieur de créer des défilements de caractères graphiques.


[Retour en haut] / [Retour aux articles]