The low‑hum of a 486 DX2‑66 filled the spare bedroom, its beige tower warming countless late‑night Quake sessions. For anyone who grew up in the mid‑90s, that sound announced a moment of pure excitement. A .bat file ran, the screen flickered, and a chrome‑shiny 3‑D cube rotated above a checkerboard floor. The 3DFX Voodoo didn’t just draw polygons; it turned the ordinary into something extraordinary. Twenty‑seven years later, that same feeling has been recreated inside a modern FPGA. Engineer Francisco Ayala Le Brun has rebuilt the iconic card, and the retro‑computing community is watching closely.
A Silicon Ghost Re‑embodied in Code
When the Voodoo launched in 1996, it was more than a graphics card—it was a separate accelerator that sat alongside a standard 2‑D video adapter. The 2‑D card handled Windows, while the Voodoo waited for a game to call the Glide API. When the call arrived, the Voodoo sprang to life, delivering bilinear‑filtered textures, depth‑buffered pixels, and a steady 60 fps that made a Pentium feel like a supercomputer. Dedicated texture‑mapping chips, a hard‑wired perspective‑correct pixel pipeline, and a memory interface tuned for low latency gave the card its legendary performance.
Re‑creating that hardware on an FPGA is comparable to rebuilding a Swiss watch from Lego bricks while blindfolded. Francisco chose SpinalHDL—an open‑source hardware‑description language that describes circuits directly—to reconstruct the fixed‑function engine. Every stage of the original Voodoo, from the command FIFO to the triangle‑setup unit, was translated into reconfigurable logic. No pre‑made IP blocks were used; each lookup table and DSP slice was programmed to behave like the 1996 silicon. The result is a gate‑accurate replica that boots MS‑DOS games and still delivers the smooth visuals the original was known for.
The project is more than nostalgia. Modern GPUs rely on massive programmable shader arrays, while the Voodoo was a purpose‑built rasterizer. By preserving that architecture in an FPGA, Francisco provides historians and hobbyists with a working example of graphics evolution. Users can watch scanlines refresh, probe the memory bus with a logic analyzer, and even modify the microcode to see how perspective‑correct textures were generated. It offers a hands‑on glimpse into a pivotal era of chip design.
From Glide to GitHub: Opening the Vault
After 3DFX folded in 2002, the Glide API survived thanks to a dedicated community that patched games, created wrappers, and hunted down original ROMs. Francisco’s GitHub repository adds fresh fuel to that effort. Clone the repo, flash a Xilinx or Lattice board, and within minutes you can see the classic spinning cube that once lived only in magazine demos. The README reads like a technical love letter, complete with timing diagrams, pin‑out tables, and warnings such as “the SDRAM will be damaged if the 3.3 V tolerance is ignored.”
Forks are already appearing. One developer fitted the core onto a compact Artix‑7 board originally designed for Bitcoin mining, shrinking the Voodoo to the size of a credit card. Another is experimenting with dual‑output SLI, testing whether two FPGAs can reproduce the scan‑line interleave that doubled frame rates in 1998. A common goal is a handheld retro‑gaming console that can run Tomb Raider with its original water effects.
The impact reaches beyond enthusiasts. Computer‑architecture instructors use the design to demonstrate why fixed‑function hardware mattered in the 1990s. Game‑preservation archivists appreciate that an FPGA never degrades, its capacitors do not leak, and its bitstream can be copied endlessly. With original Voodoo cards now fetching prices higher than many used cars, the open‑source recreation guarantees that future players can still experience the moment 3‑D graphics first took flight.
Why the 90s Still Glow in 60 FPS
Place a Voodoo‑based system next to a modern RTX rig and the raw power difference is obvious—until you examine the lighting. Today’s path‑traced reflections are mathematically perfect, but the Voodoo’s textures retain a handcrafted charm: palette‑shifted fireballs, environment‑mapped chrome that bends light in a stylized way, and fog tables that make stone dungeons feel damp. Developers of the era painted light onto polygons instead of calculating it in real time, giving the visuals a warmth that ray tracing has yet to replicate.
Francisco’s FPGA does more than copy those quirks; it preserves them. The core includes the original 2 MB framebuffer, so overdraw behaves exactly as it did in 1997. Texture memory is limited to 4 MB, forcing artists to pack assets into small atlases. The PCI interface is cycle‑accurate, so the familiar stutter that occurs when a level streams over a 33 MHz bus remains unchanged. This level of fidelity cannot be achieved through software emulation alone—it requires hardware synthesis.
Why Glide Still Matters in an Age of Vulkan and Ray Tracing
In 1997 the decisive question was “Does it run Glide?” The proprietary API gave developers a thin, efficient layer that communicated directly with the silicon, avoiding the overhead of early Direct3D implementations. Glide treated a texture as more than data; it was a material with specific visual intent. Hand‑tuned assembly in the mini‑driver placed each texel precisely where the triangle engine expected it, delivering a smooth experience even on a 90 MHz Pentium.
The FPGA recreation retains this tight hardware‑software coupling by implementing the entire Glide FIFO down to the 64‑byte packet level. When Quake’s grDrawTriangle command is issued, the bitstream that once traveled over PCI now moves from on‑chip block RAM to custom rasterizers built from lookup tables. The result is not a simulation but the original electrical conversation, expressed in modern LUTs instead of 500‑nm metal layers. For archivists, this difference is comparable to hearing a live piano in a concert hall versus listening to a compressed MP3.
| Feature | Original Voodoo (1996) | FPGA Recreation (2024) |
|---|---|---|
| Manufacturing Process | 500 nm | 28 nm (Xilinx Artix‑7) |
| Core Clock | 50 MHz | 100 MHz (timing‑closed) |
| Texture Memory | 2 MB EDO | 32 MB DDR3 (via controller) |
| API Fidelity | Native Glide 2.x | Bit‑exact Glide command stream |
Open Source as Time Machine
Three decades of industry consolidation have hidden most GPU documentation behind strict NDAs. Studying a modern ROP’s compression algorithm, for example, is nearly impossible without proprietary data. By contrast, the Voodoo shipped with a 142‑page “Glide Programming Manual” that covered everything from fog tables to the 0x0D7A register that toggles s‑linear filtering. Francisco bundled the PDF, annotated schematics from Russian reverse‑engineers, and a spreadsheet cross‑referencing PCB revisions into the GitHub repo. While contemporary drivers can exceed 120 MB of closed‑source binaries, the 2.1 MB of Verilog and SpinalHDL code feels like a Rosetta Stone for graphics history.
Community contributions are already expanding the design. One fork added a DVI output by integrating a TMDS serializer, allowing the core to drive modern displays instead of a 1990s CRT. Another linked the core to a Raspberry Pi Pico, creating a pocket‑sized “Voodoo Stick” that upgrades thrift‑store laptops into polygon‑rendering machines. Pull requests read like nostalgic anecdotes: “Added 24‑bit depth buffer to fix skybox banding,” “Matched dither pattern to Obsidian 2 reference.” Each commit documents a step back toward the era when getting a game to run required careful hardware negotiation.
The Acquisition That Never Really Ended
NVIDIA’s purchase of 3DFX in 2000 is often described as the final chapter of a David‑and‑Goliath saga, yet the underlying technology lives on. The “register combiners” introduced with the GeForce 256 trace their lineage to the Voodoo’s texture‑mapping units. Early SLI implementations were hobbyist hacks that used the Voodoo’s analog scan‑line interleave to double frame rates. Even the marketing slogan “It just works” echoes the Voodoo mantra of inserting a card, installing a single driver, and instantly seeing higher frame rates.
By open‑sourcing the Voodoo, Francisco provides a tangible reference for how far graphics hardware has evolved. Modern GPUs are powerful but opaque, often running cryptocurrency miners in the background and offering control panels that resemble aircraft cockpits. The FPGA Voodoo strips away those layers, leaving a straightforward contract: supply vertices, receive rendered frames. No telemetry, no day‑one patches, no always‑online DRM—just the quiet work of a triangle engine doing exactly what it was built to do, both twenty‑five years ago and today.
When the house finally quiets down, I’ll power up the tiny Artix board perched on a Lego tower, its LEDs flickering like fireflies behind a translucent 1996 case badge. Quake will start, the screen will flicker, and for a brief moment that chrome cube will spin again—bright, impossible, timeless. The 3DFX Voodoo never truly died; it simply waited for us to remember how to dream in polygons.
