I. Le principe du plasma

Ces plasmas ne sont rien de plus que des écrans de couleurs "glissant" les uns sur les autres. Chaque écran est constitué de couleurs dont la valeur est une fraction de la gamme. Les écrans peuvent être faits de lignes verticales plus ou moins grosses, lignes horizontales, de cercles, etc... Pour une démo sur Thomson, le nombre d'écrans a été limité à trois, autant pour une question de registres que pour une question de fractionnement de la palette. On obtient alors trois écrans constitués de couleurs allant de 0 à 5.

Les écrans glissent les uns sur les autres selon une table de sinus, indépendament les uns des autres. Les couleurs "face à face" seront ajoutées et donnent après addition un point de couleur allant de 0 à 15.

II. Les problèmes d'un plasma sur TO

1. La résolution

Le bitmap 16 aurait pu être choisi, mais n'aurait pas pu permettre de faire du plein écran, à cause de la résolution trop fine et, par voie de conséquence, de la vitesse d'affichage. Le bitmap 40 est préférable, avec des points de 4x4 pixels. En remplissant l'écran de forme avec des $F0, il n'y a plus qu'à travailler sur l'écran de fond, qui contrôle les couleurs.

2. L'esthétique

On aurait pu se contenter d'ajouter des valeurs entières de couleurs, mais le résultat aurait été trop "haché". La manipulation de fractions de couleurs dans un format permettant les décimales était nécessaire. C'est là que le format des écrans en 40 colonnes du TO ne se révèle pas moins confortable que celui des MO. En effet, une décimale de trois bits est suffisante pour assurer une excellente fluidité des dégradés, et permet du coup le positionnement "prêt-à-l'emploi" de la couleur de forme.

3. La rapidité

Etant préférable de jongler avec des registres 16 bits plutôt qu'avec des registres 8 bits pour une question évidente de rapidité, la couleur de forme (première partie du point) et la couleur de fond (deuxième partie du point) sont traitées d'un seul coup avec le registre D. X, U et S sont les pointeurs des trois images différentes. DP est utilisé pour pointer sur l'écran d'affichage. Après addition, la couleur de forme étant déjà correctement positionnée, un simple ANDA #$78 permet d'obtenir la couleur du premier point. Le registre U (puisqu'il ne reste que lui) pointe sur le début de la table des couleurs de fond : un "ORA B,U" complète le segment à afficher pour la mémoire de fond avec la couleur du deuxième point.


       LDD     $xx,S         Couleurs graph 1
       ADDD    $xx,Y         Couleurs graph 2
       ADDD    $xx,X         Couleurs graph 3
       ANDA    #$78          Ajuste couleur forme
       ORA     B,U           Ajoute couleur fond
       STA     <$xx          Ecrit sur écran

... ce qui nous amène à 31 cycles par octet affiché. Assez rapide pour remplir l'écran en moins de 4 vbls.

Voici les différentes images utilisées pour le plasma :







© PULS 2004-2019