64 bit versions of Windows XP, Vista, and 7; older flightsim utilities, and MSFS
This has been alluded to in at least two threads, but I wanted to put it out there in it's own thread at a high level:
This has been alluded to in at least two threads, but I wanted to put it out there in it's own thread at a high level:
ACM, Martin Wright's DXTbmp, MDLmat and MDLcolor, Ivan Hsu's MDLC with Morton's Windows interface, Panel Studio Pro were older programs that were developed for 16-bit windows, or Windows 3.x.
In regards to these or any program written for DOS or Windows 3.x (16-bit code):
That, in fact, is how Microsoft let you run 16-bit DOS and Windows 3.x programs on 32-bit Windows operating systems such as NT and later XP and others. They provided a program called the Virtual DOS Machine (NTVDM) that allowed them to run, and "thunked" their 16-bit Windows calls to 32-bit Windows. That is why when you pull up the task list, MDLC and other 16-bit programs appear indented under a seperate NTVDM task; the NTVDM task is the Windows NT Virtual DOS Machine.
When Microsoft released the x64 versions of Windows, they stated that you could not "thunk" from 16-bit DOS apps to 64-bit, and did not bundle in a copy of NTVDM. I think that is bunk*; and hope that someone will develop something similiar (like Wine for Unix) that lets you run Windows 3.x and DOS apps directly under 64-bit Windows. (They do have something similiar to NTVDM to let you run 32-bit apps under 64-bit Windows, "thunking" the calls to Windows in the same way.)
The problem with solutions like VMWare Player, DOSBox and others that emulate an operating system under 64-bit Windows is that you have to install a copy of Windows 3.1 to run Windows 3.x (16-bit) programs. If that is not correct, please let me know. NTVDM did not require a seperate copy of Windows 3.x because it "thunked" all the 16-bit Windows calls to 32-bit Windows.
Now, notice that I said that 64-bit versions of Windows also use an emulator to "thunk" 32-bit program calls to 64-bit Windows. What that means is that 32-bit programs, such all later versions of Microsoft Flight Simulator, do not run as 64-bit programs. So. just like when you used to run your older programs under XP, the difference in speed was only slightly better; most of the improvement comes from the fact that you are running Windows on faster hardware.
Hence, in regards to MS Flight Simulator, the only advantage 64-bit versions of Windows XP, Vista, and Windows 7 offer is access to more memory space. However, you cannot use any of the older tools that were originally written for DOS or Windows 3.x.
So, if you use any of the older tools, and/or all of your memory can be addressed by 32-bit versions of Windows; I suggest you purchase the 32-bit versions, and NOT the 64-bit. You will be losing more than you will be gaining. Otherwise, you will have to install an XP virtual machine (and the XP operating system) to run your older apps.
Questions? Comments?
-James
-Hope this helps;
James
*I have since learned that just as the CPU changed from real to extended mode when run 16 bit and 32-bit apps; the CPU changes to a different mode yet again when running 64-bit apps. This makes writing a 16-bit emulator for 64-bit Windows more complicated; and some newer CPUs may no longer support real mode addressing.
In regards to these or any program written for DOS or Windows 3.x (16-bit code):
- 32 bit (x86) versions of XP, Vista, and it appears Windows 7 will run them just fine.
- 64 bit (x64) versions of XP, Vista, and Windows will not.
That, in fact, is how Microsoft let you run 16-bit DOS and Windows 3.x programs on 32-bit Windows operating systems such as NT and later XP and others. They provided a program called the Virtual DOS Machine (NTVDM) that allowed them to run, and "thunked" their 16-bit Windows calls to 32-bit Windows. That is why when you pull up the task list, MDLC and other 16-bit programs appear indented under a seperate NTVDM task; the NTVDM task is the Windows NT Virtual DOS Machine.
When Microsoft released the x64 versions of Windows, they stated that you could not "thunk" from 16-bit DOS apps to 64-bit, and did not bundle in a copy of NTVDM. I think that is bunk*; and hope that someone will develop something similiar (like Wine for Unix) that lets you run Windows 3.x and DOS apps directly under 64-bit Windows. (They do have something similiar to NTVDM to let you run 32-bit apps under 64-bit Windows, "thunking" the calls to Windows in the same way.)
The problem with solutions like VMWare Player, DOSBox and others that emulate an operating system under 64-bit Windows is that you have to install a copy of Windows 3.1 to run Windows 3.x (16-bit) programs. If that is not correct, please let me know. NTVDM did not require a seperate copy of Windows 3.x because it "thunked" all the 16-bit Windows calls to 32-bit Windows.
Now, notice that I said that 64-bit versions of Windows also use an emulator to "thunk" 32-bit program calls to 64-bit Windows. What that means is that 32-bit programs, such all later versions of Microsoft Flight Simulator, do not run as 64-bit programs. So. just like when you used to run your older programs under XP, the difference in speed was only slightly better; most of the improvement comes from the fact that you are running Windows on faster hardware.
Hence, in regards to MS Flight Simulator, the only advantage 64-bit versions of Windows XP, Vista, and Windows 7 offer is access to more memory space. However, you cannot use any of the older tools that were originally written for DOS or Windows 3.x.
So, if you use any of the older tools, and/or all of your memory can be addressed by 32-bit versions of Windows; I suggest you purchase the 32-bit versions, and NOT the 64-bit. You will be losing more than you will be gaining. Otherwise, you will have to install an XP virtual machine (and the XP operating system) to run your older apps.
Questions? Comments?
-James
-Hope this helps;
James
*I have since learned that just as the CPU changed from real to extended mode when run 16 bit and 32-bit apps; the CPU changes to a different mode yet again when running 64-bit apps. This makes writing a 16-bit emulator for 64-bit Windows more complicated; and some newer CPUs may no longer support real mode addressing.