The VM route is viable *with modern hardware*, because its CPUs are much much faster and memory much more capacious than the systems being emulated. On late-1980s and early-1990s CPUs like the 80386 (which was introduced in 1985 and was becoming common in the early 1990s), it is wholly impractical to expect to be able to do instruction-level, let alone cycle-accurate, emulation of even an 8086, let alone a 286.
Posted Oct 22, 2012 5:13 UTC (Mon) by raven667 (subscriber, #5198)
[Link]
The 386 does run 8086 software just fine. Sure some runs too fast or whatever but the CPU has the appropriate guts to run 8086 software in a VM and that feature was in use at the time. For example Concurrent DOS 386.
Of course the rest of this is high speculation as it wasn't what happened.
Plasma Active Three released
Posted Oct 22, 2012 15:21 UTC (Mon) by nix (subscriber, #2304)
[Link]
I know it does. But if insn-level emulation was required, it couldn't possibly have (i.e. if it had done what dosbox et al do now).
Plasma Active Three released
Posted Oct 22, 2012 17:12 UTC (Mon) by raven667 (subscriber, #5198)
[Link]
Win3.1 with virtual memory enabled and WinNT, Win95 had the same problem so how they solved it should be sufficient. DOSBox does better but that may because it creates virtual video, sound and network devices in its VM. I don't think it does any more instruction emulation/trapping than a WinNT DOS window.
Plasma Active Three released
Posted Oct 24, 2012 15:49 UTC (Wed) by nix (subscriber, #2304)
[Link]
The two are quite different. Win3.1/NT/95 were all 32-bit systems, so they had the benefit of being able to use VM86 to do 90% of the work for them. In long mode (64-bit mode), vm86 no longer exists, so this approach cannot be used.
Plasma Active Three released
Posted Oct 24, 2012 16:27 UTC (Wed) by raven667 (subscriber, #5198)
[Link]
Thanks for the clear response, I hadn't thought about that. I'd forgotten about the differences between 32bit and 64bit mode on modern CPUs, and that dosemu and dosbox aren't the same thing.