[HN Gopher] 3dfx Voodoo 5 6000 recreated via reverse engineering...
___________________________________________________________________
3dfx Voodoo 5 6000 recreated via reverse engineering (2021)
Author : userbinator
Score : 167 points
Date : 2022-09-24 06:25 UTC (16 hours ago)
(HTM) web link (hexus.net)
(TXT) w3m dump (hexus.net)
| FeistySkink wrote:
| What would you use this for?
| Romanulus wrote:
| Playing Deus Ex, of course.
| deaddodo wrote:
| Retro gaming is the common use case. GLIDE is something people
| like to run natively and 3Dfx ruled the roost long enough for a
| ton of games to be specially tuned to the API.
|
| It's viable enough that clone cards have been built based on
| the reverse engineering efforts:
|
| https://www.youtube.com/watch?v=UgbVmYn1xZ8
| userbinator wrote:
| Not sure if you're aware, but the card in that video is the
| same one in the article.
| aeyes wrote:
| I think they sold them for about $1500, the original post
| was made more than a year ago.
| dvfjsdhgfv wrote:
| > GLIDE is something people like to run natively
|
| I wonder why? Because of delays during emulation?
| tssva wrote:
| For some retro gamers any emulation no matter how perfect
| is a no go because they don't consider it an authentic
| recreation of the experience. For some even this reverse
| engineered clone would be unacceptable.
| verisimilidude wrote:
| I understand.
|
| 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.
| userbinator wrote:
| _For some even this reverse engineered clone would be
| unacceptable._
|
| 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.
| tssva wrote:
| Doesn't matter. For some retro enthusiasts only original
| hardware produced during the era is acceptable.
| adastra22 wrote:
| The GLIDE api was quite different from OpenGL or Direct3D.
| There's a lot of examples of games from that era that
| played well on 3DFx hardware but absolutely sucked on OGL
| or D3D. I think for example the first Unreal engine and
| games built off it like Deus Ex.
|
| 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.
| actually_a_dog wrote:
| Also very famously, Diablo 2 ran amazingly using Glide. I
| had a Voodoo 5 5500 and didn't lag when the whole screen
| was filled with mobs, summons, fire, _etc._ while other
| people died to lag.
| anthk wrote:
| Most old games are patched and you'll get good GLIDE
| wrappers everywhere.
| Zardoz84 wrote:
| Unreal and Unreal Tournament ran flawless and fast on
| GeForce 2 MX DDR using DirectX
| beebeepka wrote:
| Bitchin fast 3d accelerated gaming, of course.
|
| Interpolated pixels kind of look fine sometimes. NFS2:SE looked
| most fine. They don't make them like that anymore.
| rzzzt wrote:
| I prefer the Voodoo 5 9000: https://youtu.be/_3iHV0NvLPI
| zozbot234 wrote:
| AIUI, Glide cards didn't really do 3d acceleration in
| anything like a modern sense. They accelerated the
| rasterization part of the rendering pipeline; they were
| basically very fast (for the time) 2D triangle renderers.
|
| (Thus, reimplementing this under either OpenGL or Vulkan
| ought to be reasonably trivial using modern hardware.)
| avian wrote:
| If we're arguing semantics, I feel like these early cards
| are more fitting to the "3D accelerator" name than the
| modern ones. They were specialized for accelerating 3D
| graphics (which, in the end, means pushing triangles into a
| 2D framebuffer). Modern GPUs are more like general-purpose
| vector processors that happen to also be good at
| calculations related to 3D graphics and can (sometimes)
| render triangles to a framebuffer.
| rayiner wrote:
| They also do texture mapping, shading, and z buffering.
| Those things are still the core of 3D rendering.
| foxhill wrote:
| i'd argue that 3d-accelerated graphics from that era is
| still true 3d acceleration. of course, back then the
| pipelines were mostly fixed - nothing like programable
| shaders - but you're passing in 3d-coordinates, generating
| some matrices to determine the MVP, passing in some
| textures, and getting most of that "heavy lifting" of
| getting the pixels on the screen from the API & card.
|
| > 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!
| christkv wrote:
| The rendition GPU was a risc processors but alas way to
| early and underperforming
| zozbot234 wrote:
| The point is that the 3D-geometry portion of the pipeline
| is still done on CPU with these early cards. The API's
| may have been slightly broader, but the hardware
| accelerated part was limited to rasterization, i.e.
| painting 2D triangles.
| foxhill wrote:
| indeed, and i agree - what i'm saying is that even today,
| the rasterization of triangles is still 2D :) (and
| necessarily will always be! well, as long as we use 2D
| displays..)
| rayiner wrote:
| The triangles are in 3D space. Part of what the cards do
| is project them into 2D space. See pp. 18-20 of the Glide
| reference: https://citeseerx.ist.psu.edu/viewdoc/download
| ;jsessionid=18...
| iforgotpassword wrote:
| It explicitly states that vertices are given as (x, y).
| Voodoo cards did not do projection in hardware.
| rayiner wrote:
| The GrVertex structure has z and w components too. But
| it's a fair point that the x and y is specified in screen
| space, not world space. I had forgotten that. But the
| hardware does depth buffering based on the z component,
| so it's still 3D.
| iforgotpassword wrote:
| Yeah, that's a nice "hack" the hardware offered. You can
| still shove in the depth after having done the screen
| projection so you don't need to worry about the order in
| which you draw the triangles. So maybe 2.5D? :-)
| codeflo wrote:
| > rasterization, i.e. painting 2D triangles
|
| 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).
| anthk wrote:
| GLIDE was low level, it would map to Vulkan perfectly.
| codeflo wrote:
| I'm sure it can be emulated efficiently enough nowadays,
| but I don't think the mapping is very direct: Glide was
| mostly imperative and synchronous, Vulkan is declarative
| and explicitly asynchronous. Both are low-level, but for
| hardware that works very differently.
| Zardoz84 wrote:
| even 15 years ago, Glide wrappers (Glide to DirectX or
| OpenGl) did a great job
| AHTERIX5000 wrote:
| In terms of API design and usage Glide is far closer to
| classic 1.x GL.
|
| 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.
| codeflo wrote:
| Being 2D rasterizers was arguably true for some cheap early
| graphics chips like that of the PS1. For Voodoos, there was
| no point in the pipeline after which rendering is "only 2D"
| in any relevant sense. At the time, the Z coordinate was
| passed to the hardware and used e.g. for important things
| like perspective correct texture lookup, environment maps
| (fake reflections), and Z buffering -- that is right until
| the very last moment of committing the pixel to memory.
| kube-system wrote:
| > The graphics chip was codenamed Napalm
|
| It's too bad this name has already been used. It would be great
| for current GPUs.
| cptskippy wrote:
| Back then if something was hot, it was new, cool, and coveted.
| Today thermal management is a huge problem so they tend not to
| equate products with heat.
|
| Afaik, thermite is still available for marketing departments to
| adopt.
| jamiek88 wrote:
| Not sure the Vietnamese customers would agree.
| fredoralive wrote:
| It's just an internal code name, they didn't trademark it, so
| someone else could use it again. See the new case where
| "Mendocino" could refer to the one good Intel Celeron, or now
| some low end AMD Zen 2 chips for cheap laptops.
| kdtop wrote:
| It's a cool name if it is a good product. If it is less-than-
| stellar, though, it's not that far from "face-palm". LOL
| integricho wrote:
| Is there a good book on the history of development of graphics
| hardware, including the PC-era cards also?
| christkv wrote:
| Closest thing I have found is
| https://www.computer.org/publications/tech-news/chasing-pixe...
| deaddodo wrote:
| There's no good book, necessarily. However, it's easy enough to
| piece together the information from Wikipedia[1] and a few
| articles[2]. In addition, there are a few great youtube
| channels that offer some great commentary on specific
| cards/generations and comparisons: PixelPipes[3],
| PCRetroTech[4], LGR[5] and the various other obscure channels
| recommended once you go down that rabbit hole.
|
| 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
|
| 4 - https://www.youtube.com/c/PCRetroTech
|
| 5 - https://www.youtube.com/c/Lazygamereviews
| pizza234 wrote:
| I'm not aware of any book, either.
|
| 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
| ogurechny wrote:
| Psst, thg.ru has copies of old articles with non-dead images
| and non-broken design.
|
| 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.
| ..
| bpye wrote:
| I had some fun digging through the PowerVR Series 1 source code
| [0] that was released earlier in the year. It includes a
| simulator that you can use to piece together how the hardware
| itself worked, some of it certainly looks like a rough
| translation from the RTL...
|
| [0] - https://github.com/powervr-graphics/PowerVR-Series1
| Keyframe wrote:
| (campfire crackling sounds): It all started back with E&S...
| phire wrote:
| Not quite what you want, but Michael Abrash's Graphics
| Programming Black Book is available for free online, and covers
| the software rendering side of computer graphics in the early-
| mid 90s, ending at Quake, just before 3d accelerators hit the
| scene.
|
| 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.
| recycledman wrote:
| Good old times when I owned a voodoo 3 and used to play Team
| Fortress.
| alexose wrote:
| Speaking of nostalgia... the _click_ of the relay when your 3 D
| card turned on.
|
| (Although I think that was only with the original Voodoo and
| Voodoo2)
| superkuh wrote:
| Ah Team Fortress... the age old enemy of Starsiege: Tribes.
| Tribes looked better under Glide too.
| googlryas wrote:
| I played way more TFC than Tribes, but man, Tribes had a
| certain quality to it that I have never found in again in a
| game.
| Infernal wrote:
| Aw yeah, I saved up for a VooDoo 3 just for playing Tribes on
| my 56k modem, fall 1999 - running windows 98 on a Packard-
| Bell that we got from Circuit City...
| pcdoodle wrote:
| Truly the golden age of gaming. It leapfrogged everything
| at the arcade and consoles of the time.
| Nuzzerino wrote:
| Ahh, brings back memories of the golden days of playing Deus Ex
| and Diablo 2 with a voodoo4.
| cloudking wrote:
| Can't forget Quake 2 and Star Wars, mind blowing experiences in
| the late 90s https://youtu.be/cnktx06feII
| jahewson wrote:
| I had the 5500 back in the day and it was so long I had to bend
| it get it to fit in my ATX case.
| jotm wrote:
| That was my dream card for a long time. A Voodoo 2 (3D only, no
| 2D output, had to run through a second card, wow) overclocked to
| hell lasted me a good number of years until I upgraded to a
| GeForce MX 440 lol
| theposey wrote:
| Voodoo 2 SLI _chefskiss_
| Bancakes wrote:
| You can always use dgVooDoo [0] to translate Glide to DirectX.
| With great performance, too.
|
| [0] https://github.com/dege-diosg/dgVoodoo2
| georgeecollins wrote:
| This brings back some memories of making 3d games in the 90s.
| 3DFX cards were the best. I think our graphics programmer bought
| some 3dfx stock. It was great at the time but who wanted to
| support GLIDE? Our engineers. But DirectX was the obvious thing
| to do.
|
| 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.
| philistine wrote:
| I knew a guy who bought Voodoo stock. He had a shirt and
| everything. Didn't end well for him.
| Chinjut wrote:
| Damn, he lost his shirt.
| arbitrage wrote:
| So how much NVIDIA stock did you buy? How much profit were you
| able to make from your foresight?
| georgeecollins wrote:
| Not much. It's just a nice memory of an exciting time.
| userbinator wrote:
| Original discussion (Russian):
| https://www.modlabs.net/forum/topic/60674/
| Klaster_1 wrote:
| Wow, glad to see Modlabs still going! Modding my and friend's
| PCs back in 2004 after reading through it and Overclockers.ru
| is among my fondest childhood memories.
| philistine wrote:
| > He created his own custom PCB and even improved the design by
| fitting a 4-pin Molex power connector, so an external power brick
| wouldn't be needed.
|
| 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.
| PragmaticPulp wrote:
| > With this weeks' news of the 4090 using 450 watts at peak,
|
| 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.
| tom_ wrote:
| My voodoo 6000 had a Molex connector, I guess to facilitate
| testing in ordinary pcs.
|
| (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.)
| uberduper wrote:
| You had a voodoo5 5500.
| tom_ wrote:
| That's what I assumed, and it was only when I was idly
| googling for 3dfx stuff a few years ago that I realised it
| probably wasn't. The 5500s all look to have 2 chips, and
| are normal sized. Mine had four chips, and it was... large.
| Like, very large. Also had a plastic handle.
|
| 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.co
| m/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.)
| uberduper wrote:
| Interesting stuff. I worked at 3dfx in the last few
| months of their existence. All the 6000 I saw had the
| external psu. I was just an IT nerd so I wasn't involved
| with the cards.
| badocr wrote:
| Uh, as far as I recall, the 6000 never reached retail
| shelves.
| atdrummond wrote:
| There were at least 1000 test units, so it wasn't
| impossible to get one's hands on a board.
| uberduper wrote:
| The voodoo5 5500 had molex power connector on the card.
| The voodoo5 6000 had an external psu.
| atdrummond wrote:
| Sorry - was just speaking about the possibility of buying
| a 6k. It's been so long I wouldn't trust my own memory of
| which board had which configuration so didn't intend to
| comment on that discussion.
| ChuckNorris89 wrote:
| I get the snark but that's peak power. Chances are that VooDoo
| uses more power at idle than the 4090. Modern silicone is very
| efficient are throttling down at idle and old GPUs would use
| max power all the time.
| Bluecobra wrote:
| This card looks pretty good, but it's no match compared to the
| Bitchin'fast!3D 2000. 425 BungholioMarks don't lie!
|
| https://imgur.io/d3SSTNT
| cptskippy wrote:
| I love that having 256MB of GPU memory is just as absurd today
| as it was back then but for the exact opposite reasons.
| rocket_surgeron wrote:
| It's such a shame that poor management decisions killed the
| potential for LMNOPRAM.
|
| GDDR6 is only now, decades later, catching up.
| jamiek88 wrote:
| Ha I must be the latest person to fall for this gag. 20 years
| on and I'm googling LMNOPRAM !
| marcodiego wrote:
| Voodoo linux drivers were open source IIRC. No firmware blob was
| required. The day nvidia bought 3dfx was very sad one for me.
| sprash wrote:
| There was actually not much need of drivers or firmware. 3Dfx
| products had a very simple and straight forward way to write
| commands directly to registers [1][2][3].
|
| 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...
| userbinator wrote:
| It's a fixed-function accelerator. They were all like that
| AFAIK.
| dleslie wrote:
| It was sad for everyone in the gaming industry.
| hknmtt wrote:
| "The graphics chip was codenamed Napalm, packed in about 14
| million transistors, and was built on the 250nm process." - we
| have progressed by 35x in 20 years.
| [deleted]
| Bancakes wrote:
| I think more if you count teraflops.
| dangrie158 wrote:
| Should be more like 35^2 considering the same area but scaled
| down features?
| vikingerik wrote:
| Moore's Law would correctly give a factor of 35x linear
| density so 35^2 transistors on a square or rectangular die.
| But speed doesn't scale linearly with transistor count,
| both because there are diminishing returns per transistor,
| and because clock speed plateaus.
|
| (Remember Moore's Law is about density, not speed. Density
| sometimes begets speed but not always; one big
| counterexample is memory access latency time.)
| rezmason wrote:
| I love seeing folks pour monumental effort into their passion
| projects.
___________________________________________________________________
(page generated 2022-09-24 23:02 UTC)