Site logo

Triceraprog
La programmation depuis le Crétacé

La palette de couleur de l'Agon Light ()

Ces derniers temps, je m'amuse avec un AgonLight (ou plus exactement un AgonLight2, qui est la version Olimex).

Cette machine est assez récente et possède une petite communauté. Sa documentation est par contre très éparse pour le moment. Du plus, la partie graphique de la machine se reposant sur FabGL, une partie des informations intéressantes sont en fait à déduire de cette bibliothèque. Mais d'autres se déduisent de l'implémentation pour la machine du BBC Basic.

Je vais me servir de ce blog pour prendre quelques notes. Cette semaine, j'ai tourné en rond autour de la gestion de la palette et des modes graphiques disponibles.

Modes graphiques

Les modes graphiques, à cette date (MOS 1.03), sont :

Mode Résolution (Pixels) Fréquence (Hz) Nb. de couleurs Palette?
0 1024x768 60 2 Oui
1 512x384 60 16 Oui
2 320x200 75 64 Non
3 640x480 60 16 Oui

Palette de couleurs

Dans les modes en palette, les couleurs se choisissent parmi l'espace de couleur complet RGB222. Les 4 niveaux pour chaque composante sont 0x00, 0x55, 0xAA et 0xFF. Ce qui donne :

Palette RGB222 de l'AgonLight

Attention, la palette est réinitialisée lors d'un changement de mode

R,G,B ?

Une chose étonnante, c'est qu'il est possible de spécifier les palettes, et il est obligatoire de spécifier les pixels des surfaces, en RGB888, alors que l'espace de couleur est RGB222. Le VDP (ou plutôt FabGL), va chercher à trouver les couleurs en fonction. Ce n'est pas hyper pratique au premier abord, et c'est un bon gâchis d'espace.

Mieux vaut ne spécifier que des couleurs faisant partie de la palette.