VOGONS


First post, by srhouyu

User metadata
Rank Newbie
Rank
Newbie

I have a Creative Voodoo 2 12M. Its VGA passthrough is OK, but it does not function. When Windows starts, it displays an error message indicating that glide2x.dll cannot find my Voodoo 2.

This card was originally working fine, but immediately after I applied several heatsinks, it started exhibiting these symptoms. Initially, the fault occurred with a 50% probability during system startup, but after a day or two, it gradually evolved into a 100% failure rate.

I suspect that applying the heatsinks may have caused some physical damage. I inspected the chip pins and did not find any obvious defects. I also did not find any noticeable physical damage to other parts.

I attempted to perform diagnostics on a Pentium MMX system running pure DOS. I added the following entries to autoexec.bat:

set SST_INITDEBUG=1
set SSTV2_INITDEBUG=1
set SST_INITDEBUG_FILE=c:\sst.log
set SSTV2_INITDEBUG_FILE=c:\sstv2.log
set SST_DEBUGDAC=1
set SSTV2_DEBUGDAC=1

After booting DOS, I ran

mojo > mojo.log

and obtained mojo.log and sst.log, but did not see sstv2.log.

The contents of mojo.log are as follows:

DPMI: In DpmiHookFxMemmap, addr=e4000000, size=01000000
DPMI: Loading fxmemmap.vxd
DPMI: mapping e4000000 size 01000000
VoodooMEssage: pSST: 0x0 data0: 0x0 data1: 0xe4000001 fn: 0x1000000
DPMI: VoodooMessage: NULL ptr
Finally: 00000000
Info for Voodoo board # 0:
=====================================================
Virtual Base Address: 0xe4000000
Physical Base Address: 0xe4000008
PCI Device Number: 0x9
Vendor ID: 0x121a
Device ID: 0x2
FBI Revision: 2
FBI Memory: 4 MB
FBI PowerOn Sense: 0x2
TMU PowerOn Sense: 0x8d1
FBI DAC Output Color Format: 24BPP
Scan-Line Interleaved? No
TMU Revision: 1
Number TMUs: 1
TMU 0 RAM: 0 MB
DpmiUnmapMemory
DpmiUnmapMemory

The contents of sst.log are as follows:

sst1Init Routines: InitCode $Revision: 8 $
sst1InitMapBoard(): BoardsInSystem = 1
sst1InitMapBoard(): vAddr:0xe4000000 pAddr:0xe4000008 Dev:0x9 Board:0
sst1InitRegisters(): Setting TREX-to-FBI FIFO THRESHOLD to 0x8...
sst1InitRegisters(): Setting PRELIM FT-CLK delay to 0x8...
sst1InitDacDetect(): Entered...
sst1InitDacDetectICS(): Entered...
dacWr(0x7,0xb)
dacRd(0x5,0x79)
dacRd(0x5,0x2e)
dacWr(0x7,0x1)
dacRd(0x5,0x55)
dacRd(0x5,0x49)
dacWr(0x7,0x7)
dacRd(0x5,0x71)
dacRd(0x5,0x29)
sst1InitDacDetectICS(): Exiting...
sst1InitRegisters(): Storing TREX0INIT0=0x5441
sst1InitRegisters(): Storing TREX0INIT1=0xf420
sst1InitRegisters(): Storing TREX1INIT0=0x5441
sst1InitRegisters(): Storing TREX1INIT1=0xf420
sst1InitRegisters(): Storing TREX2INIT0=0x5441
sst1InitRegisters(): Storing TREX2INIT1=0xf420
sst1InitSetGrxClk(): Entered...
dacWr(0x7,0xe)
dacRd(0x5,0x0)
dacWr(0x4,0xa)
dacWr(0x5,0x7b)
dacWr(0x5,0x6c)
dacWr(0x4,0xe)
dacWr(0x5,0x0)
sst1InitSetGrxClk(): Resetting TMUs after clock change...
sst1InitRegisters(): Setting up FAST DRAM Configuration
sst1InitGetTmuMemory() ERROR: Could not detect memory size.
sst1InitFillDeviceInfo(): Retry #1 for chip GetInfo()...
sst1InitGetTmuMemory() ERROR: Could not detect memory size.
sst1InitFillDeviceInfo(): Retry #2 for chip GetInfo()...
sst1InitGetTmuMemory() ERROR: Could not detect memory size.
sst1InitFillDeviceInfo(): Retry #3 for chip GetInfo()...
sst1InitGetTmuMemory() ERROR: Could not detect memory size.
sst1InitFillDeviceInfo(): Retry #4 for chip GetInfo()...
sst1InitGetTmuMemory() ERROR: Could not detect memory size.
sst1InitRegisters(): ERROR filling DeviceInfo...
sst1InitShutdown(): Shutting down SST-1 #0...
sst1InitSetGrxClk(): Entered...
dacWr(0x7,0xe)
dacRd(0x5,0x0)
dacWr(0x4,0xa)
dacWr(0x5,0x41)
dacWr(0x5,0x62)
dacWr(0x4,0xe)
dacWr(0x5,0x0)
sst1InitShutdown(): Returning with status 1...

It appears to be an issue related to the TMU or VRAM, but I'm not sure whether the fault is from the TMU, the VRAM, or possibly both.

Additionally, is it possible to determine which specific TMU or VRAM on the card is affected?

Reply 1 of 2, by MikeSG

User metadata
Rank Member
Rank
Member

When it worked 50% of the time, did it work without problems, or was it showing visual defects?

Reply 2 of 2, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

It's only seeing one TMU right now and that's showing no memory or not responding properly.

Try running a game with "set SSTV2_TEXMAP_DISABLE=1" added to the autoexec to see if the game works without textures. GLquake and Quake II are good because they jump straight into playing the demo and you can still make out quite a lot with just the geometry.

Most likely in my opinion what's happened is the card got flexed or the QFPs were pushed/pulled during the heatsink installation and you have some loose pins on the FBI or TMU chips now. Since the 1st TMU (which is the one on the right, not the one by the SLI connector) isn't communicating it's likely the interface pins between that and the FBI are loose. The pinout for the TMU can be seen here since the TMU pinout the same as the Voodoo 1: 3Dfx Voodoo 1 - Low level hardware information and diagnostics thread
Pins in the 1 to 52 area are the TF_DATA (TMU to FBI) and FT_DATA (FBI to TMU) lines so they'd be the first place I'd check.