VOGONS


First post, by firage

User metadata
Rank Oldbie
Rank
Oldbie

3dfx's V1 & V2 Glide source code releases were commented with exhaustive lists of environment variables, with descriptions:

3dfx Voodoo Graphics (SST-1), Glide 2.46

3dfx Voodoo Graphics (SST-1), Glide 2.46

The following environment variables can optionally be used to alter
functionality (A value of X is a "don't care"):

Variable Value Description
-------- ----- -----------
SST_ARCADE X Allow special configs for arcade use
SST_BACKPORCH hex Specify value of backPorch video register
SST_BOARDS val Specify number of SST-1 boards in system
SST_DEBUGDAC X Print out debug information for DAC reads and writes
SST_DIMENSIONS hex Specify value of videoDimensions register
SST_FASTMEM 1 Default. Enable fast memory timing
SST_FASTMEM 0 Disable fast memory timing
SST_FASTPCIRD X Enable fast PCI reads
SST_FBICFG hex Specify FBI configuration strapping bits
SST_FBIMEM_SIZE val Specify amount of frame buffer memory
SST_FT_CLK_DEL hex Fbi-to-Trex clock delay value
SST_GAMMA float Floating point value for gamma correction
SST_GRXCLK val 16 <= Frequency < 80 (50 is default)
SST_HSYNC hex Specify value of hSync video register
SST_IGNORE_INIT_GAMMA X Bypass sst1InitGamma call and return
SST_IGNORE_INIT_REGISTERS X Bypass sst1InitRegisters call and return
SST_IGNORE_INIT_VIDEO X Bypass sst1InitVideo call and return
SST_IGNORE_SLI_CHECK X Ignore checking for proper SLI install
SST_INITDEBUG X Enable debug output
SST_INITDEBUG_FILE file File to direct all debug output
SST_MEMFIFO 0 Disable FBI Memory FIFO
SST_MEMFIFO 1 Enable FBI Memory FIFO
SST_MEMFIFO_ENTRIES hex Set number of entries in memory fifo
SST_MEMFIFO_HWM hex Set memory fifo high water mark
SST_MEMFIFO_LFB 0 or 1 Specify LFB writes through Memory FIFO
SST_MEMFIFO_LWM hex Set memory fifo low water mark
SST_MEMFIFO_TEX 0 or 1 Specify Texture writes through Mem FIFO
SST_MEMOFFSET hex Specify value of memoffset video register
SST_NOCHECKHANG X Do not Check for FBI Hangs for texturing
SST_NODEVICEINFO X Ignore calls to sst1InitFillDeviceInfo()
SST_NOSHUTDOWN X Do not turn off monitor refresh on call to sst1InitShutdown()
SST_PCIFIFO_LWM hex Set pci fifo low water mark
SST_PFT_CLK_DEL hex Preliminary Fbi-to-Trex clock delay value
SST_PTF0_CLK_DEL hex Prelim TMU2Fbi clock delay value (TMU #0)
SST_PTF1_CLK_DEL hex Prelim TMU2Fbi clock delay value (TMU #1)
SST_PTF2_CLK_DEL hex Prelim TMU2Fbi clock delay value (TMU #2)
SST_SLIDETECT 0 or 1 Specify Scanline Interleaving detection
SST_SLIM_VIN_CLKDEL hex Specify FBI internal video clock delay (SLI Master)
SST_SLIM_VOUT_CLKDEL hex Specify FBI external video clock delay (SLI Master)
SST_SLIS_VIN_CLKDEL hex Specify FBI internal video clock delay (SLI Slave)
SST_SLIS_VOUT_CLKDEL hex Specify FBI external video clock delay (SLI Slave)
SST_SCREENREFRESH 60 Select 60Hz monitor refresh rate (overrides argument to sst1InitVideo)
SST_SCREENREFRESH 75 Select 75Hz monitor refresh rate
SST_SCREENREZ 512 Select 512x384 video resolution (overrides argument to sst1InitVideo)
SST_SCREENREZ 640 Select 640x480 video resolution
SST_SCREENREZ 800 Select 800x600 video resolution
SST_SLOWPCIWR X Enable 1 wait-state PCI writes
SST_TEXMAP_DISABLE X Disable texture mapping
SST_TF0_CLK_DEL hex Trex-to-Fbi clock delay value (TMU #0)
SST_TF1_CLK_DEL hex Trex-to-Fbi clock delay value (TMU #1)
SST_TF2_CLK_DEL hex Trex-to-Fbi clock delay value (TMU #2)
SST_TF_FIFO_THRESH hex Set TREX-to-FBI FIFO threshold
SST_TILESINX hex Specify value of tilesInX video register
Show last 26 lines
SST_TMUCFG                  hex     Specify TMU configuration strapping bits
SST_TMUMEM X Enable accurate determination of TMU mem
SST_TMUMEM_SIZE val Specify amount of texture memory
SST_TREX0INIT0 hex Set trexInit0 register value - TMU #0
SST_TREX0INIT1 hex Set trexInit1 register value - TMU #0
SST_TREX1INIT0 hex Set trexInit0 register value - TMU #1
SST_TREX1INIT1 hex Set trexInit1 register value - TMU #1
SST_TREX2INIT0 hex Set trexInit0 register value - TMU #2
SST_TREX2INIT1 hex Set trexInit1 register value - TMU #2
SST_TRIPLE_BUFFER X Enable Triple Buffering
SST_VIN_CLKDEL hex Specify FBI internal video clock delay
SST_VOUT_CLKDEL hex Specify FBI external video clock delay
SST_VGA_PASS 0,1 Force VGA_PASS output to {0,1}
SST_VIDCLK2X val Video clock frequency (2x dot clock)
SST_VIDEO_24BPP 0 Select 16-bit video output
SST_VIDEO_24BPP 1 Select 24-bit video output
SST_VIDEO_DISABLE X Turn off Video/Monitor refresh in FBI
SST_VIDEO_FILTER_DISABLE X Disable video filtering
SST_VIDEO_FILTER_THRESHOLD hex Set video filtering threshold
SST_VIDEO_NOCLEAR X Do not clear buffers in sst1InitVideo()
SST_VIDEO_CLEARCOLOR hex Clear screen color
SST_VFIFO_THRESH 0-31 Select video fifo threshold
SST_VSYNC hex Specify value of vSync video register

VOODOO_FILE name Filename used in place of "voodoo.ini"
VOODOO_PATH path Path used to locate "voodoo.ini" file

3dfx Voodoo2 (CVG), Glide 2.53

3dfx Voodoo2 (CVG), Glide 2.53

The following environment variables can optionally be used to alter functionality (A value of X is a "don't care"):

Variable Value Description
-------- ----- -----------
SSTV2_ARCADE X Allow special configs for arcade use
SSTV2_ALLOC_AUX {0,1} Number of aux. buffers to allocate
SSTV2_ALLOC_COLOR {2,3} Number of color buffers to allocate
SSTV2_BACKPORCH hex Specify value of backPorch video register
SSTV2_BOARDS val Specify number of SST-1 boards in system
SSTV2_CMDFIFO_DIRECT X Enable Direct Execution of CMDFIFO
SSTV2_CMDFIFO_NOHOLES X Disable hole counting feature in CMDFIFO
SSTV2_DEBUGDAC X Print out debug information for DAC reads and writes
SSTV2_DEVICEID X Specify the device ID value passed to the PCI library
SSTV2_DIMENSIONS hex Specify value of videoDimensions register
SSTV2_FASTMEM_RAS_READS X Allow fast ras reads
SSTV2_FASTPCIRD X Enable fast PCI reads
SSTV2_FBICFG hex Specify FBI configuration strapping bits
SSTV2_FBI_MEMSIZE val Specify amount of frame buffer memory
SSTV2_FT_CLKDEL hex Fbi-to-Trex clock delay value
SSTV2_GAMMA float Floating point value for gamma correction
SSTV2_GRXCLK val 16 <= Frequency < 80 (50 is default)
SSTV2_HSYNC hex Specify value of hSync video register
SSTV2_IGNORE_CLKDELAYS X Ignore calls to sst1InitSetClkDelays()
SSTV2_IGNORE_IDLE X Ignore calls to sst1InitIdle*()
SSTV2_IGNORE_INIT_GAMMA X Bypass sst1InitGamma call and return
SSTV2_IGNORE_INIT_REGISTERS X Bypass sst1InitRegisters call and return
SSTV2_IGNORE_INIT_VIDEO X Bypass sst1InitVideo call and return
SSTV2_INITDEBUG X Enable debug output
SSTV2_INITDEBUG_FILE file File to direct all debug output
SSTV2_MEMFIFO 0 Disable FBI Memory FIFO
SSTV2_MEMFIFO 1 Enable FBI Memory FIFO
SSTV2_MEMFIFO_ENTRIES hex Set number of entries in memory fifo
SSTV2_MEMFIFO_HWM hex Set memory fifo high water mark
SSTV2_MEMFIFO_LFB {0,1} Specify LFB writes through Memory FIFO
SSTV2_MEMFIFO_LWM hex Set memory fifo low water mark
SSTV2_MEMFIFO_TEX {0,1} Specify Texture writes through Mem FIFO
SSTV2_MEMOFFSET hex Specify value of memoffset video register
SSTV2_NOCHECKHANG X Do not Check for FBI Hangs for texturing
SSTV2_NODEVICEINFO X Ignore calls to sst1InitFillDeviceInfo()
SSTV2_NOSHUTDOWN X Do not turn off monitor refresh on call to sst1InitShutdown()
SSTV2_NUM_TMUS {1,2,3} Specify number of TMUs detected
SSTV2_PCIFIFO_LWM hex Set pci fifo low water mark
SSTV2_PFT_CLKDEL hex Preliminary Fbi-to-Trex clock delay value
SSTV2_PTF0_CLKDEL hex Prelim TMU2Fbi clock delay value (TMU #0)
SSTV2_PTF1_CLKDEL hex Prelim TMU2Fbi clock delay value (TMU #1)
SSTV2_PTF2_CLKDEL hex Prelim TMU2Fbi clock delay value (TMU #2)
SSTV2_SIPROCESS_CNTR hex Silicon process monitor PCI counter load
SSTV2_SLIDETECT {0,1} Specify Scanline Interleaving detection
SSTV2_SLIM_VIN_CLKDEL hex Specify FBI internal video clock delay (SLI Master)
SSTV2_SLIM_VOUT_CLKDEL hex Specify FBI external video clock delay (SLI Master)
SSTV2_SLIS_VIN_CLKDEL hex Specify FBI internal video clock delay (SLI Slave)
SSTV2_SLIS_VOUT_CLKDEL hex Specify FBI external video clock delay (SLI Slave)
SSTV2_SCREENREFRESH {60,75, Select monitor refresh rate
85,120}
SSTV2_SCREENREZ {512, Select monitor resolution (512x384)
512256, (512x256)
640400, (640x400)
640, (640x480)
Show last 40 lines
                              800,    (800x600)
856, (856x600)
960, (960x720)
1024} (1024x768)
SSTV2_SLOWMEM_RTW X Insert wait state for read-to-write transitions
SSTV2_SLOWMEM_WTR X Insert wait state for write-to-read transitions
SSTV2_SLOWPCIWR X Enable 1 wait-state PCI writes
SSTV2_SLISWAP 1 Use dac_data[0] for SLI swapping
SSTV2_SWAPBOARDS X Swap order of mapping boards
SSTV2_TEXMAP_DISABLE X Disable texture mapping
SSTV2_TF0_CLKDEL hex Trex-to-Fbi clock delay value (TMU #0)
SSTV2_TF1_CLKDEL hex Trex-to-Fbi clock delay value (TMU #1)
SSTV2_TF2_CLKDEL hex Trex-to-Fbi clock delay value (TMU #2)
SSTV2_TF_FIFO_THRESH hex Set TREX-to-FBI FIFO threshold
SSTV2_TILESINX hex Specify value of tilesInX video register
SSTV2_TMUCFG hex Specify TMU configuration strapping bits
SSTV2_TMUMEM X Enable accurate determination of TMU mem
SSTV2_TMU_MEMSIZE val Specify amount of texture memory
SSTV2_TREX0INIT0 hex Set trexInit0 register value - TMU #0
SSTV2_TREX0INIT1 hex Set trexInit1 register value - TMU #0
SSTV2_TREX1INIT0 hex Set trexInit0 register value - TMU #1
SSTV2_TREX1INIT1 hex Set trexInit1 register value - TMU #1
SSTV2_TREX2INIT0 hex Set trexInit0 register value - TMU #2
SSTV2_TREX2INIT1 hex Set trexInit1 register value - TMU #2
SSTV2_VIN_CLKDEL hex Specify FBI internal video clock delay
SSTV2_VOUT_CLKDEL hex Specify FBI external video clock delay
SSTV2_VGA_PASS {0,1} Force VGA_PASS output to {0,1}
SSTV2_VIDCLK2X val Video clock frequency (2x dot clock)
SSTV2_VIDEO_24BPP 0 Select 16-bit video output
SSTV2_VIDEO_24BPP 1 Select 24-bit video output
SSTV2_VIDEO_DISABLE X Turn off Video/Monitor refresh in FBI
SSTV2_VIDEO_FILTER_DISABLE X Disable video filtering
SSTV2_VIDEO_FILTER_THRESHOLD hex Set video filtering threshold
SSTV2_VIDEO_NOCLEAR X Do not clear buffers in sst1InitVideo()
SSTV2_VIDEO_CLEARCOLOR hex Clear screen color
SSTV2_VFIFO_THRESH {0-31} Select video fifo threshold
SSTV2_VSYNC hex Specify value of vSync video register

VOODOO2_FILE name Filename used in place of "voodoo2.ini"
VOODOO2_PATH path Path used to locate "voodoo2.ini" file

Unfortunately no such great luck with the source code I found for Voodoo 3-5.

The environment variable names tend to show up in plain text inside statically linked game executables and glide2x.ovl files. Seems like a good way to confirm that they're built to at least recognize a given variable.

Old statically linked games only recognize V1 variables and so those are all you use even with a Voodoo 2. I'm now thinking even "SSTV2_FASTMEM", "SSTV2_FASTPCIRD" and "FX_GLIDE_ALLOC_COLOR" do nothing if the linked library doesn't know to look for them.

A bunch of their source code is nicely commented. (I've attached it at the end of the post for posterity and reference.) Makes it possible to trace sparsely detailed stuff like FX_GLIDE_ALLOC_COLOR and FX_GLIDE_ALLOC_AUX respectively to nColBuffers and nAuxBuffers with good descriptions, for example:

  nColBuffers - number of color buffers to attempt to allocate
0 - meaningless
1 - allocate a front buffer only
2 - allocate a front and back buffer
3 - allocate a front, back, aux buffer for tripple buffering
nAuxBuffers - number of aux buffers to attempt to allocate
0 - no alpha or z buffers
1 - allocate one aux buffer for alpha/depth buffering
2 - allocate on depth and one alpha buffer (unsup)

Attachments

  • Filename
    Glide_V2-2.53.tar.gz
    File size
    2.33 MiB
    Downloads
    67 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    Glide_VG-2.46.tar.gz
    File size
    2.73 MiB
    Downloads
    55 downloads
    File license
    Fair use/fair dealing exception

My big-red-switch 486

Reply 1 of 3, by leileilol

User metadata
Rank l33t++
Rank
l33t++

V3's flags are set through the windows registry IIRC (with a program to help you do this). Sadly I couldn't find a way to adjust V3's filter threshold...

SST_VIDEO_24BPP             0       Select 16-bit video output
SST_VIDEO_24BPP 1 Select 24-bit video output

Quite misleading, as it seems to be another setting to disable the dac filter (if set to 0, default's already 1)

should also mention the default hex value for _FILTER_THRESHOLD is 080408

apsosig.png
long live PCem

Reply 2 of 3, by firage

User metadata
Rank Oldbie
Rank
Oldbie

Yeah. The frame buffer is always 16-bit, dithered or truncated down from 24 bits. The video bit depth has to refer to gamma corrected and 4x1 filtered output after the frame buffer.

My big-red-switch 486