Obligement - L'Amiga au maximum

Samedi 24 mai 2025 - 13:03  

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 : Assembleur 68k - Dual Playfield
(Article écrit par François Fleuret et extrait de Génération 4 - avril 1989)


Continuons aujourd'hui notre découverte du matériel de l'Amiga avec un mode graphique très particulier, le "Dual Playfield", alias "double plan", qui permet de réaliser des défilements superposés à peu de frais.

Le mode Dual Playfield que l'on sélectionne avec le bit numéro 10 de BPLCON0 ($dff100), permet de travailler sur deux plans totalement indépendants et comportant chacun jusqu'à trois plans de bits et donc huit couleurs. Dans ce mode, un des plans utilise les plans impairs et les couleurs 0 à 7 (c'est le plan 1) et l'autre les plans pairs et les couleurs 8 à 15 (le plan 2). La première couleur de chaque plan (la 0 pour le plan 1 et la 8 pour l'autre) est dite "transparente" et permet de voir le plan placé au-dessous. On sélectionne la priorité des plans (lequel se trouve devant l'autre) avec le bit numéro 6 de BPLCON2 ($dff102) ; si ce bit est à 0, le plan 1 a priorité, sinon, c'est le plan 2.

Le nombre de plans de bits par plan dépend du nombre total de plans de bits indiqué dans BPLCON0, il y en aura toujours le même nombre dans les deux sauf si le nombre total est impair, dans ce cas, le plan 1 en aura un de plus que le 2.

Dans le programme qui suit, nous allons faire rebondir verticalement une image en huit couleurs tout en la déplaçant horizontalement de gauche à droite devant (ou derrière) une autre, également en huit couleurs, sans utiliser le Blitter, outil lourd et lent réservé aux travaux beaucoup plus complexes. De plus, notre image qui bouge passera devant l'autre image lors de la descente et derrière lors de la montée. Pour faire cela, il faut placer la première image dans un des plans et l'autre dans le second. On considère que l'image qui doit se déplacer se trouve placée dans la partie du haut des plans de bits du plan 1, pour l'afficher à l'ordonnée voulue, on place les pointeurs vidéo au début de la VBL sur le bas des plans de bits (après la zone où se trouve l'image) afin qu'ils affichent une image vide, puis on attend la position du faisceau correspondant à la position où l'on veut afficher notre image. C'est à ce moment-là que l'on place dans les pointeurs vidéo la véritable adresse du début des plans de bits.

Pour afficher l'image à l'abscisse choisie, il suffit de modifier l'adresse de départ des pointeurs en haut du plan de bits ainsi que le décalage horizontal dans BPLCON1; afin que ces variations dans le décalage n'apparaissent pas à l'écran sur le bord gauche, on fait une fenêtre plus étroite de 16 points tout en gardant les mêmes valeurs pour DDFSTRT et DDFSTOP. On doit placer une image vide avant et après la partie qui bouge afin qu'il n'y ait pas de superposition des plans quand la priorité change au moment du rebond (ce serait très laid).

Toutes ces manipulations sont réalisées avec le Copper qui, contrairement au Blitter, ne travaille pas sur les mêmes cycles que le 68000 et ne lui en prend donc aucun. Comme très peu de cycles sont utilisés, rien ne vous empêche de réaliser en plus un défilement de texte avec le Blitter dans le plan fixe ou même dans celui qui bouge.

Les images utilisées dans ce programme sont au format 320x256 et huit couleursmasi pas en IFF, il faut les convertir à l'aide d'un petit programme en BASIC donné ci-dessous qui reconstitue les plans de bits et la palette afin qu'ils soient plus facilement utilisables. Le programme en assembleur est toujours au format du KSeka mais comme d'habitude il n'a rien de particulier dans sa syntaxe et vous pourrez sans mal l'adapter à un autre assembleur. Seule l'insertion des images peut vous poser un petit problème.

Assembleur 68k
Assembleur 68k
Assembleur 68k
Assembleur 68k
Assembleur 68k

A présent, voici le petit programme en BASIC qui permet de convertir une image IFF 320x256 huit couleurs en un fichier qui a un format bien plus simple, les 16 premiers octets contiennent la palette de couleurs (un mot par couleur) puis viennent les trois plans de 10 240 octets. Mon programme de conversion n'est pas un exemple de bonne programmation, mais le peu de mémoire disponible avec le BASIC force à faire du bricolage.

BASIC

Et voilà, le Dual Playfield est vaincu, vous pouvez maintenant réaliser vous-même des défilements différentiels époustouflants qui ne manqueront pas d'étonner vos ami(e)s.


[Retour en haut] / [Retour aux articles]