Hacker news

  • Top
  • New
  • Past
  • Ask
  • Show
  • Jobs

Building an FPGA 3dfx Voodoo with Modern RTL Tools (https://noquiche.fyi)

224 points by fayalalebrun 3 days ago | 53 comments | View on ycombinator

ashwinnair99 3 days ago |

The Voodoo cards had no right to look as good as they did for their time. Someone rebuilding one from scratch is exactly the kind of project HN was made for.

sejje 3 days ago |

My first video card.

Getting it working in linux in ~1999 was really not easy, especially for a teenager with no linux experience.

My networking card wasn't working either, so I had to run to a friend's house for dial-up internet access, searching for help on Altavista.

Very cool project. Way above my head, still!

ekelsen 3 days ago |

The project is cool, but the LLM generated blog bothers my brain.

bob1029 3 days ago |

I miss the box art more than the actual GPUs.

https://lockbooks.net/pages/overclocked-launch

SilverElfin 3 days ago |

I love the names and branding of that era. Technology today is far more advanced but it doesn’t have that same excitement for consumers.

VonTum 3 days ago |

I find it odd the author adds all these extra semantics to their input registers, rather than keeping the FIFOs, "drain + FIFOs", "float to fixed point converting register", etc as separate components, separate from the task of being memory mapped registers. The central problem they were running into was one where they let the external controller asynchronously change state in the middle of the compute unit using it.

I'm noting down this conetrace for the future though, seems like a useful tool, and they seem to be doing a closed beta of sorts.

ColonelPhantom 2 days ago |

Very cool! I am wondering one thing: how fast is it? Much of the "secret sauce" of the Voodoo is its high speed: a first-gen Verite or (God forbid) any ViRGE takes many more cycles for common operations like, say, Z-buffered pixels.

I'm guessing this isn't fully cycle-accurate, but is it at least somewhat "IPC-accurate"? I'm guessing yes? But much of that was also derived from Voodoo's (for the time) crazy high memory bandwidth AFAIK.

burnt-resistor 2 days ago |

I guess it's cool because it could possibly produce a single board design able to emulate many designs with a flash update including SLI requiring 2 Voodoo cards plus a host 2D card that could all be placed onto said one card. I don't know how one engineers the analog DAC bandwidth to render SVGA faithfully at 1600x1200 @ 60 Hz from a FPGA frame buffer though.

Btw, most 8 MiB vintage Voodoo 2 cards can be upgraded to 12 MiB by simply soldering on more RAM. I managed to snag a bunch of legit 125 MHz chips that work with every card produced.

Tsiklon 3 days ago |

Tangentially related, that screenshot of Screamer 2 caught me off guard completely, I loved that game to death, and I feel I was the only one of my friends to have played it. Tremendous handling model and superb music.

qrios 2 days ago |

It’s been a while since I’ve struggled with Xilinx tools, but I can’t imagine there aren’t any hardware limitations these days. Does this run on a Spartan 6, or do you need the latest UltraScale for it?

Or does this only run in simulation anyway?

12_throw_away 3 days ago |

I have such fond memories of my old Voodoo card. Surprised how much nostalgia those pictures evoked - its rendering really had a unique look this that (LLM-generated?) FPGA captured quite well.

IIRC, it was a gigantic (for the time) beast that barely fit in my chassis - BUT it had great driver support for ppc32/macos9 (which was already on its way out), and actually kept my machine going for longer than it had any right to.

And then, like a month after I bought it, NVidia bought 3dfx and immediately stopped supporting the drivers, leaving me with an extremely performant paperweight when I finally upgraded my machine. Thanks Jensen.

KallDrexx 1 day ago |

Which actual FPGA is this running on? I've been extremely curious on this space and would love to know what it took to actually get this to run.

userbinator 2 days ago |

You may find this related article interesting: https://news.ycombinator.com/item?id=32960140

TapamN 3 days ago |

Oof. The gamma on that screenshot.

If you want to see what it's supposed to look like, copy the screenshot into GIMP, go into "Color, Levels" and in the "Input Levels" section, there should be a textbox+spinner with a "1.00". Set that to 0.45.