Page suivante Page précédente Table des matières

6. Le pilote de mémoire vidéo sur les Atari m68k

Cette partie décrit les options offertes par le pilote de mémoire vidéo sur les machines Atari m68k.

6.1 Quels sont les modes disponibles 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 adapté au matériel :

Vous pouvez préciser le mode à employer pour éviter l'auto-détection. Par exemple, video=vga16 procure un écran en 640 par 480 avec une profondeur de 4 bits.

6.2 Sous-options supplémentaires sur les machines Atari m68k

Options supplémentaires disponibles avec le paramètre video=xxx :

6.3 Sous-option "internal" sur les machines Atari m68k

Syntaxe : internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

L'option indique les fonctionnalités ajoutées 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.]

6.4 Sous-option "external" sur les machines Atari m68k

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).

A coté de ça, le paramètre (org) a une signification bien différente pour les modes monochromes.

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écimale (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.


Page suivante Page précédente Table des matières