Trident SuperVGA Trident 8800BR 512k Only 128K banks. 8800CS 512k 8900 1M The Trident 8800 chips have a problem with 256 color modes, as they always double the pixels output in 256 color mode. Thus a 640x400 256 color mode (5Ch) actually uses a 1280x400 frame, requiring at least a multi sync monitor. This problem is fixed on the 8900. 100h (R/W?): Microchannel ID low bit 0-7 Card ID bit 0-7 101h (R/W?): Microchannel ID high bit 0-7 Card ID bit 8-15 3C3h (R/W): Microchannel Video Subsystem Enable Register: bit 0 Enable Microchannel VGA if set 3C4h index Bh (R): Chip Version bit 0-3 Chip ID 1 = TR 8800BR 2 = TR 8800CS 3 = TR 8900 4-7 Reserved Note: Writing to index Bh selects old mode registers. Reading from index Bh toggles between old and new mode registers. 3C4h index Ch (R/W): Power Up Mode Register 1 3C4h index Dh (R/W): Old Mode Control 2 bit 0-2 Emulation mode 0=VGA, 3=EGA, 5=CGA,MDA,Hercules 4 Enable Paging mode if set 3C4h index Dh (R/W): New Mode Control 2 Contains timing info Note: The old/new Mode Control 1/2 registers are selected by reading and writing the Chip version register (index Bh). 3C4h index Eh (R/W): Old Mode Control 1 bit 0 (8900 Only) CRTC Address bit 17 (Show from upper 512kb if set) 1-2 128kb Bank number (0-3) 3 16 bit interface if set 3C4h index Eh (R/W): New Mode Control 1 bit 0-3 64k Bank nr. For write ops. xor bank number with 2, for read ops use bank number directly. 4-7 Reserved Note: The old/new Mode Control 1/2 registers are selected by reading and writing the Chip version register (index Bh). 3C4h index Fh (R/W): Power-up Mode 2 bit 0-3 Switch settings 4 Bus type 5 I/O address 3xx or 2xx 6 Enable ON-Card ROM if set 7 16 bit ROM access if set 3d4h index 1Eh (R/W): Module Testing Register bit 2 Vertical interlace if set 5 CRTC starting address bit 16 7 (8900 Only) Host address bit 16. Enables 128k CRTC address if set 3d4h index 1Fh (R/W): Software Programming Register (8900 Only) bit 0-1 Memory size 0=256k, 1=512k, 2=768k, 3=1M. 3d4h index 1Fh (R/W): Scratch Register (8800 Only) bit 0 Paged memory mode in effect 1 Memory size 0=256k, 1=512k 2 Analog monitor attached 3 44.9 MHz oscilator present Note: This register is set by software. 3d4h index 22h (R): CPU Latch Read Back bit 0-7 Data Latch value for current read plane. 3d4h index 24h (R): Attribute State Read Back bit 0-6 Reserved 7 Attribute Controller State If set the next write to 3C0h will go to the data register, if clear to the index register. 3d4h index 26h (R): Attribute Index Read Back bit 0-7 Attribute Index Register value 46E8h (R): Video Subsystem Enable Register bit 3 Enable VGA if set Bank selection: Trident VGAs can operate in 2 different modes: Old Mode, with a 128k window to display memory at A000h - BFFFh and New Mode, with a 64k window to display memory at A000h - AFFFh. Old/New mode is selected by reading/writing the Chip Version Register (3C4h index 0Bh). Each mode has its own registers at 3C4h index 0Dh and 0Eh. ID Trident VGA: port[$3c4]:=14; old_value:=port[$3c5]; port[$3c5]:=0; value:=port[$3c5] and 15; port[$3c5]:=old_value; if value=2 then TRIDENT VGA !!! ID which Trident: portw[$3c4]:=11; {Force old definitions} if port[$3c5]>=3 then TRIDENT_8900 !!! else TRIDENT_8800 !!! Video Modes: 50h T 80 30 16 (8x16) 51h T 80 43 16 (8x11) 52h T 80 60 16 (8x8) 53h T 132 25 16 (8x14) 54h T 132 30 16 (8x16) 55h T 132 43 16 (8x11) 56h T 132 60 16 (8x8) 57h T 132 25 16 (9x14) 58h T 132 30 16 (9x16) 59h T 132 43 16 (9x11) 5Ah T 132 60 16 (9x8) 5Bh G 800 600 16 planar 5Ch G 640 400 256 packed 5Dh G 640 480 256 packed 5Eh G 800 600 256 packed (Undocumented on 8800) 5Fh G 1024 768 16 planar 60h G 1024 768 4 8900 Only 61h G 768 1024 16 planar 62h G 1024 768 256 packed 8900 Only ZyMOS POACH51 modes: 60h G 960 720 16 planar 61h G 1280 640 16 planar 62h G 512 512 256 packed 63h G 720 540 16 planar 64h G 720 540 256 packed 6Ah G 800 600 16 planar Everex Viewpoint use Everex modes. Bios extensions: ----------1000------------------------------- INT 10 - VIDEO - SET VIDEO MODE .... Return: AH = Status of call: (Trident Super VGA Chips) Trident 8800 Trident 8900 00h Succesfull do 80h Fail. Wrong switch do 81h Insufficient Video do Memory. 82h The 36MHz crystal Mode not supported cannot support the mode 83h The 40MHz crystal Mode not supported cannot support the mode. 84h The 44.9MHz crystal Mode not supported cannot support the mode. 85h Dead or no crystal 86h Wrong CRTC base for dual screen 87h Text mode not supported