Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
back2root:ibm-pc-ms-dos:hardware:ega-vga-registers [2023/01/22 20:25] – [3CCh - Miscellaneous Output - Write] frater | back2root: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' | ||
+ | |||
+ | 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? | ||
+ | ^ 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' | ||
+ | | | ||
+ | |||
+ | |||
+ | ==== 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' | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | <WRAP round box> | ||
+ | En mode Doubleword, l’adresse issue du compteur d’adresses interne pendant la configuration de l' | ||
+ | </ | ||
===== 3CCh - Miscellaneous Output - Write ===== | ===== 3CCh - Miscellaneous Output - Write ===== | ||
+ | ^ Bit ^ Description | ||
+ | | 0 | Adresse du port\\ | ||
+ | | 1 | Accès CPU à la ram Vidéo\\ | ||
+ | | 2-3 | Résolution Horizontale | ||
+ | | 4 | réservé | ||
+ | | 5 | Bit de la page mode Odd/ | ||
+ | | 6-7 | Nombre de lignes de points verticales | ||
+ | |||
+ | <WRAP round box> | ||
+ | * **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. | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | * **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) | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | * **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’' | ||
+ | </ | ||
+ | <WRAP round box> | ||
+ | * **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. | ||
+ | </ | ||
+ | </ | ||
- | {| | ||
- | |- | ||
- | ! 0 || description | ||
- | |} | ||