Yesterday my Retrocomputer powersupply blowed up, and I was left realizing the same questions. The emulation of a Windows 9x gaming architecture looks like the elephant in the room of retrocomputing.
PCSX2 and Dolphin are emulating some extremely exotic hardware on on my relatively powerful laptop (yes, not perfect emulation, but not horrible by any means), and yet I have to keep an old machine to run most games from the early '90s to play them without requiring always more complex and convoluted patches and hacks that would be required to keep them running on modern systems.
( Without taking in consideration the differences in power consumption between an old duron machine running on a 350W power supply and a 70W AC Adapter. )
I mean, giving a cursory glance we have the following:
- * Qemu is quite a stable emulator/virtualizer for the x86 architecture, it supports PCI Devices emulation and has been shown to be quite adaptable for different requirements;
* By looking at mame and some Dreamcast emulators status, it seems quite clear that 3dfx and PowerVR chips are understood quite well,and the experimental integration of 3dfx capabilities into Dosbox shows that using such cores for emulating a Direct3D/3Dfx card is somewhat feasible;
* Wine lately has shown to have cleared the understanding of most of the weird behaviours that older software used under Windows 9x, By now I'm having better luck running some game on Mac OS X running it trough wine rather than using Windows 7, especially 64 bit. Most of the problems nowadays are related to older games and application using some low level calls to the hardware, which an API abstraction layer has very little to mess about.
* Most if not any video card built in the last 3/4 years has been able to run OpenCL and "Fourth generation" shaders good enough to be used for Photoshop/Premiere/Final Cut, and all of them have shown support for programmable shaders. I've had extremely positive results on latest Intel HD video cards; by this point, wondering if a system could offload some of the computation to a videocard is akin to wondering if any modern processor supports a FPU.
I'm a graphic artist with a bit of understanding of CS, not a coder, so I've really no idea how much complex would be to write something capable fo emulating a DirectX 7-era PC (which could be summarized as...let's see, 400Mhz Pentium II architecture, roughly 128MB Ram, Pre-TnL video Card + Voodoo 2, Soundblaster 16) but it's quite clear that there are enough informations regarding such architectures.
Given that we're speaking about an extremely heterogeneous architecture, it's even possible that most applications do not require the same tight timing that makes some systems extremely hard to emulate, but as I said before, I'm not a coder, it's just speculation on my part.
Lately I've found that even some GOG games that are pretty much unsupported on my configuration despite all the official and unofficial patching, and they're Windows 9x based. Nothing that could be faulted on GOG, by the way, it's just the "natural" divergence between older and newer archs.