3dfx Voodoo 5 6000 recreated via reverse engineering (2021)
hexus.net
hexus.net
At the time we had deals with most of the 3d card manufacturers. I remember we had a press event with NVIDIA like in 1999, with the GeForce2, and I think we had one card beforehand, I am not sure. And every computer at this even had one with lots of journalists there to play. At the event it was the first time our frame rate wasn't smooth. Up to that point all we did was to make the rendering time even in ms. So we didn't think that much about unevenness in physics or networking. Rendering was the bottleneck. But once the rendering started to get really fast we realize we had a new problem.
Happy ending: I bought stock in that NVIDIA company.
And OpenGL, John Carmack was extremely vocal about it. That was before the internet and twitter so it was interviews in computer magazine and PC Gamers.
A graphics card with its own power supply! With this weeks' news of the 4090 using 450 watts at peak, this Voodoo card puts things in perspective.
(I didn’t realise what I had until years after I threw it out! I only picked it up because it was so impressive-looking: comically enormous board, four fans.)
Looked a bit like this one: https://robertkrau.se/blog/3dfx-voodoo-5-6000-stripe-artifac...
Here's one with a Molex connector: http://www.x86-secret.com/articles/divers/v5-6000/v56kgb-6.h... (I can't remember whether it was wires or soldered in on mine, this was 20 years ago and I didn't spend much time playing with it)
I got it from the storeroom at the video games company I was working for at the time. They were having a clear out, and we could take whatever we wanted. This was one of the things I wanted.
(Sadly they didn't let me have the Jaguar devkit, doubly annoying when I later discovered that Atari had put all their Jaguar stuff into the public domain. Mind you, I'd only have thrown that out too as well, probably, so same result in the end.)
Flagship GPUs like the 3090 Ti have had 450W TDPs for a while now and they work fine. It's not a new thing with the 40xx series cards.
GDDR6 is only now, decades later, catching up.
1.: https://web.archive.org/web/20180220234020/https://www.openg...
2.: https://web.archive.org/web/20180629191415/http://www.opengl...
3.: https://web.archive.org/web/20180628125330/http://www.opengl...
I actually had some hope when nvidia bought it, but unfortunately, they killed the brand, only keeping "SLI", for something that isn't even SLI (scanline interleaving).
And yeah, open source drivers, but don't you find it annoying when you only get open source drivers for subpar hardware? It is unfortunately a recurring problem.
(Remember Moore's Law is about density, not speed. Density sometimes begets speed but not always; one big counterexample is memory access latency time.)
It’s too bad this name has already been used. It would be great for current GPUs.
Afaik, thermite is still available for marketing departments to adopt.
1 - https://en.wikipedia.org/wiki/Graphics_processing_unit#Histo...
2 - https://www.techspot.com/article/650-history-of-the-gpu/#par...
3 - https://www.youtube.com/c/PixelPipes
There are a few anecdotes from hardware designers of 2d graphics cards mixed in, but the bulk of the book is about writing optimised x86 assembly (don't follow the any of it's advice these days) and writing fast polygon rasterisers.
If you want an architectural overview, an alternative approach is to read chronologically the websites coverage starting from the late 90s; it may be relatively superficial, but there's a decent amount of information:
- https://vintage3d.org/index.php: dedicated to vintage GPUs; very interesting, but I would have liked it to be more in-depth
- https://www.anandtech.com/tag/gpus/106: start of GPU coverage for Anandtech; probably middle ground between Vintage3d and Tom's Hardware
- https://www.tomshardware.com/archive/1998/2: start of (more dedicated) GPU coverage for Tom's Hardware, but it's more awkward to navigate, and I think more superficial, than Anandtech
http://www.thg.ru/graphic/19980227/onepage.html
http://www.thg.ru/graphic/1997.html
http://www.thg.ru/graphic/1998.html
etc.
It's pretty sad that modern generation has no idea that back in the days tech was cool, and “enthusiasts” were those who discussed chip architecture and texture sampling, not some video personalities discussing the color of old plastic. Well, consumerist approach have always beaten the specialist dedication.
https://www.anandtech.com/print/854/
http://web.archive.org/web/20071213131847/http://www.xbitlab...
http://web.archive.org/web/20040804115729/http://www.xbitlab...
http://web.archive.org/web/20080104000403/http://www.ixbt.co...
http://web.archive.org/web/20071229163953/http://www.ixbt.co...
(Although I think that was only with the original Voodoo and Voodoo2)
It's viable enough that clone cards have been built based on the reverse engineering efforts:
I wonder why? Because of delays during emulation?
I could see that if it was a software emulation or e.g. an FPGA reimplementation, but this one is still using the original GPUs so would be comparable to having a modern GPU from Asus or Gigabyte instead of the reference designs from AMD or Nvidia.
I have a lot of nostalgia for the Playstation 2. That system occupied a lot of late nights during my college and young professional years. My memories of those games are wrapped up in those tumultuous times.
As fond as those memories may be, I just can't play emulations/remasters of those games nowadays. Why not? I'm convinced it's because the loud fan noise of the PS2 is missing without the original system. That fan blast was on before, during, and after every gaming session. It filled the silence when the game paused. It picked up when the game peaked. It was there when I had loud joyful matches of Burnout 3 with friends. And it was there during long lonely nights following a breakup. The PS2 fan's noise pierced my soul.
Nostalgia is a very fickle thing. It's never just the favorite game, or food, or jacket. It's where you were at the time, the smells in the air, the twitches around you, the people you were with, the way you felt.
What is an authentic recreation of an old game?
For one, it might just be running it on the original hardware. It may be hearing some specific electric hum or click before the system starts. It may be the way the buttons on those old controllers felt. And that may be enough.
For others, it may be playing the game with a friend lost to time. Or playing the game in one's childhood bedroom, long since demolished. Or playing the game while eating a special pizza, from a place that's long shuttered.
So if recreating the experience is as simple as getting the old hardware assembled, that sounds relatively reasonable and achievable.
Still, ultimately, I prefer not chasing ghosts. Why cling to the experiences of the past when we can make new experiences today? It's a hard lesson learned. Nostalgia bites me hard.
Obviously hardware has improved so much that you can play a game like Deus Ex on any hardware today and it performs perfectly well. But there are also games that run into problems with high clock rates for unrelated reasons. So for an accurate emulation, you would want a clocked down CPU and 3DFx chip running on a FPGA or something.
Interpolated pixels kind of look fine sometimes. NFS2:SE looked most fine. They don't make them like that anymore.
(Thus, reimplementing this under either OpenGL or Vulkan ought to be reasonably trivial using modern hardware.)
> they were basically very fast (for the time) 2D triangle renderers.
that's still true of GPUs today :) in fact, with the exception of h264/265 encode/decode, and "AI" - that's all that graphics cards have ever done!
As I explained in a sister comment, there's a lot more going on with rasterization, even back then, than "painting 2D triangles" might imply. Yes, only the XY coordinates determine the screen location of a rendered pixel, but the Z coordinate even at that stage has a lot to do with its color (e.g. for perspective-correct texture lookup) and whether it is painted at all (Z buffering).
I guess Glide could be defined as low-level API since it was defined by single vendor's architecture instead of some more abstract machine like GL and other APIs.