A while ago I tried to set up Voodoo 2 SLI on an old Pentium system running Windows 98 SE. I used two seemingly identical Creative CT6670 boards (Voodoo 2, 12 MB RAM) which should have worked just fine. But didn’t—SLI wasn’t detected, and strangely, one of the boards seemed to not have Creative Voodoo 2 drivers loaded.
When I looked more closely (with the Win98 system information utility), I realized that one of the boards was recognized as a Voodoo 1 based on its PCI ID. How is that possible?
I wish I knew. After moving the troublemaking CT6670 to a completely different motherboard, I observed the same behavior, and pinned it down a bit more. When the system is first powered up, the CT6670 reports itself as a Voodoo 2, with PCI ID 121A:0002. When the system is rebooted (Ctrl-Alt-Del, Windows-initiated reboot), the PCI ID changes to 121A:0001. That’s Voodoo 1. When the system is power cycled or hard reset is applied, the PCI ID changes back to 121A:0002.
Obviously that is some weird voodoo. Especially because the Voodoo 2 datasheet claims that the PCI vendor/device ID is hardwired and cannot be changed at all!
If the PCI ID was strapped somehow, or read from an EPROM, such behavior might be explained. But since it’s supposed to be hardcoded, I can’t even begin to guess why this is happening.
There’s no obvious damage to the PCB or chips. If someone has a plausible theory that could explain this behavior (or even better, how to fix it), I’d love to hear it.
Update: The behavior depends on the amount of time the reset signal is active. A soft reset holds the reset signal for a very short time and consistently ends up with the wrong PCI device ID. A hard reset usually delivers the right ID, provided the reset button is depressed for perhaps half a second or longer. If the reset button is just lightly touched, the behavior is the same as with soft reset.
So that (length of time the reset signal is active) explains why hard vs. soft reset behaves differently. It doesn’t explain what’s really going on.