Trident SuperVGA Trident 8800BR 512k Only 128K banks. 8800CS 512k 8900 1M 8900C 1M 9000 Low component version LCD9100 LX9200 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. Apparently Trident BIOS version 3.xx or later on a 8900 will support HiColor DACs Anybody got the details (modes, which DACs ...)?. 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 = TR 8900C (Some sources say 3) 4-7 Reserved for 8800. For 8900/9000: 0=8900B, 1=8900C, 2=9000, 8=LX9200, 9=LCD9100. Note: Writing to index Bh selects old mode registers. Reading from index Bh toggles between old and new mode registers. Note: Writing to this register in order to force old mode registers should be done with two 8bit writes, not one 16bit write. 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 If set I/O address are at 3xxh, else at 2xxh. 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 oscillator 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: wrinx($3c4,11,0); {Force old_mode_registers} chp:=inp($3c5); {Read chip ID and switch to new_mode_registers} old:=rdinx($3c4,14); outp($3c5,0); value:=inp($3c5) and 15; outp($3c5,old); if value=2 then case chp of 1:Trident TR8800BR; 2:Trident TR8800CS; 3:Trident TR8900; $13:Trident TR8900C; $23:Trident TR9000; $83:Trident LX9200; $93:Trident LCD9100 end; 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 Successful 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