frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Ask HN: How were graphics card drivers programmed back in the 90s?

4•ferguess_k•6h ago
I read this doc and it completely blew my mind.

https://www.haiku-os.org/legacy-docs/benewsletter/Issue4-8.html

I have done a few simple embedded driver development but graphic cards, even in the 90s, look like beasts to me.

I don't think there is any books on this topic -- the best thing we have is Linux Device Driver, and I don't think any book is going to dive deep into graphic card driver development. If I want to know the details, I'll probably read the source code of OSS drivers.

I'm wondering if there are more stories or blogs like this (maybe in the 80s too, remember those Hercules cards?). It really warms me up thinking about sitting in a cube, writing code for device drivers, reading docs everywhere, banging my head on every solid wall until I start to see code in air, quaffing coffee one by one, going into deep night...I know it's way more romantic than the real story but I can't keep myself wondering about it.

Comments

PaulHoule•6h ago
These were pretty proprietary I remember.
ferguess_k•5h ago
Yeah I think that was the case and still the case for many companies (nVidia). From what I briefly looked up, good thing that we can now develop drivers for virtual graphic card, and there are OSS drivers from both Intel and AMD.
JohnFen•6h ago
During that time, I had a job for a major games company doing nothing but developing Windows graphics card drivers. They were moderately complex beasts (enormously complex compared to other device drivers), but not really that huge of a thing.

The biggest effort about them was reverse-engineering certain cards. The games often used very strange video settings, and the card manufacturers had poor, sometimes no, documentation about their operation at a low level.

Lumoscore•5h ago
From what I’ve seen, a lot of 90s driver work was exactly that mix of partial docs, trial-and-error with registers, and mailing some engineer at the card vendor hoping they’d admit to a bug. It wasn’t glamorous, but it’s kind of wild how much of it came down to persistence and a bit of luck
ferguess_k•5h ago
Thanks. I bet there were a lot of battle stories like what I read. Alas most of those went into history's garbage bin :/

I was even thinking about getting my hand on a few cheap physical cards (not sure which ones are cheaper), a Pentium box, and see if I can do anything -- even displaying some colors is fun enough.

MisterTea•4h ago
You can download the Voodoo 2 programming manual which is only around 250-something pages long. The Voodoo2 was fixed function; you loaded assets into the voodoo memory then called functions to operate on those assets. The driver takes care of those two roles by loading and managing the assets in the voodoo memory and an API to program the registers on the card to execute functions on the loaded assets. There were more steps involved with geometry processing which happened in the driver but I am unsure if those were handled in user space by the libraries the application called or the driver code itself.

This isn't 250 something pages, only 132 so maybe I was wrong, but its a good look into how the Voodoo2 worked: https://www.dosdays.co.uk/media/3dfx/voodoo2.pdf

See also: https://3dfxarchive.com/reference.htm

A fun tidbit is the voodoo2 has a 2D mode but was not VESA compliant so it could not be used in a PC without being tied to a VESA card for 2D graphics. I believe that ability was there for custom and non-pc platforms.

markus_zhang•2h ago
Thanks, that’s interesting. I never owned a Voodoo card but I was definitely drooling over it when I saw a demo machine running Unreal on it.

And the second link definitely has everything one needs to do everything with those cards.

Ask HN: What's a good 3D Printer for sub $1000?

213•lucideng•3d ago•273 comments

Ask HN: Walled garden dwellers: What keeps you there?

6•FlyingAvatar•1h ago•4 comments

Ask HN: How were graphics card drivers programmed back in the 90s?

4•ferguess_k•6h ago•7 comments

We built automated testing for vibe-coded apps

2•MatveyF•4h ago•2 comments

Tell HN: Apple Broke Fitts' Law in Tahoe

30•dmd•11h ago•19 comments

Ask HN: LLM Prompt Engineering

3•Scotrix•10h ago•3 comments

I launched a Mac utility; now there are 5 clones on the App Store using my story

127•tTarnMhrkm•2d ago•132 comments

Ask HN: What Are You Reading?

9•ImPleadThe5th•1d ago•32 comments

Ask HN: What Terminal apps (via homebrew) support 24 bit color on macOS Tahoe?

4•amichail•1d ago•8 comments

Paid $2400 to Cloudflare, support refuses to help

142•thekonqueror•3d ago•29 comments

Ask HN: How can we reliably determine if text was written by AI?

4•denis_dolya•7h ago•6 comments

Ask HN: Generalists, when do you say "I know enough" about any particular topic?

32•AbstractH24•2d ago•85 comments

Ask HN: Dark Mode for HN?

43•todotask2•6h ago•41 comments

Ask HN: How to be ambitious/hungry again?

9•Poomba•20h ago•15 comments

Is the era of personal software portfolios over?

10•justanotherunit•1d ago•9 comments

Ask HN: How to deal with fake job applicants?

16•rswerve•1d ago•24 comments

Ask HN: Is it immoral not to correct someone else's grammar on social media?

2•amichail•1d ago•27 comments

Ask HN: Why isn't capability-based security more common?

12•killerstorm•2d ago•21 comments

Ask HN: Is Claude Code less useful in recent weeks for you?

9•vintagedave•1d ago•11 comments

Advertising in Microsoft Excel

12•BLKNSLVR•1d ago•8 comments

You've reached the end!