Outils pour utilisateurs

Outils du site


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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:ibm-pc-ms-dos:hardware:ega-vga-registers [2023/01/22 20:53] – [3CCh - Miscellaneous Output - Write] fraterback2root:ibm-pc-ms-dos:hardware:ega-vga-registers [2023/01/22 21:20] (Version actuelle) – [Registre 05h - End Horizontal Retrace] frater
Ligne 10: Ligne 10:
 Les cartes EGA et VGA disposent en outre de quelques registres généraux décrits également dans ce chapitre. 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.
 +
 +L'adressage de tous les registres du contrôleur CRT s’effectue a travers un registre d'index et de données situés a l’adresse de port 3D4h ou 3D5h si la carte EGA ou VGA est utilisée en mode couleur. En mode monochrome, ces registres se trouvent en 3B4h et 3B5h.
 +
 +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.
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^  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                                           |
 +
 +==== Registre 04h - Start Horizontal Retrace ====
 +
 +Ce registre détermine le caractère après le parcours duquel commence le retour du rayon électronique. L’écran peut ensuite être centré horizontalement à l'aide de ce registre.
 +
 +==== Registre 05h - End Horizontal Retrace ====
 +
 +|  0-4  | Détermine la fin du retour horizontal. Etant donné que la fin de ce retour se situe toujours avant le début, il faut uniquement 5 bits pour le coder. L’unité utilisée est 4 nouveau le caractère. |
 +|  5-6  | Comme pour la fin du Blanking horizontal, on peut définir un délai (Skew) pour la fin du retour horizontal. Il varie d’une carte a L'autre si bien que ces bits ne peuvent jamais être manipulés. |
 +|     | Ce bit sert d’extension aux bits 0 4 4 dans le registre End Horizontal Blanking et représente leur bit de poids fort. |
 +
 +
 +==== Registre 14h - Underline Location ====
 +
 +|  0-4  | Ligne de pour le soulignements\\ Lorsque les cartes EGA et VGA fonctionnent en mode monochrome, elles peuvent souligner les caractères à l'écran. Ce champ de bits détermine la ligne de points ou le soulignement doit apparaitre. |
 +|     | Exclusivement pour les cartes VGA, ce bit décide si le compteur d’adresse interne ne doit être incrémenté que tous les quatre coups du Character Clock.\\ A cet effet, ces bits doivent afficher la valeur 1 et le bit 3 du registre Mode CRT (Count by two) la valeur 0. Si ce bit contient au contraire la valeur 1, le mode Doubleword est ignoré dans tous les cas. |
 +|     | Avec des cartes VGA, ce bit permet d’activer le mode Doubleword. Le contenu des bits Access Mode du registre Mode CRT est alors ignoré. |
 +|     | non utilisé |
 +
 +<WRAP round box>
 +En mode Doubleword, l’adresse issue du compteur d’adresses interne pendant la configuration de l'écran lors de l’accés a la RAM vidéo est décalée de 2 bits vers le haut alors que les bits 14 et 15 se promènent simultanément entre la position 0 et 1. Tant que le compteur d’adresses est inférieur 4 4000h, toutes les cellules mémoire entre 0000h et FFFCh dont l'adresse modulo quatre donne la valeur zéro sont adressées. Lorsque le compteur  d’adresses interne atteint la zone comprise entre 4000h et 7FFFh, toutes les cellules mémoire entre 0001h et FFFDh dont l'adresse module quatre donne la valeur un sont adressées. Le même procédé s’applique aux zones situées entre 8000h et BFFFh ou C000h et FFFFh. Mais les cellules mémoire adressées ici sont des cellules dont l’adresse modulo quatre donne la valeur deux ou trois.
 +</WRAP>
  
 ===== 3CCh - Miscellaneous Output - Write ===== ===== 3CCh - Miscellaneous Output - Write =====
back2root/ibm-pc-ms-dos/hardware/ega-vga-registers.1674417192.txt.gz · Dernière modification : 2023/01/22 20:53 de frater