|
Les palettes servent à définir quelles seront les couleurs affichables
dans un tile. Elle sont constituées de 16 entrées, la première
(zéro) étant la transparence.
Une palette est attribuée à un ou plusieurs tiles, ils ne peuvent
donc contenir que les 15 couleurs de celle-ci.
|
Les palettes ne sont pas stockées en VRAM, mais
dans une RAM séparé accessible directement depuis le 68K.
Elle débute à $400000 et s'adresse par octets.
Il y a 256 palettes de 16 entrées (15 couleurs).
Chaque couleur est définie sur 16bits, avec 5 bits pour chaque
couleur primaire et un bit commun à toutes (LSB inversé).
15
| 14
| 13
| 12
| 11
| 10
| 9
| 8
| 7
| 6
| 5
| 4
| 3
| 2
| 1
| 0
|
F |
r |
v |
b |
RRRR |
VVVV
|
BBBB
|
|
Ce format simplifie beaucoup l'écriture en hexadécimal.
Le premier nibble (Frvb)
peut être constitué de tête et importe peu sur la couleur,
les trois suivants sont les composantes rouge, verte, et bleue.
Le bit 15 sert à rendre la couleur légèrement plus foncée.
Exemples de couleurs primaires et secondaires:
Rouge pur
#$4F00
|
Vert pur
#$20F0
|
Bleu pur
#$100F
|
Jaune pur
#$6FF0
|
Cyan pur
#$30FF
|
Magenta pur
#$5F0F
|
Noir pur
#$8000
|
Blanc pur
#$7FFF
|
Pour obtenir l'adresse de la première couleur d'une palette n, on peut
simplement utiliser ($400000+(n*32)).
Contraintes sur les couleurs |
 |
Les tiles du fix ne peuvent utiliser que les palettes
0 à 15, soit les 256 premières couleurs.
Les sprites peuvent utiliser toutes les palettes (0 à 255), soit
toutes les 4096 couleurs.
La toute première couleur, la couleur 0 de la
palette 0 ($400000) sert de réference pour la sortie vidéo.
Les écrans n'apprécient pas si elle est différente
de $0000 ou $8000 (les émulateurs s'en foutent).
Ce genre d'image (photo à gauche) est typique d'une réference
pas noire.
Pour fixer la couleur du fond, il faut utiliser la couleur
15 de la palette 255 ($401FFE), la toute dernière, qui est la couleur
du backdrop.
C'est celle qui sera affichée si il n'y a rien à dessiner
à un endroit de l'écran.
|
|