VOGONS


First post, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

The Voodoo 1 was the first 3d accelerator I had, I skipped the Voodoo2 so the Voodoo 1 is the one I have more interest in - I still don't have enough Voodoo II for an SLI setup as well 😉

It seems that unlike the Voodoo 3 and perhaps the Banshee, there's very little definitive information on the Voodoo 1 and Voodoo 2. Which is odd since they were manufactured by so many different vendors prior to the STB buyout, there's probably an information pack out there somewhere.

I've got a few 3Dfx Voodoo 1 cards, because I keep buying broken ones with the hope of getting lucky or fixing one. So far I've had some success but there are 2x Voodoo1 cards that I've not yet been able to fix which are showing black blocks or lines in textures in games like the Tomb raider demo - this is after making very sure that every pin from the TMU is attached, but games look fine if I enter the environment variable to turn off texture mapping.

I decided to look around for schematics or a pinout for the Voodoo 1 or Voodoo2 but there doesn't seem to be one that's immediately available. Then I remembered that 3Dfx chips and cards made their way into many arcade machines and those systems cost enough that you'll usually find schematics for repairs during their operational lifetime. In particular Midway were quite fond of 3Dfx and the Midway Seattle both uses 3Dfx's Obsidian graphics engine and has available schematics. Search for "Midway_Seattle_Hardware_Schematics.pdf" to have a read.
I've split out the 3Dfx related part which starts with "THE OBSIDIAN GRAPHICS SYSTEM BLOCK DIAGRAM". Please note that these are a PDF of a PDF of scanned pages, see the full document's pages 42 to 56 in the PDF for the original print quality.

Filename
Obsidian-GE-Schematic-Voodoo1-FBI-RAMDAC_compressed.pdf
File size
2.69 MiB
Downloads
24 downloads
File license
Fair use/fair dealing exception
Filename
Obsidian-GE-Schematic-Voodoo1-TMU-BYPASSCAPS_compressed.pdf
File size
3.38 MiB
Downloads
19 downloads
File license
Fair use/fair dealing exception

I don't think the system itself is very similar to an x86 PC but the 3Dfx part is all PCI. There are some minor differences, notably the video output will have no need for 2D input / switching but that's not too important.
If you enable the debug file output as an autoexec variable:

set SST_INITDEBUG_FILE=sst.log

And then run the diagnostic tool mojo.exe, the SST.log file contains this reference to Obsidian GE:

sst1DeviceInfo: Board ID: Obsidian GE
sst1DeviceInfo: FbiConfig:0x2, TmuConfig:0x11
sst1DeviceInfo: FBI Revision:2, TMU Revison:1, Num TMUs:1
sst1DeviceInfo: FBI Memory:2, TMU[0] Memory:2
sst1DeviceInfo: Dac Type: TI TVP3409
sst1DeviceInfo: SliDetect:0

Something I find quite interesting is that there are 3x 16-bit wide buses for chip to chip communication, I was wondering how this was laid out:
FT_ADDR 0 to 2 (up to 4 possible addresses...)
FT_DATA 0 to 15 - I think this is FBI > TMU data
TF_DATA 0 to 15 - I think this would be output from the TMU to FBI
TT_DATA 0 to 15 - This should be for TMU > TMU communication I think???, these pins are all grouped up on a regular Voodoo 1 since it's not doing multitexturing 😀
From the schematic information which lists full pinouts for both the 3Dfx 500-0004-02 TMU and 3Dfx 500-0003-03 FBI, I've put together an initial pinout for the TMU which matches up very well with what I see on the PCB:

3DFX_500-0004-02_TMU.png
Filename
3DFX_500-0004-02_TMU.png
File size
715.21 KiB
Views
473 views
File license
Fair use/fair dealing exception

The memory bus is taking up most of the pins on the TMU, it's got a 64-bit wide memory bus dedicated to the TMU, with individual control of all address and data bits for each of the 4x memory chips, only grouping up the RAS pins. I think going by the numbers the memory layout should be like this - here's the other card I'm trying to fix:

500-0004-02_TMU_MemLayout.jpg
Filename
500-0004-02_TMU_MemLayout.jpg
File size
481.89 KiB
Views
600 views
File license
Fair use/fair dealing exception

Going from what I've read about the Voodoo 1 going to the Voodoo2, with the V2 mostly getting speed improvements from being a process improved, better optioned version of the Voodoo 1, giving it higher clocks and multitexturing.
I suspect that the TMU chips may have a lot in common beyond just the pin count (208 on V1 and V2) although someone would need to check, specifically the TT_DATA pins would be important to verify first.

Soon I'll do the same for the FBI chip 😀

edit: edited to replace the lossy jpeg pinout diagram with a lossless one.

Last edited by Thermalwrong on 2023-11-15, 18:01. Edited 2 times in total.

Reply 1 of 8, by sdz

User metadata
Rank Member
Rank
Member

Checking those arcade schematics is just brilliant, it never occured to me, thank you!
This will prove quite useful if I ever decide to do with the OG Voodoo chipset what I'm doing with the V2, saves countless hours of sanding the pcb, scanning, retracing and getting a schematic.

As for the V2 TMU, I randomly compared about 30 pins, and they are identical to the
500-0004-02. I'll check all the pins and give an update later today.
Edit: All V2 TMU (500-0010-01) pins are identical to the V1 TMU (500-0004-02). This could prove to be quite interesting...

Regarding the TT bus, you are right.
A V2 looks like this:
FBI to TMU0 and FBI to TMU1 (same nets but the bus is split), this is the FT bus.
TT bus (from TMU1 to TMU0)
FT bus (from TMU0 to FBI).

Basically the TMU outputs are daisy chained back to FBI input.

Reply 2 of 8, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

Wow, thank you for checking that, that's amazing that the pinout is the same 😀
That's quite interesting that the TT bus is potentially just used to send the TMU's data back to the frame buffer and the FT bus is shared - that must be why there are FT address pins, to address data to each of the TMUs?

I've now done the same treatment for the 3Dfx 500-0003-03 FBI chip. This one's a bit different in how it addresses memory, there are only two sets of memory addressing pins and the notation for the framebuffer memory data pins doesn't clarify which set of FB_DATA pins goes to which memory chip. So I've clarified the picture with a colour highlight for each memory chip - the boxes with two colours are the pins shared between two memory chips.

Here's the colourised version:

3DFX_500-0003-03_FBI-channels.png
Filename
3DFX_500-0003-03_FBI-channels.png
File size
946.73 KiB
Views
474 views
File license
Fair use/fair dealing exception

And the unannotated version:

3DFX_500-0003-03_FBI.png
Filename
3DFX_500-0003-03_FBI.png
File size
1.06 MiB
Views
495 views
File license
Fair use/fair dealing exception

They're losslessly compressed this time 😀
Unfortunately this is where the Voodoo 1 differs from the Voodoo2 - the 500-0003-03 FBI chip has 240 pins while the 500-0009-01 CK or 'Chuck' has 256 in total. I do wonder if the pins would be the same up to pin 240 and then they added in some extra pins, or if it's all different.

Reply 3 of 8, by sdz

User metadata
Rank Member
Rank
Member

Yes, you're right, that's why the FT has address pins. Each TMU has a few config resistors (hanging on the RAM bus, address pins if I recall correctly), that's how the TMU address is set, among other things.

In a day or two I'll post a delta between the two FBI ICs.
Btw, the OG Voodoo Graphics can have up to 3 TMUs and supports SLI, eg. Primary Image Pirahna IIRC.(if it's not that it's the Barracuda, although I think that uses the V2 chipset).

Reply 4 of 8, by sdz

User metadata
Rank Member
Rank
Member

I compared the pinouts, the V2 FBI has the following extra pins:
- 2 extra RAS lines
- PCI INT pin
- SLI SYNC signals (2x)
- a reset signal that goes to the TMUs (buffered from PCI RST)
- a clock signal that goes to the SLI slave
- a pin for sensing if the card has a monitor plugged in, goes to the RAMDAC which detects the 75R VGA terminations (this is how 1 card becomes the master in an SLI setup).

Reply 5 of 8, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

If you give me a potential pinout I can make an initial pinout picture for you 😀 Just 16 pins between the two

I am trying to figure out why my Orchid Righteous 3D only sees 1MB on the TMU when I can't see any bad pins. I am wondering if perhaps I reconfigured one of the strap resistors - I did most of the work on this faulty card in 2021-ish, before I kept reliable logs of changes I make to each item.

Those additions for SLI / function make sense, as far as I'm aware the 3Dfx FBI chip has little the in way of GPIO type pins to assign extra functions to. Makes Anthony's King Shaman 3Dfx Voodoo 1 card quite impressive at a hardware level 😀

Reply 6 of 8, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie

Wow, 18 months ago I forgot I made this picture when I was first troubleshooting my £20 trainwreck Voodoo 1 reference design card:

3dfx-reference-design-vgaswitch.png
Filename
3dfx-reference-design-vgaswitch.png
File size
217.75 KiB
Views
224 views
File license
CC-BY-4.0

This is from the PI5C-3384Q datasheet since that's one of the first parts I was fixing. Should be the same on most designs that use this small 24-pin chip to switch between the two VGA sources like a KVM 😀

Most Voodoo 1 cards use resistors and resistor packs to connect up the memory data / address / RAS / CAS lines and if you've watched any 3Dfx repair videos you'll know those can be at fault too. I was trying to figure out what caused the black blocks on textures on my reference Voodoo 1 and through chance tracked it to the one resistor pack that connects up TMU memory on this cheaply made card (nicer cards will use resistor packs for everything):
Re: What retro activity did you get up to today?
One solder joint went bad on this resistor pack, which connected up the CAS (column address select) lines to the TMU memory chips, which broke the cards ability to put data into all of the texture memory even though all the RAM was good.

For troubleshooting memory issues I think it's probably best to start with checking that the RAS & CAS lines are still working. I've made this A4 sized colour printable version of the pinouts which includes the EDO RAM pinout too.
Instead of just checking from each side of the resistor pack, it's best to check from RAM pin to TMU / FBI chip pin, since applying pressure to the resistor pack might make it make a normal connection again.

Attachments

Reply 7 of 8, by Imperious

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for this information.
I had some success repairing my Diamond Monster card earlier this year. There is software You can check the Ram chips but need a PCI card that has expansion slots.

3dfx Voodoo 1 fault diagnosis and repair

I still have a friends card to repair and all RAM chips tested ok. I'll take a closer look at the resistor packs.

Atari 2600, TI994a, Vic20, c64, ZX Spectrum 128, Amstrad CPC464, Atari 65XE, Commodore Plus/4, Amiga 500
PC's from XT 8088, 486, Pentium MMX, K6, Athlon, P3, P4, 775, to current Ryzen 5600x.

Reply 8 of 8, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie
Imperious wrote on 2023-11-22, 00:30:
Thanks for this information. I had some success repairing my Diamond Monster card earlier this year. There is software You can […]
Show full quote

Thanks for this information.
I had some success repairing my Diamond Monster card earlier this year. There is software You can check the Ram chips but need a PCI card that has expansion slots.

3dfx Voodoo 1 fault diagnosis and repair

I still have a friends card to repair and all RAM chips tested ok. I'll take a closer look at the resistor packs.

Ah, your thread inspired me to keep going, thank you for sharing it! 😀
That thread is a great example of what an FBI / frame buffer memory failure looks like - very different from a TMU failure since texture memory doesn't affect overlay like that it, it only affects textures,