
how-to block ads
|
|
Share Topic  |
 |
|
|
|
 | reply to raythompsontn
Re: You must have some super top-secret hardware/OS that allows 16-bit applications to run natively on your 64-bit operating system then... Win7 will emulate certain 16-bit programs (installers) but that's it... Unless you use third-party software.
»support.microsoft.com/kb/282423
quote: No 16-Bit Code
No 16-bit code can run, except for recognized InstallShield and Acme installers (these are hard-coded in Wow64 to allow them to work). 16-bit Setup bootstraps are not supported. 16-bit MS-DOS and Microsoft Windows 3.x utilities will not start. If you attempt to start such a program, you receive a "Program.exe is not a valid Win32 application" error message.
said by dave:I'm not entirely sure, but I think the reason why the OS doesn't support 16-bit mode is that the hardware doesn't support v86 mode when operating in long mode.
So, basically the OS is constrained by hardware, and the hardware has taken the eminently sensible approach to start discarding the cumbersome and unused mechanisms of its youth. Farewell, memory segmentation; farewell, task switching; farewell, all those things which are slower in hardware than in software. The same thing applies to 32-bit software on a 64-bit OS. All 32-bit processes on Windows x64 are emulated via WoW64. Just like certain (few, as in only installers) 16-bit apps are also natively emulated. I think that MS could make 16-bit apps run fine, just as 32-bit apps run as well (or better) on x64 as they do on x86. I think that they just didn't want to waste their time on legacy support. They're trying to push things forward, and I agree. Can still run those old apps on x86 flavors of Windows though. | |  davePremium,MVM join:2000-05-04 not in ohio kudos:8 | I was thinking of this:
quote: 16-bit Windows (Win16) and DOS applications will not run on x86-64 versions of Windows due to removal of the virtual DOS machine subsystem (NTVDM) which relied upon the ability to use virtual 8086 mode. Virtual 8086 mode cannot be entered while running in long mode.
»en.wikipedia.org/wiki/X86-64#Windows
As I understand it, long mode has a 'compatibility' submode that can execute 32-bit and 16-bit x86, but this is of little use to the existing mechanism that Windows (NTVDM/WoW) uses for 16-bit code. Therefore, 16-bit support would require re-achitecting, and as you say, who'd want to waste time doing that?
Yes, they had to invent WoW84, but that's obviously needed, unlike WoWoW64.
You can probably run 16-bit code in Virtual PC (so-called XP Mode). | |  Reviews:
·Comcast
| reply to WhyMe420 said by WhyMe420:You must have some super top-secret hardware/OS that allows 16-bit applications to run natively on your 64-bit operating system then... Win7 will emulate certain 16-bit programs (installers) but that's it... Unless you use third-party software. Virtualization is the ticket. And it is hardly super secret. While the applications are not running natively under W7, the applications can indeed run on a system that boots W7 as the primary OS.
MS provided legacy support in a virtual session. Because of this support there is little reason to NOT convert to W7. | |  1 edit | Yes... I am talking about native support/emulation though. That is true, 7 has great virtualization support and thus can run 16-bit apps in a virtual session. However so can Vista 64 in Virtual PC, VMWare, VirtualBox and the likes. Again, though, I was talking about native support.
said by dave:I was thinking of this:
quote: 16-bit Windows (Win16) and DOS applications will not run on x86-64 versions of Windows due to removal of the virtual DOS machine subsystem (NTVDM) which relied upon the ability to use virtual 8086 mode. Virtual 8086 mode cannot be entered while running in long mode.
» en.wikipedia.org/wiki/X86-64#WindowsAs I understand it, long mode has a 'compatibility' submode that can execute 32-bit and 16-bit x86, but this is of little use to the existing mechanism that Windows (NTVDM/WoW) uses for 16-bit code. Therefore, 16-bit support would require re-achitecting, and as you say, who'd want to waste time doing that? Yes, they had to invent WoW84, but that's obviously needed, unlike WoWoW64. You can probably run 16-bit code in Virtual PC (so-called XP Mode). NTVDM is an emulator just like WoW, so yeah that hardware submode isn't applicable in Windows. NTVDM would have to be completely re-written to be 64-bit compatible, else it would have to run under WoW64 (as you called it, WoWoW64,) which I suppose is what happens when "certain" 16-bit installers are executed. It probably took a lot less time to code 16-bit support for just a select few applications than it would to make it emulate with transparency. | | |
|
|