Accueil des Chevaliers de Malte - Développeur Notes légal des Chevaliers de Malte/Développeur Flux RSS des nouvelles du site Les Chevaliers de Malte/Développeur - Assembleur et Pascal - Interruption 10h: Fonction 4Fh - Fonction du pilote VESA Section du logiciel DOS «MonsterBook» des Chevaliers de Malte/Développeur Inventaire de la bibliothèque des Chevaliers de Malte/Développeur Entrée administrateur

00h à 07h 08h à 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 1Fh 20h 21h 22h 23h 24h 25h 26h 27h 28h 29h 2Ah 2Bh 2Eh 2Fh 33h 41h 4Bh 59h 5Ch 67h 7Ah 80h à F0h Rechercher

Liste des fonctions par ordre numériques



Interruption 10h

Fonction 4Fh, Sous-Fonction 00h

Demande d'information VESA

Pilote BIOS VESA



Description

Cette fonction demande au pilote BIOS Super VGA de la VESA des informations le concernant.


Entrée

Registre Description
AX

4F00h

ES:DI

Tampon de 256 octets pour les informations Super VGA:

Offset Taille Description
00h à 03h 4 octets (Double Mot) Signature, doit contenir la chaîne de caractères "VESA"
04h à 05h 2 octets (Mot) Numéro de version du VESA
06h à 09h 4 octets (Double Mot) Pointeur sur le nom de l'OEM
0Ah à 0Dh 4 octets (Double Mot) Capabilités
0Eh à 10h 4 octets (Double Mot)

Pointeur sur une liste de mode vidéo supporté par le VESA et l'OEM. Doit ce terminer par le code FFFFh. Cette liste est une banque de mots: «Array of Word» comme dirait un Pascalien (pour connaître la signification des modes voir l'Interruption 10h, fonction 4Fh, sous-Fonction 02h).

11h à 12h 2 octets (Mot) Nombre de banque de 64 Ko
13h à FFh 236 octets Réservé

Sortie

Registre Description
AL

4Fh Si la fonction est supporté

AH

État (00h: Opération réussit, 01h: Erreur)



Interruption 10h

Fonction 4Fh, Sous-Fonction 01h

Demande d'information sur les modes vidéo VESA

Pilote BIOS VESA



Description

Cette fonction demande de l'information concernant les modes vidéo supporté par le BIOS VESA.

Entrée

Registre Description
AX

4F01h

CX

Mode vidéo super VGA

ES:DI

Tampon de 256 octets pour l'information du mode vidéo:

Offset Taille Description
00h à 01h 2 octets (mot) Mode d'attributs
Bits Description
0 Mode supporté
1 Information optionnel valide
2 Sortie BIOS supporté
3 Mode 1=Couleur, 0=Monochrome
4 Mode 1=Graphique, 0=Texte
02h 1 octet Fenêtre A d'attribut
Bits Description
0 Existes
1 Lecture autorisé
2 Écriture autorisé
03h 1 octet Fenêtre B d'attribut
Bits Description
0 Existes
1 Lecture autorisé
2 Écriture autorisé
04h à 05h 2 octets (Mot) Granulation de la fenêtre en Ko (généralement 64)
06h à 07h 2 octets (Mot) Taille de la fenêtre en Ko
08h à 09h 2 octets (Mot) Segment de départ de la fenêtre A
0Ah à 0Bh 2 octets (Mot) Segment de départ de la fenêtre B
0Ch à 0Fh 4 octets (Double Mot)

Routine de positionnement de la fenêtre. Utiliser avec un «CALL FAR» comme un appel de routine standard. Équivalent de l'interruption 10h, Fonction 4Fh, Sous-Fonction 05h, BIOS VESA.

10h à 11h 2 octets (Mot)

Octets par ligne de balayage écran (Bytes Per Scan Line).

Information optionnel requièrant les modes OEM

12h à 13h 2 octets (Mot) Largeur en pixels
14h à 15h 2 octets (Mot) Hauteur en pixels
16h 1 octet

Largeur d'un caractère texte (comme par exemple 8 du 8x16).

17h 1 octet

Hauteur d'un caractère texte (comme par exemple 16 du 8x16).

18h 1 octet

Nombre de plages de mémoire (memory plane)

19h 1 octet

Nombre de bits par pixel (Bits Per Pixel)

1Ah 1 octet

Nombre de banques (Banks)

1Bh 1 octet Type de mémoire:
Valeur Description
00h Texte
01h Graphiques en CGA
02h Graphiques en Hercules
03h Graphiques EGA en 16 couleurs
04h Graphiques en paquet de pixels
05h

Graphiques en séquence 256 couleurs (non-chain 4)

06h

Couleurs directe (HiColor, 24-bits de couleurs)

07h YUV (YIQ)
08h à 0Fh Réservé pour le standard VESA
10h à 0FFh Modèles de mémoire OEM
1Ch 1 octet Taille de la banques en Ko.
1Dh à 0FFh 227 octets Réservé

Sortie

Registre Description
AL

4Fh si la fonction est supporté

AH

État (00h: Opération réussit, 01h: Erreur)



Remarques

    Un bug existe avec la carte ATI Mach 64, au niveau de la routine de positionnement de la fenêtre. Il est préférable d'utiliser la sous-fonction 05h pour changer de fenêtre.



Interruption 10h

Fonction 4Fh, Sous-Fonction 02h

Fixe le mode Super VGA

Pilote BIOS VESA



Description

Cette fonction permet de sélectionner et de fixer un mode vidéo Super VGA à la condition toutefois qu'un pilote VESA fidèle à la carte vidéo soit disponible. Pour les modes standard d'IBM, il est toujours possible d'utiliser plutôt la fonction 00h de la même interruption sans aucun risque de conflit.


Entrée

Registre Description
AX

4F02h

BX

Mode vidéo (Fixe le bit 15 (Mode U 8000h) pour ne pas effacer le mode vidéo après l'avoir fixé):

Mode Description
00h à 0FFh

Mode vidéo OEM (accessible par l'interruption 10h, Fonction 00h)

100h Graphiques de 640x400 pixels en 256 couleurs
101h Graphiques de 640x480 pixels en 256 couleurs
102h Graphiques de 800x600 pixels en 16 couleurs
103h Graphiques de 800x600 pixels en 256 couleurs
104h Graphiques de 1024x768 pixels en 16 couleurs
105h Graphiques de 1024x768 pixels en 256 couleurs
106h Graphiques de 1280x1024 pixels en 16 couleurs
107h Graphiques de 1280x1024 pixels en 256 couleurs
108h Texte de 80x60 caractères
109h Texte de 132x25 caractères
10Ah Texte de 132x43 caractères
10Bh Texte de 132x50 caractères
10Ch Texte de 132x60 caractères
VBE version 1.2+
10Dh Graphiques de 320x200 pixels en 32 768 couleurs
10Eh Graphiques de 320x200 pixels en 65 536 couleurs
10Fh Graphiques de 320x200 pixels en 16 777 216 couleurs
110h Graphiques de 640x480 pixels en 32 768 couleurs
111h Graphiques de 640x480 pixels en 65 536 couleurs
112h Graphiques de 640x480 pixels en 16 777 216 couleurs
113h Graphiques de 800x600 pixels en 32 768 couleurs
114h Graphiques de 800x600 pixels en 65 536 couleurs
115h Graphiques de 800x600 pixels en 16 777 216 couleurs
116h Graphiques de 1024x768 pixels en 32 768 couleurs
117h Graphiques de 1024x768 pixels en 65 536 couleurs
118h Graphiques de 1024x768 pixels en 16 777 216 couleurs
119h Graphiques de 1280x1024 pixels en 32 768 couleurs
11Ah Graphiques de 1280x1024 pixels en 65 536 couleurs
11Bh Graphiques de 1280x1024 pixels en 16 777 216 couleurs
S3 OEM
201h Graphiques de 640x400 pixels en 256 couleurs
202h Graphiques de 800x600 pixels en 16 couleurs
203h Graphiques de 800x600 pixels en 256 couleurs
204h Graphiques de 1024x768 pixels en 16 couleurs
205h Graphiques de 1024x768 pixels en 256 couleurs
206h Graphiques de 1280x960 pixels en 16 couleurs
208h Graphiques de 1280x1024 pixels en 16 couleurs
211h Graphiques de 640x480 pixels en 65 536 couleurs
212h Graphiques de 640x480 pixels en 16 777 216 couleurs (Diamond Stealth 24X)
301h Graphiques de 640x480 pixels en 32 768 couleurs


Interruption 10h

Fonction 4Fh, Sous-Fonction 03h

Demande le mode actuel

Pilote BIOS VESA



Description

Cette fonction retourne le mode Super VGA actuellement en cours. Contrairement à la fonction 0Fh de la même interruption, cette fonction retourne un mot (2 octets) pouvant contenir une des nombreuses valeurs que renferme le pilote BIOS VESA (Voir Interruption 10h, Fonction 4Fh, Sous-Fonction 02h pour les modes).



Entrée

Registre Description
AX

4F03h


Sortie


Registre Description
AL

4Fh si la fonction est supporté

AH

État (00h: Opération réussît, 01h: Erreur)

BX

Mode vidéo (Voir Interruption 10h, Fonction 4Fh, Sous-Fonction 02h)



Interruption 10h

Fonction 4Fh, Sous-Fonction 04h

Sauvegarde/restitue l'état vidéo VESA

Pilote BIOS VESA



Description

Cette fonction sauvegarde/restitue l'état du convertisseur digital analogique (DAC) et les registres de couleurs, la zone de données de la ROM, ou l'état du matériel vidéo dans le cas de modes VESA.


Entrée


Registre Description
AX

4F04h

DL

Sous-Fonction:

Code Description
00h Pour obtenir la taille du tampon d'état
01h Pour sauvegarder l'état
02h Pour restituer l'état
CX

État Demandé:

Bit Description
0

Vaut 1 pour l'état de l'électronique vidéo

1

Vaut 1 pour les variables provenant de la zone de donnée

2

Vaut 1 pour les registres de la table de couleur DAC

3

Vaut 1 pour l'état du Super VGA

ES:BX

Adresse du tampon



Sortie

Registre Description
AL

4Fh si la fonction est supporté

AH

État (00h : Opération réussit, 01h : Erreur)

BX

Nombre de bloc dans le tampon (64 Ko par bloc) (si DL=00h lors de l'appel)



Remarque

    Hormis les variantes Super VGA et le numéro de la fonction, on peut considérer cette fonction identique à l'interruption 10h, Fonction 1Ch.



Interruption 10h

Fonction 4Fh, Sous-Fonction 05h

Contrôle CPU de la fenêtre vidéo

Pilote BIOS VESA



Description


Cette fonction fixe ou demande la fenêtre d'accès du segment (généralement de 64 Ko) situé en adresse A000h:0000h.



Entrée

Registre Description
AX

4F05h

BH

Sous-Sous-Fonction:

Valeur Description
00h

Sélectionne la fenêtre de mémoire vidéo:

Registre Description
DX

Adresse dans la mémoire vidéo (dans les unités granulé)

01h

Demande la fenêtre actuel de mémoire vidéo


Sortie

Registre Description
AL

4Fh si la fonction est supporté

AH

État (00h : Opération réussît, 01h : Erreur)

Si BH=01 lors de l'appelle:
DX

Adresse dans la mémoire vidéo (dans les unités granulé).



Interruption 10h

Fonction 4Fh, Sous-Fonction 06h

Fixe/demande la longueur d'une ligne de balayage

Pilote BIOS VESA version 1.1+



Description

Cette fonction demande ou fixe la longueur logique de ligne de balayage (scan) horizontal en pixels.


Entrée

Registre Description
AX

4F06h

BL

Option:

Valeur Description
00h

Fixe la longueur d'un balayage d'une ligne:

Registre Description
CX

Longueur du balayage d'une ligne

01h

Demande la longueur d'une balayage d'une ligne



Sortie

Registre Description
AL

4Fh si la fonction est supporté

AH

État (00h: Opération réussit, 01h: Erreur)

BX

Octets par ligne de balayage

CX

Nombre de pixel par ligne de balayage

DX

Nombre maximal de ligne de balayage



Interruption 10h

Fonction 4Fh, Sous-Fonction 07h, Option 00h

Demande/Fixe le commencement de l'affichage

Pilote BIOS VESA version 1.1+



Description


Cette fonction demande ou fixe le commencement de l'affichage de l'image par rapport au début de la mémoire vidéo.


Entrée


Registre Description
AX

4F07h

BH

00h

BL

Option:

Valeur Description
00h

Ajuste le commencement de l'affichage:

Registre Description
CX

Le numéro du pixel le plus à gauche afficher dans la ligne de balayage

DX

Le numéro de la première ligne de balayage affiché.

01h

Demande le commencement de l'affichage



Sortie


Registre Description
AL

4Fh si la fonction est supporté

AH

État ( 00h : Opération réussit, 01h : Erreur )

Si BH=01 lors de l'appelle:
BH

00h

CX

Le numéro du pixel le plus à gauche afficher dans la ligne de balayage

DX

Le numéro de la première ligne de balayage affiché.


Remarque


    Cette fonction est aussi valide en mode texte, toutefois les valeurs sont multipliés par la largeur (CX) et la hauteur (DX) des caractères actuel de la police vidéo.


Références

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 455 à 467.

Dernière mise à jour: Samedi, le 28 janvier 2006