Interrups | Categories | Contents |
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 writingReturn:
CH = current value, if reading 02h read/write register in MGA control space BH = direction and sizebit 4:
Read register instead of writingbits 1-0:
Data size (00 = BYTE, 01 = WORD, 10 = DWORD) SI = register address CL/CX/ECX = new value if writingReturn:
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 byte SI = offset of byte relative to start of BIOS imageReturn:
CL = specified byte elseReturn:
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
See Also: MEM C000h:7FFCh"Matrox"
Format of Matrox-specific VESA extensions information: Offset Size Description (Table 00125) 00h 7 BYTEs signature "VBE/MGA" 07h 10 BYTEs ??? (01h 01h 00h 00h 00h 00h 00h 00h 00h 07h) 11h WORD BIOS version (high byte = major, low byte = one-digit minor) 13h DWORD -> manufacturer name (ASCIZ "Matrox") 17h DWORD -> ASCIZ card name 1Bh DWORD -> ??? ASCIZ string (empty string on card examined) 1Fh DWORD -> ASCIZ vendor name 23h DWORD -> ASCIZ BIOS file base name 27h DWORD -> PINS 2Bh WORD video memory size in 64K units 2Dh DWORD linear address of linear frame buffer 31h DWORD 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 DWORD 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)
Category: Uncatagorized - Int 10h - V
Interrups | Categories | Contents |