Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:ega-vga-registers

Ceci est une ancienne révision du document !


Les registres des cartes EGA/VGA

Les cartes EGA/VGA reposent essentiellement sur quatre contrôleurs se répartissant les tachés liées a la génération du signal vidéo. Concrètement, it s’agit :

  • du contrôleur CRT,
  • du contrôleur d’attributs,
  • du contrôleur graphique,
  • du séquenceur et
  • du convertisseur digital en analogique (DAC) existant uniquement sur une carte VGA.

Les cartes EGA et VGA disposent en outre de quelques registres généraux décrits également dans ce chapitre.

Contrôleur CRT

La tache essentielle du contrôleur CRT consiste a configurer l’écran en créant des signaux pour le moniteur qui permettent au rayon électronique de piloter le tube cathodique. Ainsi, on rencontre ici de nombreux registres jouant surtout un role dans le timing du retour horizontal et vertical du rayon électronique. Ces registres présentent en général peu d’intérét pour le programmeur car ils sont complexes a gérer. Pour les programmer, il suffit de s’en remettre au BIOS qui les programme en conséquence en changeant tout simplement le mode vidéo.

Mais le BIOS n’est pas capable de programmer des registres tels que les registres offset ou Line Compare utilisés pour des effets vidéo spéciaux. Voici la liste des 25 registres du contrôleur CRT.

reg Nom du registre
00h Horizontal Total
01h Horizontal Display End
02h Start Horizontal Blanking
03h End Horizontal Blanking
04h Start Horizontal Retrace
05h End Horizontal Retrace
06h Vertical Total
07h Overflow
08h Vertical Pel Panning
09h Maximum Scan Line
0Ah Cursor Start
0Bh Cursor End
0Ch Start Address High
0Dh Start Address Low
0Eh Cursor Location High
0Fh Cursor Location Low
10h Start Vertical Retrace
Light-Pen Low
11h End Vertical Retrace
Light-Pen High (EGA seulement)
12h Vertical Display End
13h Offset
14h Underline Location
15h Start Vertical Blank
16h End Vertical Blank
17h Mode Control
18h Line Compare

3CCh - Miscellaneous Output - Write

Bit Description
0 Adresse du port
* 0: monochrome 3B4h/3B5h et 3BAh
* 1: couleur 3D4h/3D5h et 3DAh
1 Accès CPU à la ram Vidéo
* 0: interdit
* 1: autorisé
2-3 Résolution Horizontale
4 réservé
5 Bit de la page mode Odd/Even
6-7 Nombre de lignes de points verticales
  • 0 : Pour l’émulation des cartes MDA, ce bit peut servir a définir l’adresse de port des données CRT et du registre d’index ainsi que le registre Input Status 1.
    Alors que ces registres occupent normalement les ports 3D4h/3D5h et 3DAh, ils peuvent ainsi être commutés sur les adresses de port 3B4h/3B5h et 3BAh.
  • 2-3: Ce champ de bit sélectionne le générateur de taches actif. Il dessine ainsi une ligne de points pour la résolution horizontale puisqu’un lien direct se crée entre le Dot Clock Rate et le nombre de points affichables.
    Le Dot Clock Rate de 0 MHz est réservé parce qu’il peut uniquement être utilisé pendant un reset de la carte VGA.
    La modification de ce registre doit toujours s’accompagner d’un reset synchrone à travers le registre reset du séquenceur.
    • 00 : 640 pointe horizontaux (25.175 MHz)
    • 01 : 720 pointe horizontaux (28.322 MHz)
    • 10 : Fréquence Dot Clock externe
    • 11 : Réservé (0 MHz)
  • 5 : Dans les modes Odd/Even (mode vidéo 0, 1, 2, 3 et 7), ce bit agit comme un bit de poids faible de I’'accès a la mémoire. Il décide par conséquent si seules les adresses paires ou impaires doivent être adressées dans les différents plans de bits. S’il contient la valeur 1 (défaut), tous les octets sont adressés sur les adresses d’ offset paires. Inversement, la valeur 0 autorise L'accès aux adresses impaires.
    Le bit perd sa valeur lorsque le mode Chain est défini a travers le bit 1 dans le registre 6 du contrôleur graphique ou le mode Chain4 4 travers le bit 3 dans le registre 4 du séquenceur.
  • 6-7 : En fait, ces deux bits ne sélectionnent pas directement la résolution verticale mais la polarité des signaux Retrace horizontaux et verticaux. En pratique, on obtient ainsi la résolution verticale spécifiée.

Le mode d’émulation 200 points de la carte VGA ne peut pas être défini a travers ce champ de bits. Il s’agit en fait d'un mode 400 points où 200 lignes seulement sont affichées en double.

back2root/ibm-pc-ms-dos/hardware/ega-vga-registers.1674417852.txt.gz · Dernière modification : 2023/01/22 21:04 de frater