First post, by srhouyu
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?