4 ms·
After watching the LGR video on this, I was left thinking about his comment about the lack of 3D support. I figure this is due to the fact that the WeeCee uses
by Teknoman117 5y ago
After watching the LGR video on this, I was left thinking about his comment about the lack of 3D support. I figure this is due to the fact that the WeeCee uses components that are still manufactured, and no 3D chipset from that era is still in production. There's a ton of VGA clones with VBE 3 support for all sorts of industrial and IPMI purposes.
I was left wondering about the complexity of implementing a Voodoo 3 or early GeForce class card in a modern FPGA. They've got the logic density, memory bandwidth, and hundreds of hardware MACs. Compared to all the other technical hurdles, I keep thinking the most difficult task is actually getting ahold of the DirectX driver implementation manuals and references.
A $200 Xilinx part has 700 25x18 hardware MAC units, a couple hundred thousand logic cells, support for about 10 GB/s of memory bandwidth, and hardware PCIe support (use a PCI to PCIe bridge chip, if those are still around).
Things like the Graphics Gremlin and Snark Barker give me hope that some people are out there who'd care.
That and enough people who have the required skills and the desired to implement a graphics card from 20 to 25 years ago for antiquated operating systems.
- rasz 5y agoThere is 3D in the graphic chip, but no drivers. There was a short period they even tried competing in consumer gaming market https://www.youtube.com/watch?v=O6ZUyRWvHb8 https://www.youtube.com/watch?v=O6ZUyRWvHb8
- gchadwick 5y agoI think it's technically feasible, but a fair chunk of work, especially if you want wide compatibility (either presenting the same hardware interface as a real card, no doubt with lots of reverse engineering to do or doing your own interface and writing a DX driver for it and then testing it across lots of games). It's also not going to be cheap, on top of the FPGA you'll want a PCB and support chips. Charging a few hundred dollars for retro hardware replacements is feasible but for now at least actual retro 3D cards can be had for less money. So an interesting project, but I don't think we've reached the point it's interesting enough for someone to attempt. I think there's far more interest in FPGA replication of full consoles right now (check out the MiSTer project https://github.com/MiSTer-devel https://github.com/MiSTer-devel). There's lots of excitement around the upcoming PSX and Saturn cores for that. I suspect a Voodoo/GeForce replica would be a similar amount of work but far fewer people interested in having it.
- AshamedCaptain 5y agoMuch simpler to first implement Voodoo 3 in Dosbox or qemu, and that is already a hard task.
- garaetjjte 5y ago>A $200 Xilinx part I think it should be possible to use cheaper FPGA to make PCIe-host-as-PCI-device bridge to connect it to modern ARM SoC with integrated GPU and make some driver contraption on both sides to make it work. It feels like cheating though.
- Teknoman117 5y agoThat's certainly a possibility. Essentially "GPU over non-transparent bridging". The idea was to stay open hardware / open software if possible though. Admittedly the xilinx toolchain is very closed source, but the "project x-ray" reverse engineering effort of Series 7 parts is quite far along.
- pcwalton 5y agoYou could probably layer a software implementation of the rasterization pipeline on top of a compute-focused open-source GPU architecture like Nyuzi [1]. NVIDIA has a paper showing how to do this [2]. I would expect a 2x slowdown over hardware rasterization, based on NVIDIA's work on such an approach, but this is probably fine if you're just trying to match Voodoo3 performance. And one could imagine bolting a minimal hardware rasterizer on top of Nyuzi to speed things up once the software implementation is working. Of course, all this is going to be a lot of work, and the much quicker approach would just be to run llvmpipe on top of your favorite open-source CPU core. [1]: https://github.com/jbush001/NyuziProcessor/ https://github.com/jbush001/NyuziProcessor/ [2]: https://research.nvidia.com/publication/high-performance-software-rasterization-gpus https://research.nvidia.com/publication/high-performance-sof...
- mysterydip 5y agoPCem has a voodoo emulated (with some caveats), that would probably be a good starting point.
- monocasa 5y agoI actually started working on that as a side project (a VooDoo 3 compatible set of HDL, in my case in chisel). The drivers are open enough, the chips are surprisingly well documented, and in contrast to the GeForce cards, VooDoo 3 doesn't do hardware T&L, so you can simply ignore all the vertex manipulation parts of the pipeline.
- Sophistifunk 5y agoIdeally you wouldn't want to re-create an era-correct card, but something that solves that era's problems (2d blit, blending, triangle rendering, pixel storage) using modern tech (fpga, cheap ram).
- 00deadbeef 5y agoI'd love something like this with a PCI slot, I still have my Voodoo 3.