Le mode graphique n°2 du PHC-25 fournit 8 couleurs, en plus du fond noir. Mais la couleur de chaque emplacement à l’écran est encodé sur 2 bits, ce qui fait seulement 4 valeurs différentes. Alors, comment c’est possible ?

Sur le screenshot suivant on voit l’usage de 5 couleurs. Quatre pour les batiments de la ville et une cinquième pour l’avion.

Pour chaque colonne c de la ville (ligne 2090) on tire au sort une forme et une couleur.

    2060 sh(0)=53:sh(1)=58:rem 2 shapes
    2070 co(0)=0:co(1)=64:co(2)=128:co(3)=192:rem 4 colors
    2090 c=co(int(rnd(1)*4))+sh(int(rnd(1)*2))

La forme 53 correspond à :

11
01
01

Et la forme 58 correspond à :

11
10
10

Les couleurs étant codées sur les deux bits de poids fort d’un octet, on a ceci :

décimal binaire couleur
0 00000000 vert
64 01000000 jaune
128 10000000 bleu foncé
192 11000000 rouge

Voir l’article précédent pour l’explication de l’encodage des formes et des couleurs.

Sur l’image ci-dessus on voit que la ville est blanche, bleu ciel, rose, et orange. Pour obtenir ces quatre autres couleurs, il faut positionner à 1 le bit d’attribut de palette. Les attributs se trouve à partir de l’adresse mémoire 26624 et on a un octet par coordonnée d’écran. Donc les attributs du bloc (0,0) se trouvent en 26624, ceux du bloc (1,0) se trouvent en 26625, etc.

Dans un octet d’attribut le bit 1 s’occupe du mode graphique (0 pour texte et 1 pour semi-graphique) et le bit 2 represente la palette de couleur (0 pour vert-rouge et 1 pour blanc-orange). Comme nous sommes en mode n°2/semi-graphique (bit 1 activé) il n’y a que deux possibilités pour un attribut :

00000010 = première palette de couleur

00000110 = seconde palette de couleur

    2110 mem=24576+x+y*32:attr=26624+x+y*32
    2120 poke mem,c:poke attr,6

Référence(s)

Code source de Blitz en mode graphique 2


/ / / / / / / / / /


Cet article fait partie d’une série :

  1. 15 jours pour comprendre le PHC-25
  2. Utiliser l’émulateur pour PHC-25
  3. Quelques réflexions sur le BASIC du PHC-25
  4. Portage du jeu Blitz sur le PHC-25
  5. Le mode graphique 2 du PHC-25
  6. Palettes de couleur du PHC-25 en mode graphique 2
  7. L’assembleur sur le PHC-25