Section courante

A propos

Section administrative du site

Port d'entrée/sortie 80x86

03C4h/03C5h

VGA et Super VGA Timing Sequencer (TS)

Description

On désigne par le nom de Timing Sequencer le gestionnaire de mémoire d'affichage de la carte vidéo. Ainsi grâce au TS, on peut configurer les accès vers les plans données et les combinés avec le jeu de caractères courant. Le séquenceur joue aussi une responsabilité importante au niveau du rafraîchissement de la mémoire d'écran. Celle-ci, en effet, est adressé comme le CRTC par l'intermédiaire du registre d'index (adresse 3C4h) et d'un registre de données (adresse 3C5h). On peut très bien écrire une donnée par un seul instruction machine «OUT WORD».

Liste des registres

Registre Nom Description
00h Reset Sychrone Le bit 0 est un Reset Asynchrone tandis que le bit 1 est Reset Synchrone. Si on le met à 0, le TS déclenchera une réinitialisation synchrone, c'est-à-dire qu'il réinitialisera tous les registres et les déconnectera, jusqu'à ce que les bits 0 et 1 soient à nouveau mis à 1. Pendant ce temps, le rafraîchissement de la mémoire est également désactivé, il faudra par conséquent mettre fin au Reset le plus rapidement possible pour éviter toute perte de données. Cette opération est à exécuter à chaque fois qu'on souhaite modifier le registre du TS.
01h TS Mode Ce registre permet de fixer le mode du TS (Timing Sequencer):
Bit Description
0 Si ce bit est nul, fixe la largeur des caractères à 9 pixels (1 correspondant à une largeur de 8 pixels). Ce bit joue seulement de l'importance dans le calcul du timing horizontal dont les registres reposent tous sur une unité de caractère.
2 Si ce bit vaut 1, les bascules sont chargées à la moitié de la fréquence.
3 Ce bit est mit à 1 dans certains modes 320x200 pour réduire la résolution horizontal de 640 à 320 pixels.
4 Si ce bit est égal à 1, les bascules sont chargées au quart de la fréquence.
5 Ce bit mit à 1, provoque la désactivation de l'écran permettant ainsi au processeur d'accéder plus rapidement à la mémoire de l'écran.
02h Write Plane Mask Les bits de 0 à 3 permettent d'exclure (0) certains plans de l'accès en écriture ou au contraire de les y ouvrir (1). Lors de l'activation du mode 13h (320x200 en 256 couleurs), tous les plans sont à 1, soit une valeur correspondant à 0Fh. Voici la disposition des plans:
Bit Description
0 Accès en écriture au plan 0
1 Accès en écriture au plan 1
2 Accès en écriture au plan 2
3 Accès en écriture au plan 3
03h Font Select Ce registre permet d'indiquer la situation du jeu de caractères en mémoire:
Bit Description
0 à 1 Police A bits 0 et 1
2 à 3 Police B bits 0 et 1
4 Police A bit 2
5 Police B bit 2
La codification des bits 0, 1 et 2 de la mémoire s'effectue de la façon suivante:
Bits Offset
000b 0 Ko
001b 16 Ko
010b 32 Ko
011b 48 Ko
100b 8 Ko
101b 24 Ko
110b 40 Ko
111b 56 Ko
04h Memory Mode Ce registre permet de fixer le mode de fonctionnement de la mémoire :
Bit Description
1 Ce bit indique la mémoire disponible: 0 signifiant que 64 Ko de mémoire sont utilisables pour l'écran, tandis que 1 correspond à 256 Ko. Doit être à 1 si on veut exploiter le bit 2 de la sélection de jeu de caractères.
2 Si ce bit vaut 0, alors le mode pair/impair est actif. Ce dernier fonctionne un peu de la même façon que le mode Chain 4. Le bit 0 de la ligne d'adresse est employée pour sélectionner les plans pairs ou impairs. En mode texte, on pourra comprendre cette aspect de la manière suivante, les codes ASCII des caractères seront mémorisés dans les plans 0 et 2 tandis que les plans 1 et 3 accueilleront les octets représentatifs des attributs. Ce bit devrait toujours correspondre au bit 4 du registre 5 du GDC avec une valeur inverse.
3 Le bit 3 enclenche le célèbrissime mode Chain 4 (1). Les lignes d'adresse 0 et 1 sont ainsi utilisées pour sélectionner les plans lors des accès en lecture ou en écriture du microprocesseurs. Ce mode trouve une application en mode 13h. Si on le désactive et si on met en outre le CRTC en mode octet (Byte), on se retrouvera dans le mode 320x400 en 256 couleurs.
N.B.: Lorsqu'on active le mode vidéo 13h, ce registre contient la valeur 0Eh.
06h Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer l'échelle d'agrandissement horizontal ou vertical
06h Genoa: Select Window Page Ce registre permet de fixer le mode de pagination des plages de mémoire de la carte vidéo Genoa:
Bit Description
3 à 5 Ces bits sont utilisés pour dénombre le nombre de page de fenêtre de 512 Ko (multiple de 64 Ko).
6 Ce bit correspond au mode et vaut 1.
7 Ce bit est une donnée importante a ne surtout pas altérer.
07h Genoa: Check Monitor Ce registre permet de vérifier le type de moniteur branché sur la carte vidéo Genoa:
Bit Description
5 Ce bit retourne le type de moniteur installé avec la carte Super VGA du fabricant Genoa. Ainsi, si le bit est 1, le moniteur est un Digital TTL tandis que lorsqu'il s'agit de 0, le moniteur est analogique.
0Bh Check Trident Exist And Model Ce registre indique si la carte Super VGA du fabricant Trident est détecté. Les valeurs possibles sont les suivantes:
Valeur Description
00h Ce n'est pas une carte vidéo Trident
01h Trident 8800BR
02h Trident 8800CS
03h Trident 8900, 1 Mo
04h Trident 8900, 256 Ko
05h Trident 8900, 512 Ko
06h Trident 8900, 1 Mo
07h à FFh Ce n'est pas une Trident.
0Ch Trident: Power Up Mode Register 1 Ce registre permet d'augmenter la puissance de la carte vidéo Trident
0Dh Trident: Old Mode Control 2 Ce registre permet de contrôle les modes de compatibilité avec les anciennes cartes d'IBM:
Bit Description
0 à 2 Ces bits permet d'indiquer le mode d'émulation de la carte vidéo:
Valeur Description
0 Cette valeur permet d'émuler le comportement d'une carte vidéo VGA
3 Cette valeur permet d'émuler le comportement d'une carte vidéo EGA
5 Cette valeur permet d'émuler le comportement des cartes vidéos CGA, MDA et Hercules
4 Ce bit permet d'activer le mode de pagination s'il vaut 1.
0Fh Trident: Size Bus ROM Si le bit 7 vaut 0 c'est que le bus est 16 bits pour les accès à la ROM vidéo Super VGA du fabricant Trident. Autrement, lorsqu'une valeur égale 1, il s'agit d'un bus 8 bits.
Cirrus: Memory Size Le bits 3, 4 et 7 permet de connaître le nombre de mémoire d'installée sur les cartes Super VGA du fabricant Cirrus Logic. Voici les valeurs et leurs signification en valeur physique hexadécimal:
Valeur Description
08h 512 Ko
10h 1024 Ko
18h 2048 Ko
88h 1024 Ko
90h 2048 Ko
98h 4096 Ko
11h Ark Set Color Mode Ce registre permet de fixer le mode de couleur utilisé par l'ensemble de puce Ark.
12h Ark Chips Detection Ce registre réagit s'il s'agit d'une d'un ensemble de puce Ark.
15h Ark Bank Switch Les bits de 0 à 7 de ce registre sont utilisés afin de permettre à la carte vidéo de Ark de permuter d'une banque à l'autre pour un total de 256.
1Bh Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer la partie basse de la position de début de l'échelle d'agrandissement horizontal
1Ch Tseng ET3000/STB VGA EM-16: Zoom Control Register Ce registre permet de fixer la partie haute de la position de début de l'échelle d'agrandissement horizontal
1Dh Ark Enable Register Ce registre permet d'activer les registres spéciaux de l'ensemble de puce Ark.
8Eh Video 7: Check Sub-Version Les bits de 0 à 7 de ce registre retourne le sous-modèle de la carte Super VGA du fabricant Video Seven. Voici les différents modèles existant détectable:
Valeur Description
80h à FFh Video7 – VEGA
70h à 7Fh Video7 – VRAM ou compatible
50h à 59h Video7 – Version 5
40h à 49h Video7 - 1024i
94h Cirrus: Index of Pattern Address Register Le code 0FFh indique le dernier pointeur utilisé généralement pour un curseur matériel en graphique de la carte Super VGA du fabricant Cirrus.
9Ch Cirrus: Cursor position Les bits de 0 à 7 de se registre de la Super VGA du fabricant Cirrus permet de fixer la position du curseur matériel en graphique. Tous d'abord la position X en pixels doit être écrite dans ce registre suivit de la partie base de X et enfin, la partie haute de Y puis la partie base de Y.
A5h Cirrus: Cursor attribut Pour les Super VGA du fabricant Cirrus, ce registre permet d'activer ou désactiver le curseur matériel graphique préalablement programmer.
F2h Cirrus: Latch Index Ce registre charge les 128 octets de masque et Et Binaire (AND) et les 128 octets de masque Ou Exclusif (XOR) lorsque le registre 94h est encodé avec le nombre 0FFh. Le code de motif est introduit de la façon expliquer avec 256 accès d'écriture au registre.
FFh Cirrus: Address Extended Register Bank Les bits 0 à 4 de se registre est utilisée pour connaître l'adresse d'une page de curseur matériel en mode graphique de cette carte Super VGA du fabricant Cirrus.


Dernière mise à jour : Samedi, le 2 août 2014