INT 10 - VESA(Video Electronics Standards Association) An industry group which sets both hardware and software standards and recommendations. The term VESA is also used to denote compliance with the VESA SuperVGA BIOS Extensions, a standard set of video BIOS functions for accessing video modes of higher resolution than those defined by IBMInternational Busiuness Machines. OEM(Original Equipment Manufacturer) a company which purchases components that are resold as part of its own products under the company's own brand name, e.g. a Gateway 2000-branded monitor may actually be a Mag or NEC monitor. Extensions - Matrox Millenium (BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. v2.1)
AX = 4F14h
BL = function
00h installation check / get capabilities
ES:DI -> 256-byte buffer for Matrox-specific information
(see #00125)
Return: ES:DI buffer filled
01h read/write MGA indexed data register
BH = direction (00h = write, else read)
CL = register number (80h for most-recently used register)
CH = new value, if writing
Return: CH = current value, if reading
02h read/write register in MGA control space
BH = direction and size
bit 4: read register instead of writing
bits 1-0: data size (00 = BYTE, 01 = WORD, 10 = DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address.)
SI = register address
CL/CX/ECX = new value if writing
Return: CL/CX/ECX = current value if reading
03h read PINS byte
SI = offset of byte within PINS data (see #00126)
Return: CL = value of specified PINS byte
04h ??? (related to PLL programming)
DX = ???
Return: CL,EDX destroyed
05h read BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. byte
SI = offset of byte relative to start of BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. image
Return: CL = specified byte
else
Return: AX = FFFFh
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
Note: most of this info is from http:\\grafi.ii.pw.edu.pl\gbm\matrox
SeeAlso: MEM C000h:7FFCh"Matrox"
Format of Matrox-specific VESA(Video Electronics Standards Association) An industry group which sets both hardware and software standards and recommendations. The term VESA is also used to denote compliance with the VESA SuperVGA BIOS Extensions, a standard set of video BIOS functions for accessing video modes of higher resolution than those defined by IBMInternational Busiuness Machines. extensions information:
Offset Size Description (Table 00125)
00h 7 BYTEs signature "VBE(VESA BIOS Extensions) The common software interface for video cards providing support for high resolution and bit depth./MGA"
07h 10 BYTEs ??? (01h 01h 00h 00h 00h 00h 00h 00h 00h 07h)
11h WORD BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. version (high byte = major, low byte = one-digit minor)
13h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> manufacturer name (ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. "Matrox")
17h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. card name
1Bh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> ??? ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. string (empty string on card examined)
1Fh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. vendor name
23h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. file base name
27h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. -> PINS
2Bh WORD video memory size in 64K units
2Dh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. linear address of linear frame buffer
31h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. linear address of MGA control aperture
35h WORD PCI bus/device for card???
37h 201 BYTEs unused??? (cleared to 00h)
Format of Matrox PINS data (version 3.0):
Offset Size Description (Table 00126)
00h 2 BYTEs signature ".A" (2Eh 41h)
02h BYTE structure length (40h for v3.0)
03h BYTE ???
04h WORD PINS version (high byte = major, low byte = minor)
06h WORD date last programmed
08h WORD number of times programmed
0Ah WORD flags
0Ch 8 BYTEs ASCII serial number, three letters + five digits
14h 8 BYTEs ???
1Ch 4 BYTEs ASCII card version
20h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. PCB revision
24h BYTE maximum RAMDAC frequency in MHz (less 100)
25h BYTE maximum RAMDAC frequency???
26h BYTE maximum RAMDAc frequency???
27h BYTE ???
28h BYTE ??? timing data?
29h BYTE ???
2Ah BYTE ???
2Bh BYTE ???
2Ch BYTE ???
2Dh BYTE ???
2Eh BYTE ???
2Fh BYTE ???
30h 4 BYTEs ???
34h BYTE ???
35h BYTE ???
36h BYTE ???
37h BYTE memory size in 64K units
38h BYTE ???
39h BYTE ???
3Ah BYTE ???
3Bh BYTE ???
3Ch BYTE ???
3Dh BYTE ???
3Eh BYTE ???
3Fh BYTE checksum (to make sum of all bytes MOD 256 == 00h)