Interruption 10h |
Fonction 1Bh |
Fonction disponible? |
---|---|---|
VGA et SVGA ou PS/2 |
Description
Cette fonction permet de demander les fonctions vidéo disponibles.
Entrée
Registre | Description |
---|---|
AH | 1Bh |
BX | Type d'implémentation (Toujours 0000h) |
ES:DI | Cette paire de registre permettra d'indiquer l'adresse du tampon de 64 octets allant recevoir en sortie |
Sortie
Registre | Description | |||||
---|---|---|---|---|---|---|
AL | Contient 1Bh si l'opération s'est correctement déroulé. | |||||
ES:DI | Si l'opération s'est bien déroulé, cette paire de registre contient un tampon de 64 octets avec les informations suivantes: | |||||
Déplacement | Taille | Description | ||||
00h à 03h | 4 octets | Ce double mot contient un pointeur sur l'information de possibilités supporté par la carte. Le tampon à la structure suivante: | ||||
Déplacement | Taille | Description | ||||
00h à 03h | 4 octets | Ce double mot de 32-bits indique les modes vidéo (Interruption 10h, Fonction 00h) supportés: | ||||
Bit | Description | |||||
0 | Ce bit vaut 1 si le mode 00h est supporté | |||||
1 | Ce bit vaut 1 si le mode 01h est supporté | |||||
2 | Ce bit vaut 1 si le mode 02h est supporté | |||||
3 | Ce bit vaut 1 si le mode 03h est supporté | |||||
4 | Ce bit vaut 1 si le mode 04h est supporté | |||||
5 | Ce bit vaut 1 si le mode 05h est supporté | |||||
6 | Ce bit vaut 1 si le mode 06h est supporté | |||||
7 | Ce bit vaut 1 si le mode 07h est supporté | |||||
8 | Ce bit vaut 1 si le mode 08h est supporté | |||||
9 | Ce bit vaut 1 si le mode 09h est supporté | |||||
10 | Ce bit vaut 1 si le mode 0Ah est supporté | |||||
11 | Ce bit vaut 1 si le mode 0Bh est supporté | |||||
12 | Ce bit vaut 1 si le mode 0Ch est supporté | |||||
13 | Ce bit vaut 1 si le mode 0Dh est supporté | |||||
14 | Ce bit vaut 1 si le mode 0Eh est supporté | |||||
15 | Ce bit vaut 1 si le mode 0Fh est supporté | |||||
16 | Ce bit vaut 1 si le mode 10h est supporté | |||||
17 | Ce bit vaut 1 si le mode 11h est supporté | |||||
18 | Ce bit vaut 1 si le mode 12h est supporté | |||||
19 | Ce bit vaut 1 si le mode 13h est supporté | |||||
04h à 06h | 3 octets | Ces octets sont réservés | ||||
07h | 1 octet | Cet octet indique le nombre de lignes de balayage supporté en mode texte: | ||||
Bit | Description | |||||
0 | Ce bit vaut 1 si 200 lignes de balayage sont supportés | |||||
1 | Ce bit vaut 1 si 350 lignes de balayage sont supportés | |||||
2 | Ce bit vaut 1 si 400 lignes de balayage sont supportés | |||||
3 | Ce bit vaut 1 si 480 lignes de balayage sont supportés | |||||
08h | 1 octet | Cet octet permet d'indiquer le nombre de blocs de caractères disponibles en mode texte (voir Interruption 10h, Fonction 11h) | ||||
09h | 1 octet | Cet octet permet d'indiquer le nombre de maximal de blocs caractères actifs en mode texte | ||||
0Ah à 0Bh | 2 octets | Ce mot de 16-bits indique les diverses possibilités du BIOS: | ||||
Bit | Description | |||||
0 | Ce bit vaut 1 si tous les modes sont actifs sur toutes les cartes (toujours 0 en MCGA) | |||||
1 | Ce bit vaut 1 si la somme des valeurs de gris est autorisée | |||||
2 | Ce bit vaut 1 si un affichage monochrome est présent | |||||
3 | Ce bit vaut 1 si un chargement de la palette par défaut est interdit | |||||
4 | Ce bit vaut 1 si l'émulation du curseur est autorisée | |||||
5 | Ce bit vaut 1 si la palette EGA de 64 couleurs est disponible | |||||
6 | Ce bit vaut 1 si le chargement des registres de couleurs est possible | |||||
7 | Ce bit vaut 1 si la pagination des registres de couleurs est possible | |||||
8 | Ce bit vaut 1 si le crayon lumineux est disponible | |||||
9 | Ce bit vaut 1 si la sauvegarde et restitution de l'affichage à l'aide de l'Interruption 10h, Fonction 1Ch est possible | |||||
10 | Ce bit vaut 1 si le contrôle intensité/clignotement est possible | |||||
11 | Ce bit vaut 1 si la demande/définition du code de combinaison possible | |||||
0Ch à 0Dh | 2 octets | Ce mot est réservé | ||||
0Eh | 1 octet | Cet octet de 8-bits indique les diverses possibilités de la zone de sauvegarde: | ||||
Bit | Description | |||||
0 | Ce bit vaut 1 si le jeu de 512 caractères est actif | |||||
1 | Ce bit vaut 1 si la zone de sauvegarde dynamique est active | |||||
2 | Ce bit vaut 1 si la surcharge de la police texte est active | |||||
3 | Ce bit vaut 1 si la surcharge de la police graphique est active | |||||
4 | Ce bit vaut 1 si la surcharge de la palette est autorisée | |||||
5 | Ce bit vaut 1 si l'extension de code de combinaison est active | |||||
0Fh | 1 octet | Cet octet est réservé | ||||
04h | 1 octet | Cet octet permet d'indiquer le mot d'affichage courant | ||||
05h à 06h | 2 octets | Ce mot permet d'indiquer le nombre de colonnes de caractères | ||||
07h à 08h | 2 octets | Ce mot permet d'indiquer la longueur du tampon d'affichage en octets | ||||
09h à 0Ah | 2 octets | Ce mot permet d'indiquer le segment d'une adresse d'affichage du coin supérieur gauche de l'écran | ||||
0Bh à 1Ah | 16 octets | Cet ensemble de 8 couple d'octets permet d'indiquer la position respectivement Y et X de curseur sur chacune des 8 pages | ||||
1Bh | 1 octet | Cet octet permet d'indiquer la ligne de début du curseur | ||||
1Ch | 1 octet | Cet octet permet d'indiquer la ligne de fin du curseur | ||||
1Dh | 1 octet | Cet octet permet d'indiquer le numéro de la page courante | ||||
1Eh à 1Fh | 2 octets | Ce mot permet d'indiquer le port d'Entrée/Sortie de la carte vidéo: 3B?h en monochrome, 3D?h en couleurs | ||||
20h | 1 octet | Cet octet permet d'indiquer le contenu du port d'Entrée/Sortie 3B8h ou 3D8h | ||||
21h | 1 octet | Cet octet permet d'indiquer le contenu du port d'Entrée/Sortie 3B9h ou 3D9h | ||||
22h | 1 octet | Cet octet permet d'indiquer le nombre de lignes de caractères | ||||
23h à 24h | 2 octets | Ce mot permet d'indiquer la hauteur de caractères en ligne de balayage | ||||
25h | 1 octet | Cet octet permet d'indiquer le code de la carte vidéo active: | ||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer qu'il n'y a pas de carte vidéo d'installé | |||||
01h | MDA avec moniteur monochrome | |||||
02h | CGA avec moniteur CGA | |||||
03h | Réservé | |||||
04h | EGA avec au moniteur EGA ou multisync | |||||
05h | EGA avec un moniteur monochrome | |||||
06h | PGA avec un moniteur 5175 | |||||
07h | VGA avec un moniteur monochrome analogique | |||||
08h | VGA avec un moniteur couleur analogique | |||||
09h | Réservé | |||||
0Ah | MCGA avec un moniteur couleur digital | |||||
0Bh | MCGA avec un moniteur monochrome digital | |||||
0Ch | MCGA avec un moniteur couleur analogique | |||||
FFh | Cette valeur permet d'indiquer la carte vidéo est inconnue | |||||
26h | 1 octet | Cet octet permet d'indiquer le code de carte vidéo inactive: | ||||
Valeur | Description | |||||
00h | Cette valeur permet d'indiquer qu'il n'y a pas de carte vidéo secondaire d'installé | |||||
01h | MDA avec moniteur monochrome | |||||
02h | CGA avec moniteur CGA | |||||
03h | Réservé | |||||
04h | EGA avec au moniteur EGA ou multisync | |||||
05h | EGA avec un moniteur monochrome | |||||
06h | PGA avec un moniteur 5175 | |||||
07h | VGA avec un moniteur monochrome analogique | |||||
08h | VGA avec un moniteur couleur analogique | |||||
09h | Réservé | |||||
0Ah | MCGA avec un moniteur couleur digital | |||||
0Bh | MCGA avec un moniteur monochrome digital | |||||
0Ch | MCGA avec un moniteur couleur analogique | |||||
FFh | Cette valeur permet d'indiquer la carte vidéo est inconnue | |||||
27h à 28h | 2 octets | Ce mot permet d'indiquer le nombre de couleurs affichables (0 en monochrome) | ||||
29h | 1 octet | Cet octet permet d'indiquer le nombre de pages d'affichage | ||||
2Ah | 1 octet | Cet octet permet d'indiquer le nombre de lignes de balayage: | ||||
Valeur | Nombre de lignes de balayage | Carte vidéo requise | ||||
00h | 200 | EGA, MCGA, VGA et Super VGA | ||||
01h | 350 | EGA, MCGA, VGA et Super VGA | ||||
02h | 400 | MCGA, VGA et Super VGA | ||||
03h | 480 | Certaines cartes Super VGA | ||||
05h | 600 | Certaines cartes Super VGA | ||||
06h | 768 | Certaines cartes Super VGA | ||||
08h | 352 | Certaines cartes Super VGA | ||||
09h | 364 | Certaines cartes Super VGA | ||||
04h, 07h, 0Ah à FFh | Réservé | Certaines cartes Super VGA | ||||
2Bh | 1 octet | Cet octet permet d'indiquer le bloc de caractères primaires (voir Interruption 10h, Fonction 11h, Sous-Fonction 03h) | ||||
2Ch | 1 octet | Cet octet permet d'indiquer le bloc de caractères secondaire | ||||
2Dh | 1 octet | Cet octet permet d'indiquer des informations divers: | ||||
Bits | Description | |||||
0 | Ce bit vaut 1 si tous les modes sont actifs sur toutes les cartes (=0 pour la MCGA) | |||||
1 | Ce bit vaut 1 si la somme des valeurs de gris est autorisée | |||||
2 | Ce bit vaut 1 si un affichage monochrome est présent | |||||
3 | Ce bit vaut 1 si le chargement de la palette par défaut est interdit | |||||
4 | Ce bit vaut 1 si l'émulation du curseur est autorisé (toujours 0 en MCGA) | |||||
5 | Ce bit indique l'état du bit I/C (0=intensité, 1=clignotement) | |||||
6 | Ce bit vaut 1 si un écran plat est activé | |||||
2Dh | 1 octet | Cet octet permet d'indiquer des informations sur les fonctionnalités non-VGA: | ||||
Bits | Description | |||||
0 | Ce bit vaut 1 si le BIOS supporte le retour d'information de l'adaptateur d'interface | |||||
1 | Ce bit vaut 1 si un pilote d'adaptateur d'interface est requis | |||||
2 | Ce bit vaut 1 si le mode en 16-bits de couleurs est présent | |||||
3 | Ce bit vaut 1 si les attributs MFI sont actifs (voir Interruption 10h, Fonction 12h, Sous-fonction 37h), vaut 0 s'il s'agit des attributs VGA. | |||||
4 | Ce bit vaut 1 si le mode 132 colonnes en écran de texte est supporté | |||||
2Fh à 30h | 2 octets | Ces octets sont réservés | ||||
31h | 1 octet | Cet octet permet d'indiquer la taille de la mémoire vidéo: | ||||
Valeur | Description | |||||
00h | 64 Ko | |||||
01h | 128 Ko | |||||
02h | 192 Ko | |||||
03h | 256 Ko ou plus | |||||
32h | 1 octet | Cet octet permet d'indiquer l'état du pointeur de sauvegarde: | ||||
Bits | Description | |||||
0 | Ce bit vaut 1 si le jeu de 512 caractères est actif, 0 s'il est inactif | |||||
1 | Ce bit vaut 1 si la zone de sauvegarde dynamique est actif, 0 s'il est inactif | |||||
2 | Ce bit vaut 1 si la surcharge de la police de caractères texte est active | |||||
3 | Ce bit vaut 1 si la surcharge de la police de caractères graphique est active | |||||
4 | Ce bit vaut 1 si la surcharge de la palette est autorisée | |||||
5 | Ce bit vaut 1 si l'extension de code de combinaison est active | |||||
33h à 3Fh | 13 octets | Ces octets sont réservés |
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 1604 à 1605.
Advanced Programmer's Guide to Super VGA Cards: The Advanced Programmer's Graphic Library Volume II, Edition Brady, George Sutty and Steve Blair, 1990, ISBN: 0-13-010455-8, page 82 à 85.
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 439 à 443.
Dernière mise à jour : Jeudi, le 3 mars 2016