Great Hierophant wrote:But imagine if you had one system that could play any DOS, Win 3.1 or Win 9x game as they were meant to be played. No need to waste real CPU time on drawing pixels or calculating waveforms. You could use MS-DOS rather than some lesser implementation. Naturally it would have to be tied to a PC architecture, but the less to emulate, the less that can go wrong.
I suppose what I am describing is "modular emulation." My idea of the modular concept is that you only emulate what you need to emulate. If the video card works properly with the game, you should be able to save on performance by turning off the video emulation. The same goes for the sound and I/O emulation. If all it takes to get them to work properly is to emulate a slower CPU, so be it.
I don't think your concept is too far-fetched. VDMSound is already a "modular emulation", although not exactly in that sense --it only emulates the sound part, but you cannot activate/deactivate emulation for a specific hardware. The emulation is far from perfect nonetheless. For instance, many Gremlin games (like Fragile Allegiance and Sandwarriors) tend to have stuttering sound even when using VDMS. Furthermore, I just discovered that VDMSound cannot play CD Audio from DOS games if I'm using Nero's virtual CD ROM drive (mounted CD image).
That being said, there are instances when I prefer VDMSound instead of DOSBox. For instance, when I run DOS games in SVGA resolution --using DOSBox tend to be slower than VDMSound unless I have the ultimate kickass CPU (TM).
However, a weakness of VDMSound is that it cannot run DOS games if the said games cannot run under Win2000/XP command prompt on the first place (Star Rangers is an example). Thus, I'm really interested in your particular idea below:
Great Hierophant wrote:Well, for this I would suggest an "environment manager", in which a program fools the game into thinking its being run in real-mode DOS instead of in a virtual mode DOS windows. This would be a poorer performer, but it would still be using almost all the host hardware and software to reduce the strain.
I think it will be great if somehow this "environment manager" can be made --for instance, if we somehow can replace Windows 2000/XP NTVDM with something that is more "DOS games friendly".
Consider this: there are already many hardware emulators out there. GLide Wrapper is an example, VDMSound is another. If, somehow, we can combine the (conceptual) environment manager with existing hardware emulators, then I guess it may be close to your concept of "modular emulation". Furthermore, people already doing that on some cases, such as combining VDos32 with GLidos, or GLidos with VDMSound.
Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.