4.13.01.0011 ------------ 11/04/2002 - Miscellaneous fixes with respect to the initial release: I. Removed several aggressive CRT timings for high resulution modes (specifically, 1152*864: 200 Hz; 1280*1024: 160 Hz; 1600*1200: 120 Hz; 1792*1344: 85 Hz, 90 Hz; 1856*1392: 85 Hz, 90 Hz; 1920*1440: 80 Hz, 85 Hz; 2048*1536: 70 Hz, 72 Hz, 75 Hz). Whoops, didn't realize that Voodoo 3/2000 only has 300 MHz RAMDAC frequency in place of 350 MHz. II. Corrected a typo in video mode listings, resulting in 1792*1344 mode being inaccessible as desktop resolution. III. Updated readme.txt file on possible issues using high refresh rates. IV. Added 140 Hz refresh rates where possible. 4.13.01.0010 ------------ 11/21/2001 - Put together a new driver set: I. Compiled the following files: Display and DirectX drivers - from 3dfx Voodoo Driver Kit 1.04.01 BETA Glide and OpenGL drivers - from x3dfx Voodoo Driver Kit 1.07.00 BETA II. Lost the .CAT file (version info not really needed with so many drivers floating around, but it makes reinstallation easier (Windows can never find those .CAT's, does it have an allergy on them?) III. Help files in various languages have been removed; the only help files are now in English, and are installed thru the .INF file, not SETUP.EXE. You will not have help in Spanish or German, but it fixed the problem where regional settings set to unknown language (not amongst the supported ones) would prevent the help file from being installed at all. IV. Rewrote the .INF file: 1. Integrated Voodoo 3 and Voodoo 5 Drivers into a single package. Whether the drivers are installed by 3dfx Tools or by hand, the correct set of options will be determined based on the card's Device ID. Lost Subvendor and Subsystem IDs (all that is needed to determine what options to install are Vendor and Device IDs). 2. Added new registry tweaks (much of which borrowed from x3dfx Community Drivers and X-ForceDGL, others determined from scratch by reading the Glide source code and experimenting). Removed tweaks known to be defunct (i.e. tweak variables that either do not exist or not used by the driver). Corrected the tweak descriptions that were known to be incorrect (e.g. Bump Mapping). Options that are known to only work with VSA-100 are only installed for VSA-100 based cards (not Voodoo 3). Added known info to help tips (right click/What's this?). Ditched category slots and other tweak availability autodetection bullcrap; user will now have to select correct values manually if they are to use tweaks at all. Removed 4x and 8x FSAA offsets - these take up too much space, 4x FSAA only works with Voodoo 5 5000+, and 8x (theoretically) should only work with Voodoo 5 6000+. Each value (except for some controls where there's no way to implement it) has DEFAULT option, which removes the corresponding value from the registry. Clicking FACTORY DEFAULTS in the 3dfx Advanced Features tab will remove all tweak values from the registry. Complete list of tweaks with corresponding variables: General: AGP Command FIFO (D3D\SSTH3_AGP_XRATE) Graphics Core/Memory Clock (DEFAULT\grxClock) VIA Chipset Compatibility (DEFAULT\SSTH3_VIA_COMPATIBILITY) Video Refresh Optimization (DEFAULT\SSTH3_VIDEO_REFRESH_OPTIMIZATION) Direct3D: 2 Pixel per Clock Rendering (D3D\SSTH3_2PPC) 2x FSAA X-Offset (Primary Buffer) (D3D\SSTH3_PRIBUFVTXOFFX_2SMPL) 2x FSAA X-Offset (Secondary Buffer) (D3D\SSTH3_SECBUFVTXOFFX_2SMPL) 2x FSAA Y-Offset (Primary Buffer) (D3D\SSTH3_PRIBUFVTXOFFY_2SMPL) 2x FSAA Y-Offset (Secondary Buffer) (D3D\SSTH3_SECBUFVTXOFFY_2SMPL) 3D Studio MAX 2.5 Compatibility (D3D\SSTH3_3DSMAX2.5) Adjacent Pixel Blending (D3D\SSTH3_PIXELCENTER) Alpha Blending Mode (D3D\SSTH3_ALPHADITHERMODE) Automatic MIP Map Generation (D3D\SSTH3_AUTOMIPMAP) Edge Anti-Aliasing (D3D\SSTH3_ANTIALIAS) Force Dither Matrix Flag (D3D\SSTH3_DITHMAT_FORCEFLAG) Frame Buffer Swapping Method (D3D\SSTH3_SWAPBUFFER_ALGO) Full Scene Anti-Aliasing Mode (D3D\SSTH3_SLI_AA_CONFIGURATION) Full Scene Anti-Aliasing Toggle Key (D3D\SSTH3_AAJITTER_TOGGLE_KEY) Guardband Clipping (D3D\SSTH3_GUARDBAND_CLIPPING) Hardware T&L Emulation (D3D\SSTH3_GEOMETRY_ASSIST) Image Filtering Mode (D3D\SSTH3_OVERLAYMODE) Iteration Banding (D3D\SSTH3_CBC) Loop Delay (D3D\SSTH3_LDELAY) Max Pending Frames (D3D\SSTH3_MAX_PENDING_BUFFERS) MIP Map Detail Bias (D3D\SSTH3_LOD_BIAS) MIP Map Dither Rotation (D3D\SSTH3_DITHER_ROTATION) MIP Map Dithering (D3D\SSTH3_LOD_DITHER) PSGP Capability (D3D\DISABLEPSGP) Rendering Color Depth (D3D\SSTH3_32BPP_RENDERING) Scan Line Height (D3D\SSTH3_2PPC_LOG2_BAND_HEIGHT) Scan Line Interleave Mode (D3D\SSTH3_DIGITAL_SLI_AA) Screen Capture Key (D3D\SSTH3_SCREENSHOT_TOGGLE_KEY) SLI Compatibility Settings (D3D\SSTH3_SLI_COMPATIBILITY_SETTINGS) Stereo Glasses (D3D\SSTH3_STEREO) Z Buffer Clearing Opitimization (D3D\SSTH3_Z_CLEAR_OPTIMIZATION) Glide/OpenGL 16-bit Depth Precision (OpenGL Only) (Glide\FX_GL_16BPP_ZPRECISION) 16-bit Mode Gamma Offset (Glide\FX_GLIDE_16BPPGAMMAOFFSET) 2 Pixel per Clock Rendering (Glide\FX_GLIDE_2PPC) 2x FSAA X-Offset (Primary Buffer) (Glide\FX_GLIDE_AA2_OFFSET_X0) 2x FSAA X-Offset (Secondary Buffer) (Glide\FX_GLIDE_AA2_OFFSET_X1) 2x FSAA Y-Offset (Primary Buffer) (Glide\FX_GLIDE_AA2_OFFSET_Y0) 2x FSAA Y-Offset (Secondary Buffer) (Glide\FX_GLIDE_AA2_OFFSET_Y1) 32-bit Depth Precision (OpenGL Only) (Glide\FX_GL_32BPP_ZPRECISION) 3dfx Overlay Logo (Glide\FX_GLIDE_SHAMELESS_PLUG) A0 Read Abort (Glide\FX_GLIDE_A0_READ_ABORT) AGP Command FIFO Size (Glide\FX_GLIDE_BUMPSIZE) Alpha Blending Mode (Glide\SSTH3_ALPHADITHERMODE) Brightness (Glide\FX_GLIDE_BRIGHTNESS) Color Buffering Mode (Glide\FX_GLIDE_ALLOC_COLOR) Contrast (Glide\FX_GLIDE_CONTRAST) CPU Type (Glide\FX_CPU) Debug File Name (Glide\GDBG_FILE) Debug Verbosity (Glide\GDBG_LEVEL) Edge Anti-Aliasing (Glide\FX_GLIDE_AA_SAMPLE) Emulate Voodoo Rush (Glide\FX_GLIDE_EMUL_RUSH) Force 16-bit Textures (OpenGL Only) (Glide\FX_GL_FORCE_16BPP_TEXTURES) Force Old Anti-Aliasing Method (Glide\FX_GLIDE_FORCE_OLD_AA) Force PCI DeviceID (Glide\FX_GLIDE_DEVICEID) Full Scene Anti-Aliasing Mode (Glide\SSTH3_SLI_AA_CONFIGURATION) Full Scene Anti-Aliasing Toggle Key (Glide\FX_GLIDE_AA_TOGGLE_KEY) FXT1 Texture Compression (OpenGL Only) (Glide\FX_GL_COMPRESS_LEGACY_TEXTURES) Guardband Clipping (Glide Only) (Glide\FX_GLIDE_GBC) Guardband Clipping (OpenGL Only) (Glide\FX_GL_GUARDBAND_ENABLED) Hidden Surface Removal (OpenGL Only) (Glide\FX_GL_HSR) Ignore Graphic Context Reopen (Glide\FX_GLIDE_IGNORE_REOPEN) Image Filtering Mode (Glide\SSTH3_OVERLAYMODE) Limit Texture Memory to 2M (Glide\FX_GLIDE_TMU_MEMSIZE) Max Pending Frames (Glide\FX_GLIDE_SWAPPENDINGCOUNT) Min Vertex Stride (OpenGL Only) (Glide\FX_GL_MIN_VERTEX_STRIDE) MIP Map Detail Bias (Glide\FX_GLIDE_LOD_BIAS) MIP Map Dithering (Glide\FX_GLIDE_LOD_DITHER) Number of Chips (Glide\FX_GLIDE_NUM_CHIPS) Number of TMUs (Glide\FX_GLIDE_NUM_TMU) Override Application Gamma (Glide\FX_GLIDE_USE_APP_GAMMA) Override Application Refresh (Glide\FX_GLIDE_USE_APP_REFRESH) P6 Fencing Limit (Glide\FX_GLIDE_FENCE_LIMIT) Rendering Color Depth (Glide\FX_GLIDE_BPP) Scan Line Height (Glide\FX_GLIDE_2PPC_BAND) Scan Line Interleave Mode (Glide\FX_GLIDE_ANALOG_SLI) Screen Capture Key (Glide\FX_GLIDE_SCREENSHOT_KEY) Skip Screen Updates (Glide\FX_GLIDE_NO_HW) Startup Splash Screen (Glide\FX_GLIDE_NO_SPLASH) Total Video Memory Size (Glide\FX_GLIDE_FBRAM) Triangle Bounds Check (Glide\FX_GLIDE_BOUNDS_CHECK) Use AGP Command FIFO (Glide\FX_GLIDE_BUMP) Vertical Sync (Glide\FX_GLIDE_SWAPINTERVAL) Z Buffering (OpenGL Only) (Glide\FX_GL_SUPER) Z Culling (OpenGL Only) (Glide\FX_GL_ZCULL_ENABLE) Z Culling Far Threshold (OpenGL Only) (Glide\FX_GL_ZCULL_FAR) Z Culling Near Threshold (OpenGL Only) (Glide\FX_GL_ZCULL_NEAR) Note that the knowledge on what these variables do, or supposed to do, or whether they affect anything at all, and what are their valid values, is neither accurate nor complete. A lot of these might be defunct, or not do what I think they should do. Learn yourself - but it's often a lot of frustration. To really find things out, you will need a disassembler and some heavy knowledge of assembly language and Win32 API. 3. Reset and recomputed all CRT display timings. All video modes now use the driver's built in GTF capability, except for those which requre doublescan (320*200, 320*240, and 400*300) and those whose horizontal frequency drops below 30 kHz, for which timings were calculated by hand again using GTF (built in GTF does not support doublescan). Removed all non-4/3 video modes except the standard 320*200, 640*400, and 1280*1024. Removed TV Out and Digital Flat Panel support since very few boards are equipped with TV out or DFP connectors, and even less actually use these. Optimal refresh limits for both specific model and generic monitors have been increased from 85 Hz to 200 Hz (although Windows will likely still not set anything higher than 85 when Optimal). Doublescan for 512*384 has been removed (looks better on low end monitors and allows for higher refresh rates; you probably don't play games at 512*384 on a 21" monster anyway). Complete list of supported resolutions and refresh rates: 320, 200 70 72 75 80 85 90 100 120 160 200 320, 240 60 70 72 75 80 85 90 100 120 160 200 400, 300 60 70 72 75 80 85 90 100 120 160 200 512, 384 75 80 85 90 100 120 160 200 640, 400 70 72 75 80 85 90 100 120 160 200 640, 480 60 70 72 75 80 85 90 100 120 160 200 800, 600 60 70 72 75 80 85 90 100 120 160 200 960, 720 60 70 72 75 80 85 90 100 120 160 200 1024, 768 60 70 72 75 80 85 90 100 120 160 200 1152, 864 60 70 72 75 80 85 90 100 120 160 200 1280, 960 60 70 72 75 80 85 90 100 120 160 1280,1024 60 70 72 75 80 85 90 100 120 160 1600,1200 60 70 72 75 80 85 90 100 120 1792,1344 60 70 72 75 80 85 90 1856,1392 60 70 72 75 80 85 90 1920,1440 60 70 72 75 80 85 2048,1536 60 70 72 75 Note: although it is unlikely, new timings may cause problems with some monitors. Use these drivers with caution if you have some 13" or 14" dinosaur plugged into your Voodoo card. Modern multisync monitors should have no problems provided that they return correct PnP info about themselves and that their drivers allow settings that do not exceed their capabilities. Reason for change: consistent support of standard and enhanced refresh rates across all resolutions (was not the case before). Refer to README.TXT for troubleshooting. View 3DFXVS.INF to find out how the timings are calculated. 4. Different help files are instelled for Voodoo 3 versus Voodoo 4/5, but, as mentioned above, only in English. Help files are taken from the latest 3dfx/x3dfx official betas or releases for both cards. V. Changed 3DFXDRV.INI file to implement multiple Device ID support and so that 3dfx Tools setup will now ask you whether you want to install the drivers when installing the tools, therefore you don't have to necessarily reinstall the drivers if you just want to reinstall the tools. VI. Expanded README.TXT to include more troubleshooting info, especially on the monitor issues that may surface. To Do List (possibly in the next versions, though unlikely): 1. Modify 3dfx Tools installation so that it does not add any bullcrap to Windows registry that runs every time on startup (like overclock checking or system tray icon, which can still be enabled by going to display properties). 2. Modify 3dfx Tools installation so that it does not force you to reboot upon install/uninstall. 3. Implement subfolders/subcategories to group tweak settings by relevance. Have not yet figured out how to create a recursive directory structure under 3dfx Advanced Features page. 4. Add interlaced video modes for 1280*1024 and higher in order to allow high resolutions on lower end monitors. Have not yet figured out how interlaced timings work. Pa3PyX pa3pyx87405703@icqmail.com http://pa3pyx.come.to/