The 3DFX Voodoo Lives Again In An FPGA

The 3DFX Voodoo was not the first dedicated 3D graphics chipset by any means, but it became the favourite for gamers among the early mass-market GPUs. It would be found on a 3D-processing-only PCI card that sat on the feature connector of your SVGA card. The Voodoo took any game that supported its Glide API into the world of (for the time) smooth and beautiful 3D. They’re worth a bit now, but if you don’t fancy forking out for mid-’90s silicon in 2026, there’s another option. [Francisco Ayala Le Brun] has implemented the 3DFX Voodoo 1 in SpinalHDL for FPGAs.

The write-up goes into the Voodoo’s architecture. Where the parts of a modern GPU are programmable for the various functions it can do, in this part they are dedicated hardware functions for the various graphics tricks the chip can perform. Implementing such an architecture on an FPGA led to bugs and timing problems, and the write-up deals with that in detail.

The whole thing can be found in a GitHub repository if you’re curious, and is definitely worth a read for anyone interested in 1990s retrocomputing. 3DFX themselves would eventually be swallowed by Nvidia, a rival whose offerings would overtake them at the end of the ’90s, but they still represent a somewhat special moment. Don’t forget, if you have the real thing, you can probably upgrade its memory.

Header image: Konstantin Lanzet, GFDL.

36 thoughts on “The 3DFX Voodoo Lives Again In An FPGA

    1. I think you meant “VGA signal” instead of “via signal”?

      The Voodoo 1 is a “sound, video and game controller” in Windows, not a display adapter. It’s basically in the same category as sound cards and MIDI devices. It needs to be daisy-chained between a display adapter and a PC monitor, and when a 3D-accelerated game starts, it physically cuts the VGA signal from the display adapter and outputs its own VGA signal. This means that Voodoo 1 and Voodoo 2 cards can only do fullscreen.

      1. I’m sure that’s what they meant to type, but the point they were making is that still has nothing to do with the svga feature connector, which was a different thing.

  1. Nice project. IIRC these 3DFX cards did only rasterization and nobody called them GPUs. It wasn’t until NVIDIA added the hardware to do also the 3D geometry calculations that the GPU term was introduced.

  2. Nvidia coined the term, but the Voodoo 1 and 2 were the first dedicated gaming graphics processors.

    The hardware of the day wasn’t powerful enough to do everything on a single card yet (not just the video cards, the entire system), so basically the Voodoo cards switched off the output of the video card and replaced it with their own at the supported resolution. It had its own frame buffer and texture memory, it just lacked the BIOS support for text as it wasn’t needed for games in graphics mode (yep, DOS text characters were in the BIOS hardware on the video card).

    The rendering pipeline to make text display fast and the one to make 640×480 3D graphics had basically nothing to do with one another, so splitting them across separate cards made sense at the time, especially since the shared PCI bus bandwidth was still pretty limiting, even this early on. The problem was bad enough that by the time the Voodoo 2 launched with SLI, no computers actually existed yet that could benefit from it.

    It would be another year before CPUs caught up enough to drive the PCI bus fast enough to partially overcome the bandwidth bottleneck in any meaningful way, and by that time Nvidia was starting to catch up and Intel was starting to push AGP as a stopgap to help the bandwidth problem.

    So there is a lot more to the situation than putting everything on one card. It certainly could have been done, even in the Voodoo 1 days, but doing so would have driven up the price and probably bottlenecked the PCI bus and broken other PCI cards like NICs and modems.

  3. They were just called ‘graphics cards’, because they were just the latest in a long line of add in cards that added graphics output to machines that otherwise only had a text interface, or very basic graphics. They were one of the first mainstream cards which was aimed at gaming though.

  4. At the time, they were called “3D accelerators”. Software had a big warning on the box (yes, we physically purchased software in stores back then,) telling you if an accelerator was required.

  5. I do see the occasional comment about swapping a svga cable when launching a game. was this mandatory, or was it because they were missing an internal passthrough cable somewhere.

  6. Oh the days.. I remember the first 3dfx card with the odd pass through cable. But I also fondly remember the switch to the Banshee as a single card solution with a gigantic 16 MB of memory! In both of the graphix card generations the games made such a giant leap in graphix quality it was jaw dropping!

  7. Voodoo was a dedicated “3D graphics accelerator”, I think.
    Windows 98 listed it in that category, at least, if my memory serves me well.
    Along with others, such as Glint chip.

    2D graphics cards (SVGA cards etc) and Windows accelerators (aka GDI accelerators;
    those SVGA cards which support bitblit and drawing graphics primitives),
    were just in the graphics cards category.

    Same goes for S3 ViRGE or ATI Rage. They had 2D/3D capabilities as an extra,
    but were just considered graphics cards most of time.

  8. The cars came with a short vga cable to connect the output of the standard vga card to the input of the Voodoo card, the user would then connect the monitor on the output of the Voodoo card.
    To select what signal was presented on it’s output the card had a electronic switch onboard.

    Some users lost their cable or (in my case) had the electronic switch go bad resulting in a missing color channel.

  9. Feature connector? I’ve never seen that. They used a VGA passtrough cable to pass the VGA signal trough the Voodoo card where it could intercept and blend in the 3D graphics.

  10. Now the Voodoo 2, please! 😃
    Because it is officially being supported by Power PC software on Macintosh! Under MacOS 8/9!
    The Voodoo 1 merely has partly platform support (VirtualPC 2 and 3, pass-through for Windows guests).

  11. Hi! The Voodoo 3 has one, I think. But that’s a different kind of generation, of course.
    Probably has it because the 2D part of it uses the feature connector.

  12. Not at all. Voodoo’s had passthrough. You would plug “short” VGA connector to VGA card and Voodoo input then run VGA cable from Voodoo output to the monitor. If 3D was not needed, iit would simply passthrough the (2D) VGA signal to the monitor.

  13. Now, how big FPGA board is needed for implementing AO486 core together with Voodoo 1? MiSTer’s DE-10 Nano is surly not large enough.

  14. I find it amazing! Good job!

    I wonder if the makers of the real thing also encountered those same bugs. It seems like something that is easy to do: miscalculate or ‘misguess’ the precision of the calculations that are needed. I feel that it must be trade-off, because every extra precision means that the calculations will take just a bit longer. If they take too long, you get into other problems. I guess making such a chip like the Voodoo is a huge balance-act.

  15. In the days before electricity, I spent some effort trying to get a graphics accelerator card to work with a VFX1 VR headset, which required a VESA feature connector.

    The only graphics accelerator that had a VESA feature connector was the Hercules VooDoo rush single board.

    But sadly even it couldn’t render in 256 color mode, it never worked.
    It sort of did, but the color data going out on the connector was completely wrong.

    Wonder if that board is worth anything?
    My packrat nature might finally be paying off.

  16. Originally the cards came with a short pass though cable to go from your 2d card to the 3d one then the monitor was plugged into the voodoo

  17. They were missing the VGA cable that goes from the display adapter to the Voodoo 1 card (then another VGA cable goes from the Voodoo 1 card to the PC monitor).

  18. If the chip is pin-and-signal compatible with the original Voodoo 1 chip that it replaces, by removing the original chip from a real Voodoo 1 board and soldering the FPGA on. Or replicating the Voodoo 1 board, some people are even replicating Voodoo 5 6000 boards (using new-old-stock VSA-100 chips), so it should be possible to replicate a Voodoo 1 board.

  19. you can tell the author never owned a voodoo, the voodoo didnt use the feature connector, the 2d card would output a black image on the vga, and the 3dfx card would be chained in through vga cables, the 3dfx would then draw pure 3d output over the 2d cards solid black image. on the earliest cards youd even hear a relay go chunk when the 3d card activated.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.