Interruption 10h |
Fonction 05h |
Fixer la page |
---|---|---|
CGA, PC Junior, EGA, MCGA, VGA, IBM 8514/A, SVGA |
Description
Cette fonction permet la sélection de la page affichée.
Entrée
Pour les adaptateurs CGA, EGA, MCGA, VGA ou SVGA :
Registre | Description | |
---|---|---|
AH | 05h | |
AL | Ce registre permet d'indiquer la page à afficher : | |
Variantes | Description | |
0 à 7 | Modes 00h et 01h (CGA, EGA, MCGA, VGA, SVGA) | |
0 à 3 | Modes 02h et 03h (CGA) | |
0 à 7 | Modes 02h et 03h (EGA, MCGA, VGA, SVGA) | |
0 à 7 | Mode 07h (EGA, VGA, SVGA) | |
0 à 7 | Mode 0Dh (EGA, VGA, SVGA) | |
0 à 3 | Mode 0Eh (EGA, VGA, SVGA) | |
0 à 1 | Mode 0Fh (EGA, VGA, SVGA) | |
0 à 1 | Mode 10h (EGA, VGA, SVGA) |
Pour PC Junior seulement :
Registre | Description | |
---|---|---|
AH | 05h | |
AL | Ce registre permet d'indiquer la sous-fonction : | |
Valeur | Description | |
80h | Lecture du registres de page du CRT et du CPU | |
81h | Fixe le registre de page du CPU | |
82h | Fixe le registre de page du CRT | |
83h | Fixe les registre de page du CRT et du CPU | |
BH | Ce registre permet d'indiquer la page CRT. | |
BL | Ce registre permet d'indiquer la page CPU. |
Sortie
Pour les adaptateurs CGA, EGA, MCGA, VGA ou SVGA :
Aucune
Pour PC Junior seulement :
Registre | Description |
---|---|
BH | Ce registre permet d'indiquer le registre de page CRT. |
BL | Ce registre permet d'indiquer le registre de page CPU. |
Remarques
- Les combinaisons de mode vidéo et d'adaptateur non répertoriées ci-dessus prennent en charge une seule page d'affichage (par exemple, un adaptateur monochrome en mode 7).
- La commutation entre les pages n'affecte pas leur contenu. De plus, le texte peut être écrit sur n'importe quelle page vidéo avec l'interruption 10h, fonctions 02H, 09h et 0Ah, quelle que soit la page actuellement affichée.
- Sur le PC Junior, la page CPU détermine la partie de la région de mémoire physique de 00000h à 1FFFFh étant cartographiée sur 16 Ko de mémoire à partir du segment B800h. La page CRT détermine l'adresse de départ de la mémoire physique utilisée par le contrôleur vidéo pour rafraîchir l'affichage. Des effets d'animation fluides peuvent être obtenus en manipulant ces registres. Les programmes écrivant directement sur le segment B800h ne peuvent atteindre que les 16 premiers Ko du tampon de rafraîchissement vidéo. Les programmes nécessitant un accès direct à l'intégralité du tampon de 32 Ko dans les modes 09h et 0Ah peuvent obtenir la page CRT actuelle à partir de la variable PAGDAT du BIOS en ROM à l'adresse 0040h:008Ah.
- Voici l'algorithme de cette fonction d'interruption en Turbo Pascal:
Procedure SetVisualPage;Begin
Mem[$0040:$82]:=AL; MemW[$0040:$4E]:=AL*MemW[$0040:$4C];
Port[MemW[$0040:$63]]:=$0C; Port[MemW[$0040:$63]+1]:=Mem[$0040:$4F];
Port[MemW[$0040:$63]]:=$0D; Port[MemW[$0040:$63]+1]:=Mem[$0040:$4E];
End;
Exemple
L'exemple suivant permet de fixer la page de visualisation 1:
MOV AX,0501h ; Fixe la fonction 05h, avec la page numéro 1
INT 10h ; Appel de l'interruption 10h
Voir également
Interruption 10h, Fonction 0Fh: Demander les informations de mode vidéo,
Interruption 10h, Fonction 43h: Sélectionner la page dans lequel dessiner les graphiques,
Interruption 10h, Fonction 45h: Sélectionner la page graphique actuellement visible sur le moniteur
Références
La Bible du PC: Programmation système - Sixième Edition, Edition Micro-Application, Michael Tischer, 1996, ISBN: 2-7429-0544-8, page 1580.
Aide-mémoire des interruptions du MS-DOS, Edition Marabout, Philippe Mercier, 1990, ISBN: 2-501-01297-6, page 41 à 42.
The Undocumented PC: A programmer's Guide to I/O, CPUs, and Fixed Memory Areas - Second Edition, Edition Addison-Wesley, Frank van Gilluwe, 1997, ISBN: 0-201-47950-8, page 400.