It seems that within the past few years, there have been a great increase in the number of articles on low-level GPU internals/programming, which was previously a very niche subject. However, once you understand that a GPU is conceptually a processor specialised for graphics operations, with its own instruction set and RAM, then everything seems quite straightforward, and you can actually start thinking about how to implement one.
The specification is a behavioral target, rather than a circuit diagram.
Did anyone else get a slight feeling of LLM-ism from that sentence? Not a complaint, because I've noticed AI is definitely leading to some great boosts (the somewhat related https://news.ycombinator.com/item?id=49717638 is on the front page as I write this.)
In case it's helpful to anyone, MiSTer is a project[0] that recreates classic computers and video game consoles on hardware.
What do I mean by hardware?
Rather than emulating the device in software, which can cause various issues (especially related to timing), by mapping the actual device logic to a field programmable gate array (FPGA), you can achieve an "exact" replica of the hardware.
It's a super cool project, and I highly recommend checking it out if you have an interest in old machines (Apple II, Commodore 64, etc.).
I mowed lawns for two summers to save up for a Voodoo 3000 PCI, still didn't even have half of what I needed. Parents covered the rest. Basically nothing I had hoped to be able to play worked. Spent an entire summer just trying to get Arcanum to even run, never did succeed. Learned a whole lot.
Goddamn if that buyer's remorse didn't scar me for life, the amount of researching I did before any purchase from then on was obsessive. I still think of the card fondly for what it represented to 10 year old me. This story does have a happy ending, we ended up getting a Dell XPS not long after with a Pentium 3 & a GeForce 2, back when they were still beige.
So bummed out that I wrecked the HDMI out on my MiSTer. I was trying to figure out a new monitor layout and unplugged/plugged it in a few times. I could SSH into it no problem, but no HDMI out. After peeking around on the forums, turns out that the MiSTer doesn't take kindly to that while it's still on-- I forget the technical reason. Oh well. Many, many hours of fun playing games with my son on the it, I got my money's worth.
Dunno which variant you bought, but the QMTech mister clones on Ali Express are affordable, work perfectly well, and come with the expanded 128MB SDRAM expansion and analog I/O board bundled up in a convenient case. I have 2 of them, along with the MiSTer Pi, and I'll probably pick up a couple more for dedicated applicaitons (3d-printed retro computer workstation, Normal/TATE mode cab builds, and a couple just to hook up to the CRTs I have lying around).
Tomb Raider (1996) ostensibly required a Pentium, and I remember (though memory may be faulty) the demo refusing to run on my 486. Does this FPGA 486 support the additional Pentium instructions?
Not require, just recommends Pentium 60 minimum. Like Quake Tomb Raider loves pipelined FPU, 30 fps on Pentium 60 vs 15 fps on 486DX2@66 and 20 on DX4@100.
Iirc the only way of getting near 30fps on a socket 3 board is by bumping the bus to 50mhz, having fast cache and a 5x86 and enabling branch prediction and the fpu optimisations. And then wait for it to fault out. Never tried it with an Pentium overdrive though, maybe that will work but those do not like higher bus speeds. Might also be a nice difference in DX4s since the amd and cyrix parts have different fpu implementations to the intel ones.
I remember playing Star Fleet Academy demo on my 486DX5@133 and a Trident 3d SVGA card at slow motion in battles. The game requires a Pentium 75 or 90 and a DirectX accelerator.
The only PC desktop accelerator that could be considered early depth testing would be tile based 1996 PowerVR. ATI introduced HyperZ in 2000 Radeon DDR (R100), Nvidia followed in 2001 with GeForce 3 LMA. From what I remember Radeon compressed Z gains were surprisingly minimal, like 10-20% when turning it on/off, but Im sure it became crucial later on when real shaders (2.0) started being used.
The idea that we should ever allow companies to gate how we use hardware is a joke. The sustainability here is just wildly off the charts impressive. We as a species have blanket legal right to fix things we buy. Any legal monkeying that that from is us an affront to all of us, and if applicable whatever god or gods that made us.
There is also a recent fork by github user janisc which is developing a direct 31khz output.
--
Speaking to general : To be clear, none of these MiSTer cores include the Voodoo graphics portion discussed in the parent link.
I doubt that the degree of sheer hyper-optimisation required to get a Voodoo (plus the Pentium to make it meaningful!) into a DE10-Nano necessarily exists. Never-say-never, sure, but also, just-no - hahaha.
That work is for higher specced boards like the Xilinx discussed.
I imagine it would...I haven't tried the core, but most of them maintain the original outputs over the VGA port. Even if, for some bizarre reason it didn't, you could just enable the vga_scaler and force it.
The specification is a behavioral target, rather than a circuit diagram.
Did anyone else get a slight feeling of LLM-ism from that sentence? Not a complaint, because I've noticed AI is definitely leading to some great boosts (the somewhat related https://news.ycombinator.com/item?id=49717638 is on the front page as I write this.)
What do I mean by hardware?
Rather than emulating the device in software, which can cause various issues (especially related to timing), by mapping the actual device logic to a field programmable gate array (FPGA), you can achieve an "exact" replica of the hardware.
It's a super cool project, and I highly recommend checking it out if you have an interest in old machines (Apple II, Commodore 64, etc.).
[0]https://mister-devel.github.io/MkDocs_MiSTer/
Goddamn if that buyer's remorse didn't scar me for life, the amount of researching I did before any purchase from then on was obsessive. I still think of the card fondly for what it represented to 10 year old me. This story does have a happy ending, we ended up getting a Dell XPS not long after with a Pentium 3 & a GeForce 2, back when they were still beige.
I really wanted a DX4@100 back then but it wasn't available in my area. I "had" to get a Pentium 60, which I was not happy about lol.
Upgraded to a Pentium 200 MMX. Whoa!
And then I also got a specific batch Celeron 300a to overclock.
"Stole" my dad's Matrox Mystique, coz what does he need a "3D" card for? Played "Destruction Derby" a lot, just coz 3D card: https://archive.org/details/dd2matrox_19961205
Wow, the times!
The idea that we should ever allow companies to gate how we use hardware is a joke. The sustainability here is just wildly off the charts impressive. We as a species have blanket legal right to fix things we buy. Any legal monkeying that that from is us an affront to all of us, and if applicable whatever god or gods that made us.
https://github.com/nand2mario/z486_MiSTer
There is also a recent fork by github user janisc which is developing a direct 31khz output.
--
Speaking to general : To be clear, none of these MiSTer cores include the Voodoo graphics portion discussed in the parent link.
I doubt that the degree of sheer hyper-optimisation required to get a Voodoo (plus the Pentium to make it meaningful!) into a DE10-Nano necessarily exists. Never-say-never, sure, but also, just-no - hahaha.
That work is for higher specced boards like the Xilinx discussed.