Copyright (C) 2000-2012 |
Manpages svgalib.et4000Section: Svgalib User Manual (7)Updated: 31 July 1997 Index Return to Main Contents NAMEsvgalib.et4000, libvga.et4000 - Information for Tseng ET4000 usersTABLE OF CONTENTSNOTE: The ET4000 register layout changed stepping from svgalib 0.98 to 0.99. See 8. Problems below first
1. Basics of ET4000 cards
1. BASICS OF ET4000 CARDSBasicly all ET4000 cards are equal, some are even more equal ... The Chipset is well documented (by Tseng Labs and eg. the vgadoc2.zip) and all graphics functions can be used the same way on different cards (including the ET4000/W32 based ones). There are three important points to be kept in mind:
2. HOW TO CONFIGURE SVGALIBsvgalib(7) has a somewhat 'standard' registers set that may work with modern ET4000 cards. If svgalib(7) fails on your machine or you have a HiColor dac, you need to configure your svgalib(7). The svgalib(7) may use hard linked or dynamical linked register values. If you use hard linked values, the binary will be smaller and start up faster but might fail on other machines. Compiling the svgalib(7) with DYNAMIC defined (see Makefile.cfg) will set up dynamic register loading. Otherwise the value from svgalib/et4000.regs will be hard linked. The dynamic configuration will be read from /etc/vga/libvga.et4000 which is an ASCII file (see Makefile.cfg for exact naming). If you have a working et4000.regs for your system just copy this file to /etc/vga/libvga.et4000 or link /etc/vga/libvga.et4000 to your svgalib/et4000.regs file. The actual scanner/parser will handle the following entries:
with
<MODE> ::= 'g'<decimal>x<decimal>x<color><ignored>
C style comments will be skipped. See the et4000/ subdirectory of the svgalib distribution for examples. 3. CREATING CARD DEPENDENT REGISTER VALUESYou may create a et4000.regs on your own with the tseng3.exe program. This DOS program and its source is included in the svgalib distribution. Just boot MS-DOS and start tseng3 et4000.reg The tseng3.exe will measure the video timing for each available mode. Check the et4000.regs file against your monitor documentation and disable all non conformant modes, eg.
#define g1024x768x256_regs DISABLE_MODE
will disable the 1024x768x256 mode. You mustn't disable the 640x480x256 mode! Your et4000.regs must define the following symbols (register values or #define ... DISABLE_MODE) for hard linking: g320x200x32K_regs, g640x400x256_regs, g640x480x256_regs, g640x480x32K_regs, g640x480x16M_regs, g800x600x16_regs, g800x600x256_regs, g800x600x32K_regs, g1024x768x16_regs, g1024x768x256_regs, and g1280x1024x16_regs. and all 64K modes handled like 32K modes by the driver:
#define g320x200x64K_regs g320x200x32K_regs
You may omit every unusable mode in /usr/lib/libvga.et4000. 4. DEFINING NEW MODESAll standard svgalib(7) modes may be selected by the mode constants defined in #include<vga.h> (eg. G320x200x16). You may define new modes on your own. Just use dynamic register loading and add the register definition of the new mode. Your program may determine the related modenumber by checking the vga_getmodeinfo(1..vga_lastmodenumber()).
Most ET4000 cards provide 640x350 and 640x400 graphics modes. The
tseng3.exe
generates the related register sets. You may also use
dumpreg(1)
from an X window to grab you favourite X graphics mode.
The X mode normaly isn't usable directly. See
cardex.w32
for an example and
et4000.c
for a brief description of et4000 registers (both files are included in the
svgalib distribution).
5. REDEFINING STANDARD MODESUsing dynamic register loading you may redefine any standard VGA mode except of TEXT and 640x480x16. Just add the ET4000 specific register set to /etc/vga/et4000.regs. 6. AVAILABLE EXAMPLESIn the et4000/ subdir of teh svgalib distribution you'll find some sample register sets:
7. ET4000/W32 SUPPORTThe actual driver seems to be ET4000/W32 compatible. Tell us about any problems (and solutions). If you've got any information about the ET4000/W32 blitter, we would be pleased to receive it. 8. PROBLEMSAs mentioned before, the DAC detection isn't very reliable. vgatest(6) should print equal screens in 256 color and HiColor/TrueColor modes. You may have to edit your libvga.et4000 register file by hand to setup the correct DAC. The tseng3.exe may fail due to incompatible mode numbering. You might use a VESA driver (eg. tlivesa.com from VPIC 6.0) or edit and recompile the tseng3.exe. Newer ET4000 chipsets (eg. W32 and W32i) allow up to 32 clock frequencies. Two additional register values were added just before the old extened register value. The new registers are CRTC/30h and CRTC/31h. The old register set had 71 values, the new growed to 73. You may update your old register set by hand:
9. USING DYNAMIC LOADING WITH OTHER CARDSThe dynamical register loading may be used in other drivers. Since hard linked register values work fine for Cirrus and Trident cards, we didn't include this feature.
FILES/etc/vga/libvga.config/etc/vga/libvga.et4000 SEE ALSOsvgalib(7), libvga.config(5).AUTHORThis documentation for the ET4000 registers was provided by Hartmut Schirmer. However, it was slightly reformatted by Michael Weller <eowmob@exp-math.uni-essen.de>.
Index
This document was created by man2html, using the manual pages. Time: 17:55:15 GMT, October 11, 2024 |