Tseng Super VGA ET3000-AX 512k 8/16 bit Main chip -BX 512k 8 bit -Bp 256k 8 bit Basic chip ET4000 1M 8/16 bit ET4000/X32 will be released in '92 supporting 24bit colors, 4MB DRAM or VRAM and built-in accelerator. Registers: 102h: Microchannel Setup Control bit 0 Disable Card if set 3BFh (R/W): Hercules Compatability register 3C0h index 16h: ATC Miscellaneous (Write data to 3C0h, Read from 3C1h (May not be needed)) bit 4,5 High resolution timings. 3C3h (R/W): Microchannel Video Subsystem Enable Register: bit 0 Enable Microchannel VGA if set 3C4h index 6 (R/W): Zoom Control (ET3000 Only) bit 0-2 Yzoom factor 0=1:1 4-6 Xzoom factor 0=1:1 7 Hardware zoom enabled if set 3C4h index 7 (R/W): TS Auxiliary Mode bit 0 (ET3000 Only) Switch Normal Window if set (Text/Graph) 1 (ET3000 Only) Switch Zoom Window if set (Text/Graph) 2 (ET3000 Only) Switch Split Window if set (Text/Graph) 4 (ET3000 Only) If set 8 simultaneous fonts are enabled, using bit 3,4,6 of each attribute byte to select the font. 3,5 Rom Bios Enable/Disable: 0 0 C000-C3FF Enabled 0 1 Rom disabled 1 0 C000-C5FF,C680-C7FF Enabled 1 1 C000-C7FF Enabled 6 MCLK/2 if set 7 VGA compatible if set EGA else. 3CBh (R/W): PEL Address/Data Wd 3CDh (R/W): Segment Select bit 0-2 (ET3000) 64k Write bank nr 3-5 (ET3000) 64k Read bank nr 6-7 (ET3000) Segment Configuration. 0 128K segments 1 64K segments 2 1M linear memory 0-3 (ET4000) 64k Write bank nr (0..15) 4-7 (ET4000) 64k Read bank nr (0..15) 3CEh index Dh (R/W): Microsequencer Mode 3CEh index Eh (R/W): Microsequencer Reset 3d4h index 1Bh (R/W): X Zoom Start Address (ET3000 Only) bit 0-7 Offset of Zoom window start in character clocks (8 pixels) from left edge 3d4h index 1Ch (R/W): X Zoom End (ET3000 Only) bit 0-7 Offset of Zoom window end in char clocks from left edge 3d4h index 1Dh (R/W): Y Zoom Start Address (ET3000 Only) bit 0-7 Start line of zoom window bit 0-7 3d4h index 1Eh (R/W): Y Zoom End Address (ET3000 Only) bit 0-7 (ET3000 Only) End line of zoom window bit 0-7 3d4h index 1Fh (R/W): Y Zoom Start and End High (ET3000 Only) bit 0-2 End line of zoom window bit 8-10 3-5 Start line of zoom window bit 8-10 3d4h index 20h (R/W): Zoom Start Address Low (ET3000 Only) bit 0-7 Zoom Start Address bit 0-7 Address of Zoom data 3d4h index 21h (R/W): Zoom Start Address Middle (ET3000 Only) bit 0-7 Zoom Start Address bit 8-15 3d4h index 23h (R/W): Extended start ET3000 (ET3000 Only) bit 0 Cursor start address bit 16 1 Display start address bit 16 2 Zoom start address bit 16 3d4h index 24h (R/W): Compatibility Control bit 0 Enable Clock Translate 1 Additional Master Clock Select 2 Enable tri-state for all output pins 3 Enable input A8 of 1MB DRAMs 4 Reserved 5 Enable external ROM CRTC translation 6 Enable Double Scan and Underline Attribute 7 CGA/MDA/Hercules 3d4h index 25h (R/W): Overflow High ET3000 (ET3000 Only) bit 0 Vertical Blank Start bit 10 1 Vertical Total Start bit 10 2 Vertical Display End bit 10 3 Vertical Sync Start bit 10 4 Line Compare bit 10 5-6 Reserved 7 Vertical Interlace if set 3d4h index 32h (R/W): RAS/CAS Video Config Ram timing, System clock and Ram type. Sample values: 00h VRAM 80nsec 09h VRAM 100nsec 00h VRAM 28MHz 08h VRAM 36MHz 70h DRAM 40MHz 3d4h index 33h (R/W): Extended start ET4000 (ET4000 Only) bit 0-1 Display start address bits 16-17 2-3 Cursor start address bits 16-17 Can be used to ID ET4000 3d4h index 34h (R/W): Compatibility Control Register bit 3 if set Video Subsystem Enable Register at 46E8h else at 3C3h. 3d4h index 35h (R/W): Overflow High ET4000 (ET4000 Only) bit 0 Vertical Blank Start Bit 10 1 Vertical Total Bit 10 2 Vertical Display End Bit 10 3 Vertical Sync Start Bit 10 4 Line Compare Bit 10 5 Gen-Lock Enabled if set (External sync) 6 Read/Modify/Write Enabled if set. Currently not implemented. 7 Vertical interlace if set 3d4h index 36h (R/W): Video System Configuration 1 bit 3 16 bit wide fonts if set, else 8 bit wide 4 (ET4000 Only) Linear addressing if set Video Memory is mapped as a 1 Meg block above 1MB. 6 16 bit data path (video memory) if set 7 16 bit data (I/O operations) if set 3d4h index 37h (R/W): Video System Configuration 2 bit 0-1 Memory size 0,1=256k, 2=512k, 3=1M ??? 3 Clear if 64kx4 RAMs ??? if set RAM size = (bit 0-1)*256k else RAM size = (bit 0-1)* 64k 4 16 bit ROM access if set 5 Memory bandwidth (0 better than 1) ??? 7 VRAM installed if set DRAM else. bit 6? Block read ahead (BRA) if clear 3d4h index 3Fh (R/W): bit 7 This bit seems to be bit 8 of the CRTC offset register (3d4h index 13h). 3d8h (R/W): Display Mode Control 46E8h (R): Video Subsystem Enable Register bit 3 Enable VGA if set 3C4h index 05 used. Bank Switching: 64k banks are selected by the Segment Select Register at 3CDh. Both a Read and a Write segment can be selected. Hardware Zoom (ET3000 Only). The ET3000 can zoom a part of display memory in a window. The display memory position and window position are selected by 3d4h index 1Bh to 21h. Identify Tseng Chipset: outp($3BF,3); outp($3D8,$A0); {Enable ET4000 extensions} if tstrg($3CD,$3f) then if testinx2(base,$33,$f) then Tseng 4000 else Tseng 3000; Video Modes: 8 T 132 25 2 (STB only) Ah T 132 44 2 18h T 132 44 4 (8x8) B000 19h T 132 25 4 (9x14) B000 1Ah T 132 28 4 (9x13) B000 22h T 132 44 16 (8x8) 23h T 132 25 16 (8x14) 24h T 132 28 16 (8x13) 25h G 640 480 16 planar 26h T 80 60 16 (8x8) 27h G 720 512 16 planar (Tseng recommended, few boards) 29h G 800 600 16 planar 2Ah T 100 40 16 planar 2Dh G 640 350 256 packed 2Eh G 640 480 256 packed 2Fh G 640 400 256 packed (ET4000 Only) 2Fh G 720 512 256 packed (Tseng recommended, few boards) 30h G 800 600 256 packed 36h G 960 720 16 planar (STB only) 37h G 1024 768 16 planar 38h G 1024 768 256 packed (ET4000 Only) 3Dh G 1280 1024 16 planar (newer ET4000s) 3Eh G 1280 960 16 planar (Definicon) 3Eh G 640 480 32k Sierra 15-bit (Compaq Qvision) BIOS extensions (Tseng 4000 Sierra HiColor DAC): ----------1010E0----------------------------- INT 10 - VIDEO - SpeedStar 24 - SET TrueColor GRAPHICS MODE AX = 10E0h BL = 2Eh Return: AX = 0010h if successfull other on error Enters 24bit 640x480 mode if SS24 DAC present. Video memory is NOT cleared. Each line uses 2048 bytes with only 640x3=1920 bytes actually used. So that a line can never cross a 64K border. ----------1010F0----------------------------- INT 10 - VIDEO - Tseng ET-4000 BIOS - SET HiColor GRAPHICS MODE AX = 10F0h BL = video mode (see also AH=00h) 32768-color modes: 13h = 320x200 2Dh = 640x350 2Eh = 640x480 2Fh = 640x400 30h = 800x600 3Eh = 640x480 16M colors (Genoa 7900) 16M color modes: 3Eh = 640x480 (Genoa 7900) BX = 2DFFh = 640x350 (MEGAVGA/2) 2EFFh = 640x480 (MEGAVGA/2) 2FFFh = 640x400 (MEGAVGA/2) Return: AX = 0010h if successful other on error SeeAlso: AX=10F1h ----------1010F1----------------------------- INT 10 - VIDEO - Tseng ET-4000 BIOS - GET DAC TYPE AX = 10F1h Return: AX = 0010h if successful, errorcode if not BL = type of digital/analog converter 00h normal VGA DAC 01h Sierra SC1148x HiColor DAC (Diamond SpeedStar 24:) 02h New SS24 DAC (16M colors) (MEGAVGA/2 BIOS:) 02h Sierra Mark2 (15-bit) or Mark3 (16-bit) DAC 03h ATT20c491 or 492 15/16/24 bit HiColor DAC 04h AcuMos ADAC1 (15/16/24 bit) else other HiColor DAC SeeAlso: AX=10F0h ----------1010F2----------------------------- INT 10 - VIDEO - Tseng ET-4000 BIOS - GET/SET HiColor MODE AX = 10F2h BL = 00h Get current HiColor mode 01h Set 15bit HiColor mode 02h Set 16bit HiColor mode Return: AX = 0010h if successfull, errorcode if not BL = Current HiColor mode: 00h Not in HiColor mode or not a HiColor DAC 01h 15-bit RGB mode 02h 16-bit RGB mode 03h 24-bit RGB mode Note: Set HiColor mode (BL=1 or 2) only works if already in some HiColor mode. Notes: The sequence: port[$3BF]:=3; port[$3D8]:=$A0; is apparently needed to enable the extensions in the Tseng 4000. Most BIOSes do this by default, but some such as the Sigma VGA Legend requires this sequence. Let me know if you encounter any other examples.