On Tue, 2006-08-29 at 20:10 -0600, ShadowFlare wrote:
Heh, I still think that an actual NTVDM implementation might not necessarily be the best solution, though.  Well, if it could run on x64 editions of Windows then it would be fine, but if it couldn't, then that's why I was suggesting an alternative.  Of course, the alternative still wouldn't have to be just for DOS programs either, it could also be for 16-bit Windows applications as well.

Hmm, if there could be an implementation with no kernel-mode code or at least something that could somehow work when running AMD64 CPUs in a 64-bit OS, then that would be a good thing to work toward.  Then if ReactOS was later made to support the API for Windows x64, then it could have 16-bit app support, while Microsoft's 64-bit OS doesn't. :)


Well, as I understand it, in long mode the v86 Mode functionality of 32-bit protected mode systems is no longer available, though that does not, I do not think, preclude creating a new NTVDM type system that is compatible with the 32-bit current NTVDM.  The only real difference is that you would more likely than not have to have the v86 processes running in an actual virtual machine with a monitor, though it should (in theory) be possible to do that and retain compatibility, possibly at a slight loss of speed.

Of course, there are a whole slew of choices that are available then; should it be a virtual machine, or should it perhaps have some sort of dynamic recompliation mechanism that would "turn" it into a native executable, perhaps even ahead of time?  IANAP (at least, not a good one, yet) and so I am not sure what would really be the more feasible option, and other decisions would need to be made after that.  But, yes, it would be nice to have a "one-up" of sorts on Microsoft.

    — Mike

--
The fd0man™—The Magical Floppy Man! (fd0man@gmail.com)
"One world, one web, one program"  —Microsoft promotional ad
"Ein Volk, ein Reich, ein Fuehrer"  —Adolf Hitler