zSST is a SystemVerilog reimplementation of 3dfx Voodoo Graphics (SST-1) integrated with a custom z486 CPU to form a single-FPGA late‑1990s DOS gaming PC called z486 XL. Running on a Xilinx KV260 at 100 MHz, the design reproduces core Voodoo features - prepared triangles, texture filtering and mipmapping, depth and alpha tests, fog, blending, dithering, framebuffer access, and buffer swaps - and has been demonstrated running Tomb Raider with the original 3dfx renderer. Development drew on the preserved Glide source, the SST‑1 specification, MAME work, and traces from prior emulations; the KV260 provides the necessary logic, DSPs, and DDR bandwidth that smaller boards lack.
The implementation follows Voodoo’s compact command model (triangleCMD, ftriangleCMD, swapbufferCMD, etc.) where the host CPU performs transforms and lighting and the accelerator rasterizes prepared triangles at “one pixel per clock” by pipelining stages. Internally floating-point inputs become fixed‑point formats for scanline interpolation; perspective texturing uses S/W, T/W, and 1/W with mip selection and bilinear filtering (four texels per sample). The FBI/TMU split and a multi-stage FBI pixel path (F0-F4) reproduce color combiners, tests, fog, blending, and dithering. The hardest part was matching memory throughput - parallel texel reads and depth/color accesses require a banked, 2×2 interleaved layout and careful caching to sustain the pipeline.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.