Suivez-nous sur X

|
|
|
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
|
|
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
|
|
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
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Assembleur 68k - défilement/enroulement autour d'un axe horizontal
(Article écrit par François Fleuret et extrait de Génération 4 - janvier 1989)
|
|
Nous allons voir, aujourd'hui, comment programmer un défilement qui donne l'impression de s'enrouler
autour d'un axe horizontal (comme ceux de la démo de Northstar). Ce programme est entièrement en
assembleur et fait appel aux coprocesseurs de l'Amiga. La compréhension du fonctionnement des
coprocesseurs nécessite une bonne connaissance du matériel de l'Amiga.
L'animation est réalisée
à l'aide Blitter et du Copper ; le Blitter fait un défilement sur deux plans en diagonale, le
plan 1 qui se trouve au-dessus défile diagonalement vers le coin haut gauche de l'écran, le
plan 2, qui est au-dessous défile vers le bas gauche. La ligne 0 (en haut) du plan 1 est
recopiée dans la ligne 0 du plan 2 et la ligne 99 du plan 2 est recopiée dans la ligne 99 du
plan 1. POur donner l'impression de courbure, il faut rajouter une liste Copper particulière
qui "enlève" des lignes en augmentant les pointeurs vidéo. Cette liste Copper est créée à
l'aide d'un petit programme BASIC (voir fin d'article) qui utilise une fonction mathématique
pour calculer les lignes à supprimer.
Ce programme est prévu pour ètre assemblé avec le KSeka mais l'adaptation à un autre assembleur
ne devrait pas poser de problème sauf pour inclure l'image des caractères.
Après l'assemblage, il faut inclure au code objet l'image du jeu de caractères.
Cette image doit avoir un format dé 320x256 points en deux couleurs et ne devant pas être
compactée. Les lettres doivent avoir un format de 32x32 points et être rangées par ordre
alphabétique. Pour inclure l'image, il faut taper en mode direct après l'assemblage :
RI [ret] nom_image [ret] IMAGE_LETTRES [ret] [ret]
|
Le programme BASIC est en deux parties, la première calcule les lignes à supprimer tandis
que la seconde crée la liste Copper dans cpl$.
Voilà, c'est fini pour cette fois, le mois prochain, je vous donnerai la liste de tous les registres du
Blitter et du Copper avec des explications détaillées...
|