Cette partie décrit les options offertes par le pilote de mémoire vidéo sur les machines Atari m68k.
Couleurs 320x200 320x480 640x200 640x400 640x480 896x608 1280x960 ---------+--------------------------------------------------------------- 1 bit | sthigh vga2 falh2 tthigh 2 bits | stmid vga4 4 bits | stlow ttmid/vga16 falh16 8 bits | ttlow vga256
ttlow, ttmid et tthigh
sont seulement employés sur les modèles TT tandis
que vga2, vga4, vga15, vga256, falh3 et falh16
ne servent que sur le
Falcon.
Lorsqu'une option video=xxx
est donnée au noyau, en l'absence toute
sous-option, le noyau teste les modes vidéo dans l'ordre suivant jusqu'à ce
qu'il en trouve un d'adapté au matériel:
ttmid
tthigh
vga16
sthigh
stmid
video=vga16
procure un écran en 640 par 480 avec une
profondeur de 4 bits.Options supplémentaires disponibles avec le paramètre video=xxx
:
inverse
- inversion des couleur de fond et de premier plan.
Normalement le fond est noir; cette option le rend blanc.font
- fonte à employer en mode texte. Les fontes suivantes sont
actuellement disponibles : VGA8x8
, VGA8x16
, PEARL8x8
.
La fonte VGA8x8
est utilisée par défaut si la dimension
verticale de l'écran est inférieure à 400 pixels sans quoi la fonte
VGA8x16
est employée.internal
- très intéressant. Se reporter à la section suivante. external
- idem.monitorcap
- description des modes multisync disponibles.
PROSCRIT pour les moniteurs à fréquence fixe.Syntaxe : internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]
L'option indique les fonctionnalités ajoutés par certains périphériques
vidéo tels les modes d'OverScan. (xres)
et (yres)
fournissent
les dimensions étendues de l'écran.
Si vos modes d'OverScan nécessitent une bordure noire, vous devrez
expliciter les trois derniers arguments de la sous-option internal:
.
(xres_max)
correspond à la plus grande dimension de ligne acceptée par
le matériel tandis que (yres_max)
donne le nombre maximal de lignes et
(offset)
le décalage en octets entre la partie visible de la mémoire
vidéo et son emplacement physique.
Les matériel vidéo étendu requiert souvent une activation qui fait appel aux
options "switches=*"
. [L'auteur apprécierait de recevoir des informations
supplémentaires à ce sujet. La documentation m68k du noyau manque de clarté
sur ce sujet et l'auteur ne possède pas d'Atari! Des exemples seront également
les bienvenus.]
Syntaxe :
external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]
On rentre dans le compliqué. Le présent document essaye d'être aussi clair que possible mais l'auteur n'a rien contre une relecture afin d'être sûr qu'il n'a rien loos^H^Hupé.
Cette sous-option indique que vous disposez de périphériques vidéo externes (vraisemblablement une carte vidéo) et indique comment Linux doit l'employer. Normalement, le noyau se limite à ce qu'il peut apprendre des périphériques vidéo internes. Vous devez donc lui fournir tous les paramètres nécessaires afin qu'il soit en mesure de gérer des périphériques externes. Il y a deux limitations : vous basculerez dans le mode adéquat avant l'initialisation et une fois celle-ci effectuée, vous ne pourrez pas changer de mode.
Les trois premiers paramètres sont évidents. Ils correspondent aux dimensions de la zone d'affichage : hauteur et largeur en pixel suivies de la profondeur. Le paramètre de profondeur servant d'exposant au nombre 2 donne le nombre de couleurs. Par exemple, pour un affichage en 256 couleurs, vous préciserez un paramètre de 8. Le paramètre dépend de l'adaptateur graphique externe bien que vous soyez de toute façon limité par le matériel.
Vous devez ensuite décrire au noyau l'organisation de la mémoire vidéo via
le paramètre (org)
.
n
- plans disposés normalement, les uns à la suite des autres.i
- plans entrelacés, c'est à dire 16 bits du premier plan, puis
du suivant etc. Seuls les modes vidéo natifs d'Atari utilisent ça et
aucune carte vidéo ne le gère.p
- pixels regroupés. Les bits constitutifs des différents plans
d'un même pixel se suivent. Ce mode est le plus courant en 256
couleurs.t
- couleurs vraies. Il s'agit du mode précédent en l'absence de
toute table de correspondance des couleurs. Ces modes sont
généralement sur 24 bits et procurent quelques 16,8 millions de
couleurs.A coté de ça, le paramètre (org)
a une signification bien différente
pour les modes monochromes.
n
- couleurs usuelles, c'est à dire 0 pour le blanc et 1 pour le
noir;i
- couleurs inversées, c'est à dire 0 pour le noir et 1 pour le
blanc.L'élément suivant ayant trait au périphérique vidéo fixe l'adresse de base
de la mémoire vidéo. Il est donné par le paramètre (scrmem)
sous
forme hexadécimal (préfixé par 0x
). Vous devriez trouver cette
information dans la documentation fournie avec le périphérique.
Le paramètre suivant, (scrlen)
, fournit au noyau la taille de la zone de
mémoire vidéo. S'il est absent, il est calculé à partir des valeurs de
(xres)
, (yres)
et (depth)
. En bref, il ne sert à rien de
préciser une valeur. Si vous donnez à sa suite le paramètre (vgabase)
,
laissez le champ vide en rentrant deux point-virgules. Autrement, oubliez le.
Le paramètre (vgabase)
est optionnel. En son absence, le noyau ne pourra
lire ni écrire le moindre des registres de couleur du périphérique et il vous
faudra donc installer les couleurs appropriées avant le démarrage de Linux.
Si la carte est compatible VGA, vous pouvez donner au noyau l'adresse où se
trouvent les registres vidéo de façon à ce qu'il modifie lui-même les tables
des couleurs. Vous trouverez cette information dans la documentation fournie
avec le périphérique. Afin d'être clair, (vgabase)
est une adresse
de base, donc alignée sur un multiple de 4k. Pour l'accès en lecture ou
en écriture aux registres, le noyau utilise une plage d'adresses comprises
entre (vgabase) + 0x3c7
et (vgabase) + 0x3c9
. La valeur est donnée
en hexadécimal et doit être préfixée par 0x
(tout comme (scrmem)
).
(colw)
ne sert que si (vgabase)
est spécifié. Il donne au
noyau la taille des registres de couleur, c'est à dire le nombre de bits
par couleur (rouge/verte/bleue). La valeur par défaut est de 6 bits mais
il est courant d'en spécifier 8.
(coltype)
s'emploie en conjonction avec (vgabase)
. Il précise
aux noyau le type des registres de la carte graphique. Actuellement, deux
modèles sont gérés : vga
et mv300
. Par défaut, vga
est
employé.
(xres_virtual)
n'est nécessaire qu'avec les cartes ProMST/ET4000 pour
lesquelles la longueur physique des lignes diffère de leur taille visible.
Avec une ProMST, on donnera la valeur 2048 tandis que pour l'ET4000 cela
dépendra de l'initialisation de la carte vidéo.