Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The WeeCee – Tiny Vortex86-Based DOS Gaming PC (vogons.org)
132 points by nickt on Nov 19, 2021 | hide | past | favorite | 43 comments


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.


I 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). 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.


I 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.


You 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/

[2]: https://research.nvidia.com/publication/high-performance-sof...


There 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


>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.


That'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.


PCem has a voodoo emulated (with some caveats), that would probably be a good starting point.


Ideally 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).


I'd love something like this with a PCI slot, I still have my Voodoo 3.


Much simpler to first implement Voodoo 3 in Dosbox or qemu, and that is already a hard task.


The SOM datasheet without having to fill out a form: https://tech.icop.com.tw/manual/som304rd-vi_datasheet.pdf


via LGRs video: https://www.youtube.com/watch?v=USHvvSbYmJA

rasteri also did a couple of build videos: Part 1: https://youtu.be/aJEp4ZUG7BI Part 2: https://www.youtube.com/watch?v=2P1E2vjpcRo


The craziest thing is this guy built a soundcard from schematic to pcb in hand in a section of a youtube video.


Vortex86 is just as interesting as the WeeCee. Surely they must have an x86 licens, where did they get that? They don’t appear to have a license for AMD64, but could they get one?


Afaik they got it from SiS


20 or 30 years ago there were many manufacturers having x86 licenses. Some lost their interest, some went bankrupt, some were bought by the other x86 manufacturers.

Today, apart from Intel and AMD, only VIA has the right to produce x64 CPUs.

https://en.m.wikipedia.org/wiki/List_of_x86_manufacturers


Vortex86 implements i586, which should surely be IP-unencumbered by now? Why would they need a license?


> Vortex86 implements i586, which should surely be IP-unencumbered by now?

Even if you go from the launch date and not the last errata, the i586 architecture is only 28 years old. In today's world of copyright, that's practically an infant.

To be clear of most patents, you generally need at least thirty years, and copyrights are generally more than twice that number.

You will probably require a license from Intel. (Though whether or not they care enough to enforce things is another matter entirely).


I would love to see a proper legal analysis of this.

From what I recall, the closest thing to an answer I've received in the past is that you can not use the manuals to a modern x86 chip (or other part) to learn the instruction set. The use of any copyrighted material infects you project if the rights holder is particularly egregious about enforcement to that level.

It's the same thing with the IBM PC BIOS reverse engineering. If you'd seen the BIOS manual, you couldn't work on the clone. I can't recall if that was purely seeing it or because the source code to the IBM BIOS was printed in the back of the manual.

I know Intel, Microchip, and ARM have aggressively shut down any FPGA project that implements an instruction-level compatible core of x86, AVR, PIC, or ARM CPU. Intel seemingly hasn't gone after any of the 16-bit x86 core implementation, but I haven't seen an open source 386 or newer core.



I love this project, but I doubt it would stand up to a legal assault if Intel wanted to destroy it.


I can understand patents (though i thought it'd be 17-20 years, not 30) but why would they need to worry about copyright to make new implementation of the x86 instruction set?


Using AMD as an example you shouldn't? But the oracle ruling calls that into question. An instruction set is an interface.

But, that ruling is extremely whack as it means nobody but the ISA originator can make an assembler, for example.


The final oracle ruling is that it was fair use.

That being said, back in the day there was concern about all of that, hence why a Z80 is binary compatible with an 8080, but has different mnemonics. It's all LD this ST that, as opposed to the 8080's MOV.


Just a note that Z80 mnemonics use "ld" for all loads and stores. (https://worldofspectrum.org/z88forever/dn327/z80instr.htm#ld...)


Blergh, you're totally right; I've been in RISC land for too long.


I was always confused about patents, copyrights and licenses when it comes to hardware.

Surely if you do a (clean-room) implementation of hardware that is interface compatible with existing hardware that is ok? Isn't that how we got the IBM PC Clones?


> Isn't that how we got the IBM PC Clones?

IBM encouraging developers to target their BIOS and not the hardware, and BIOS clean room designs is where we got the IBM PC clones - but that's still the world of software. (Note: IBM managed to take clones by Eagle Computer and Corona Data Systems off the market because the software wasn't a clean room design).

The IBM PC's pluggable design with already existing standard ports made it easy to build clones, because it wasn't the hardware that was being interfaced with. If you could clone the BIOS and have that speak to your components however you wanted, then you could make an IBM compatible.


From my understand this is correct to a point but a more pressing issue is that some specific implementations of algorithms in hardware may be under patent.

If this is the case it means a competitor can use an alternative design that is less efficient at the cost of space/heat but that can result in substantially less competitive product.


> It's a mini PC capable of running MS-DOS and Windows off a MicroSD card that plays well with tons of classic PC games and software, boasting Sound Blaster Pro and Wave Blaster/GM compatibility, along with SXGA 32-bit color graphics with VGA out

https://circuitmaker.com/Projects/Details/rasteri/weeCee


A pain re: no kicad or PDF schematics.

I just gave up on looking at them.


I used to think the Vogons forum was about DOS, but it looks like it's about a lot more than that. There's no "About" section on the site.


Very old games on new systems


Thanks, you're the first person who's ever told me that's what it means!


It was particularly amusing to see the Windows installation identify it as a Cyrix* processor.


I wonder if, with an open source bios, this could achieve RYF certification.


Saw this via LGR's patreon earlier this week, I want one so bad.


Holy crap this thing is awesome.... I would gladly pay ~$400 for a kit of this. Please someone with skills make this a reality! Great job rasteri!


That forum is what looks even more interesting than the hardware being reviewed in that post.


It is. It's also a community of packrats that have a copy of every driver and bios under the sun, including huge dumps of FTP archives that have been lost to the sands of time (e.g. NEC or Acer's support FTP)


This is awesome but I wish it had 3dfx or Voodoo support. What are my options?


Build a PC with a 3DFX card.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: