Hi everyone
I am considering building a primarily-DOS gaming PC inspired by the incredible WeeCee. My goal is to create an all-in-one that will have the maximum compatibility with the first 20 years of the PC platform—from 1981 to 2001. That’s both hardware (sound cards) and software (games) compatibility.
The challenges as far as I understand them are:
A. Older games driven by clock speed. Very surprised at Jazz Jackrabbit here.
B. The mess of early 3D, AGP, PCI, Glide, etc.
C. A large variety of sound cards, most of which are ISA.
Here are the changes I’m considering, and my reasoning for them. I would very much appreciate everyone’s insights.
1. Vortex86 SOM based. All-in-one, and keeps most of the nasty engineering inside the unit.
2. But based on the 86DX3 because of its PCIe and SATA support. (And higher Quake framerate 😀
3. PCIe slot, required to (optionally) add a PCIe graphics card. OpenGL is required to cover more games, including GliDOS support.
4. ISA slot, to add original sound card hardware.
5. Added HDMI for modern monitor support.
6. LPT port. Supports dongles and old printers.
7. Optional FPGA + RPi CM4 integration for hardware emulation.
8. MiniITX form factor. Small enough for me, broad case support. The Streacom is my personal target case.
9. Compact flash over IDE for drive support.
10. Floppy and IDE headers for original drives, or Gotek.
The FPGA + CM4 I think are required to reasonably cover all of the sound cards available, without purchasing individual sound cards. It also allows for some neat tricks like bridging from the WiFi to Ethernet, effectively allowing WiFi running under DOS. And, potentially, certain Bluetooth profiles, such as to support Bluetooth audio devices. By mediating the bus interactions through the FPGA (which has PCI support built in), it also makes it much easier for more developers to “augment the system”, because they can target development on the CM4, rather than the FPGA.
FPGA: I would go for the Cyclone IV, because that’s already well-used through the MiSTer FPGA project.
On the rear, I looking to add a variety of DB connectors, so that different interfaces can be built and patched through where required. For example, for gameport, midi MPU-401, CGA / EGA interfaces, etc.
Without original cards, the system would fit in a mini ITX low profile. But it would have the slots to support them. With an early-generation NVidia, you can get away without fans, so that system will run 100% silent.
Problems as I foresee them:
1. Cost. But it’s a single machine, rather than a few machines from that period to get broad support. Once you add in the various sound cards, original or reproduction, MPU401 interfaces, MT32s, the overall cost could be lower than multiple machines. Also depends on how your significant other feels about lots of noisy beige “space wasters” 😀
2. Windows 98. According to ICOP, not supported by the DX3 due to a lack of drivers. I’m awaiting clarification from them; has anyone here got enough of Windows 98 working? This is why I’m targeting Windows XP, which is supported. There’s a short list of games, though, that are win98 but not supported under XP; though many of them I think can be patched.
3. ATAPI support under DOS. I’ve seen https://shop.tattiebogle.net/product/prod_EkTnv3Tk2Trxhf, but that still has issues and seems stagnant. A smart FPGA developer could no doubt get things working though with this hardware design.
4. Current chip availability. The DX3 is available, the DX SOM is constrained. CM4’s pop up occasionally, but will be constrained for some time. RADxa might be an alternative, but the support on the Pi is definitely best-in-class.
I’ve not yet thought through adding a few additional bits, such as ADCs / DACs / DSPs. Let me know if I’m missing anything big.