Totally useless… Posted on July 14, 2012 by neozeed But kind of funny to me that SoftPC can run OS/2 .. Awesome… It’s no wonder that SoftPC was at the core of NTVDM …!
Is well know that on x86 SoftPC was used to provide a basic device emulation framework to the NTVDM core… but here, the most interesting thing is that the RISC versions of NTVDM.exe were build with the full SoftPC VCPU core bundled on them (as you can see from the leaked NT sources, and yes, there are the full sources for most of the SoftPC technology) providing a full x86 CPU emulation on the RISC platforms that don’t support V86 mode. There’s a interesting difference between VDM versions; You can’t run DOS fullscreen windows on RISC, but still you can run DOS full screen apps on them (them look something like Ghost for windows screens). But still NTVDM on RISC supports everything that NTVDM on X86 supports, even cut and paste between DOS and Win16 apps and Win32 apps, common control dialogs, printer sharing, and full networking support.
That’s why i’m against the myth that MS didn’t included NTVDM on AMD64 platforms because AMD64 processors don’t support v86 Mode. As we can see, besides speed improvements (that were important on 88-98 era, but aren’t need anymore with our actual powerful processors) NTVDM doesn’t need v86 at all to work. And even if they didn’t wanted to use SoftPC because its oldness, they could use the VirtualPC vCPU that they adquired from Connectix (as you can see from the sources, this is perfectly possible) that is better optimized for our modern processors that SoftPC’s (Anyways Win Vista and Win7 will not run on older machines, so performance reasons don’t count). As you can see, there’s not reasons to left the VDM out from x64 Windows builds, at least not technical ones.
Well that and NTVDM hasn’t really been revisited since the good olde days … there are some bugs that have been present since NT 3.1!
I’m sure if the subsystem interface to NT were public, we’d see v86 personalities, linux, bsd and even OS/2 again, but Microsoft really goes out of their way to make it a Win32/Win64 only world. I wonder how Interix got around this building a capable POSIX system on NT, to only be bought and now effectively run into the ground.
The real joke to me is how VirtualPC went from a GREAT program into a glorified container for IE6. The latest incarnation of Windows Virtual PC is a joke, no floppies, no sound blaster… It’s just a shell of its former self.
It could be possible Interix did it the Cygwin way? I’d need to get my hands on a copy to check.
And let’s don’t forget that ancient POSIX subsystem in NT 3.x. I wonder why MS was too lazy to make it “proper”. But nowadays you run POSIX programs on a Linux machine (and even at that it’s not fully POSIX, nowadays everything is mostly POSIX but with GNU extensions up, down, left and right).
Interix is way faster than cygwin, according to its literature it was a subsystem, not a calling library.
I’m sure the fear at the time was if the POSIX subsystem that really was there to run vi was useful, nobody would write NT software…. but yeah the default one was like Unix v7, and really only there for a checkbox.
Ah, I see.
And as for vi, why wouldn’t MS port it to the Win32 console APIs? I still wonder.
I think to prove that their posix was ‘correct’ much like the copy of pax included in the resource kit… It could have had potential if it’d let you do TCP/IP but that wasn’t part of the plan… Just as they easily could have finished the OS/2 32bit cruiser personality, instead it was just enough OS/2 to run SQL Server 1.0 & 4.2 for OS/2… Microsoft was still using that VAX mail thing, there was no exchange…
A checkbox item is exactly what it was. In the late 1980s, POSIX compliance was required for certain U.S. government contracts (see FIPS 151). Microsoft wanted NT to be able to fulfill those requirements, but nothing more. Building a library of POSIX applications was hardly in their interest.
Oh, and yes.
Windows Virtual PC is one IE6 container. Viva la VMWare and VirtualBox.
The decision to drop NTVDM on 64-bit Windows versions was conscious – Itanium versions were intended for high-end servers and workstations that had little need for legacy DOS and Win16 applications, and by the time AMD64 became important, there were nearly no legacy programs left (and the few users that still care about them can just use 32-bit Windows).
As for “Windows Virtual PC” – Microsoft screwed up the GUI here. It still supports everything that the older versions did, but certain things are hidden behind command-line tools (such as floppy support).
you sure, I don’t see parallel ports or soundblaster 16 …