Does 16 bit work yet on a 64 bit windows 10 OS?

Page 1 of 4 123 ... LastLast

  1. Posts : 1,557
    W10 32 bit, XUbuntu 18.xx 64 bit
       #1

    Does 16 bit work yet on a 64 bit windows 10 OS?


    Does 16 bit work yet on a 64 bit windows 10 OS? I did an reinstall of windows 10 but choose 32 bit image instead of windows 10 64 bit. I found out my 16 bit program works, once a windows feature is enabled. I did have a driver issue but fixed by a windows update.
      My Computer


  2. Posts : 282
    Windows 10!
       #2

    wat?


    Do you mean a program, or a 16 bit driver?


    Also if it didn't work in 32 bit, then was fixed by an update, then it's likely that the update was deployed to 64 bit too. Tho no guarantees o_o
      My Computer


  3. Posts : 524
    Windows 11 Pro x64, Windows 10 Pro x64
       #3

    groze said:
    Does 16 bit work yet on a 64 bit windows 10 OS? I did an reinstall of windows 10 but choose 32 bit image instead of windows 10 64 bit. I found out my 16 bit program works, once a windows feature is enabled. I did have a driver issue but fixed by a windows update.
    16 bit programs will not work with a 64 bit Windows operating system, including Windows 10 Technical Preview.
      My Computers


  4. Posts : 282
    Windows 10!
       #4

    pbcopter said:
    16 bit programs will not work with a 64 bit Windows operating system, including Windows 10 Technical Preview.
    Oh I didn't know that.
      My Computer


  5. Posts : 98
    Windows 10 Pro 64-bit
       #5

    It is not just matter of operating systems, it is a matter of the whole x86-64 (sometimes known as AMD64) architecture. An x86-64 cpu, which would be most 64-bit processors made today, can run in either long mode (which supports 64-bit code) or in legacy mode (which supports 32-bit and 16-bit code). Switching between modes requires a hard reset of the CPU. Windows 64-bit operating systems have built in virtualization technology which allows you to run 32-bit programs. You can even confirm it exist for yourself. You will notice that have two Program Files folders. One for native 64-bit programs, and another called Program Files (x86) for your 32-bit programs. If you look in the Windows folder, you will also see a SysWOW64 folder. That is where the files used for the virtualization are found. In this case, WOW stands for Windows-On-Windows. A lot of people eventually ask "can't windows include 16-bit virtualizaton?" They probably could, but it would mean doing a lot of work to cater to what is currently very few people. Most people who still need a 16-bit program and understand why it doesn't work natively on a 64-bit computer will also know how to install there own virtualization software, such as DOSbox or VirtualBox. With Windows 7 Pro, Ultimate, and Enterprise, Microsoft also included a free Windows XP license and access to the VirtualPC software (commonly referred to as XPmode). Now, however, they do not consider there to be enough need to continue supplying it with new OSes.

    Further Reading:
    The 'Program Files (x86)' and 'SysWOW64' folders explained / Windows 64-bit (Technical Article)
    WoW64 - Wikipedia, the free encyclopedia
    Last edited by Petey7; 05 Oct 2014 at 11:54. Reason: Added addition reference
      My Computer


  6. Posts : 1,557
    W10 32 bit, XUbuntu 18.xx 64 bit
    Thread Starter
       #6

    I was talking about the architect. First I decided to install windows 10 64 bit operating system. I did that and worked fine. Then I decided to install the 32 bit operating system after getting rid of the 64 install. Then I installed a 16 bit application, which turned on NTVDM and installed the application. Why didn't Microsoft included NTVDM or something similar in the 64 bit oses? As I said before had an issue with a PCI commutation driver, some how was fixed with a windows update.
      My Computer


  7. Posts : 1,557
    W10 32 bit, XUbuntu 18.xx 64 bit
    Thread Starter
       #7

    Petey7 said:
    It is not just matter of operating systems, it is a matter of the whole x86-64 (sometimes known as AMD64) architecture. An x86-64 cpu, which would be most 64-bit processors made today, can run in either long mode (which supports 64-bit code) or in legacy mode (which supports 32-bit and 16-bit code). Switching between modes requires a hard reset of the CPU.
    Petey, what do you mean by switching modes? In my bios it set for legacy mode. Does that mean I am not using the 64 bit even though I have a Windows 7 64 bit os installed? There are couple of other settings in the bios that are turned on. I think one setting is called virtualization for the CPU.


    I have a 64 bit computer
    One partition is running W7 64 bit operating system
    Another partition is running W10 32 bit operating system with NTVDM turned on.
      My Computer


  8. Posts : 98
    Windows 10 Pro 64-bit
       #8

    groze said:
    Petey, what do you mean by switching modes? In my bios it set for legacy mode. Does that mean I am not using the 64 bit even though I have a Windows 7 64 bit os installed? There are couple of other settings in the bios that are turned on. I think one setting is called virtualization for the CPU.

    I have a 64 bit computer
    One partition is running W7 64 bit operating system
    Another partition is running W10 32 bit operating system with NTVDM turned on.
    I am not sure what the legacy mode in your bios refers to, as you have not provided the details of your computers hardware and have no way to check for myself. Most likely it refers to the BIOS mode. It is my understanding that newer hardware supports UEFI mode and legacy BIOS. I do not know as my computer was made shortly before UEFI was common. It is completely unrelated to what I was talking about.

    When I talk about modes, I mean the mode the CPU runs in. Most processors theses days have long mode, which allows the software running on it to make use of the 64-bit instructions and registers. They also have what is called legacy mode. In legacy mode only the 16 or 32-bit instructions and registers are available to the operating system, which allows 32-bit and 16-bit programs to be run natively. As far as I know, there is no firmware/BIOS setting which allows one to lock the processor into using only one or the other. It depends on the operating system being run. If its a 32 or 16 bit operating system, it automatically uses legacy mode. If its a 64-bit operating system, it will run in long mode. The CPU is not capable of switching modes on the fly. The computer must be turned off and back on. Now, CPUs also have sub-modes, which can be switched on the fly. For long mode, there is the 64-bit sub-mode and a compatibility sub-mode. In basic terms, the compatibility mode makes it where the virtualization (perhaps it would be better to call this emulation) for 32-bit programs is not 100% software. The hardware helps as well. I have to admit, my understanding on how the compatibility sub-mode works is a bit shaky, so I'm probably going to just confuse you more if I keep talking about it.

    Now, the virtualization setting in the BIOS is different from emulation (which I previously also referred to as virtualization as well). It refers to hardware/CPU virtualization. Essentially, it provides extra hardware support for running virtual machines, which are a type of emulator).

    Now, about NTDVM, which is short for Windows NT Virtual DOS Machine. NTDVM was originally developed to allow DOS and older Windows programs made for the legacy kernel (which is what Windows 1-3.1, 95, 98 and ME uses) to run on Windows NT sytems (NT 3.1-4.0, 2000, XP, Vista, etc.). This program was extended to what was the original WOW system, sometimes known as WOWEXEC or 16-bit WOW. WOW allows 16-bit Windows, and most DOS programs to work on 32-bit versions of Windows. It functions in a way similar to SysWOW64. According to some sources, this was never meant to be a permanent feature of Windows. It was designed to be a temporary measure to give developers enough time to completely switch to 32-bit coding. So, it is still virtualization/emulation that we are talking about. As stated before, this is not included in 64-bit versions of Windows because it is widely considered to be unnecessary. When you consider that Windows NT 3.1 came out over 20 years ago, and as far as I know a 16-bit OS hasn't been made in 15 years, it does seem a bit ridiculous for there to still be 16-bit programs out there. In fact, I'm actually starting to be annoyed by 32-bit programs still being the norm, when Windows XP 64-bit came out almost 10 years ago, but that's just me.

    So, in summation, 16-bit support in 32-bit Windows OSes is incredibly old, and was original meant to just be temporary. A very small number of people still use 16-bit software, so Microsoft does not feel the need to dedicate the time and money needed to add 16-bit support to 64-bit systems (and who could blame them, 16-bit software should have died out 20 years ago). Legacy could refer to anything. I discussed three (legacy kernel, legacy BIOS, and legacy CPU mode); basically legacy just means old. Virtualization can refer to software virtualization or hardware virtualization. In the case of the BIOS setting, it means hardware virtualization, which helps with software virtualization (also called emulation).

    References:
    x86-64 - Wikipedia, the free encyclopedia
    Windows on Windows - Wikipedia, the free encyclopedia
    Virtual DOS machine - Wikipedia, the free encyclopedia
    Boot to UEFI Mode or Legacy BIOS mode
    Windows NT 3.1 - Wikipedia, the free encyclopedia
    http://en.wikipedia.org/wiki/Virtualization
    http://en.wikipedia.org/wiki/Hardwar...virtualization
      My Computer


  9. Lee
    Posts : 4,793
    OS X, Win 10
       #9

    One question: how much ram are you running (what came with the computer). The reason (you may know this already) is if you came with 8 gigs or more of ram then it is now setting there doing nothing for you. 32 bit OS will only use 3.2 gigs of whatever you have in your computer.
      My Computer


  10. Posts : 1,255
    Windows 10 Pro
       #10

    The internal differences between 16, 32, and 64 bit operating systems are enormous. 32 bit systems do not have some automatic capability to run 16 bit applications but something that must be designed and built in. And it isn't simple. 64 bit versions of Windows have the designed in capability to run 32 bit applications, but not for 16 bit applications. The design of the CPU makes this difficult but not impossible. If Microsoft had ever intended to support 16 bit applications in a 64 bit OS it would have been in 64 bit XP or Vista at the latest. With each passing year 16 bit applications loose more popularity and there is less reason to support them. For those who need 16 bit support they can still choose a 32 bit OS. But don't expect that to continue indefinitely either. The last 32 bit server OS was Server 2008. Server 2008 R2 and later versions have only 64 bit versions. At some point in time this will happen for client versions as well.

    This might come as a surprise to some but Microsoft does not have unlimited resources. With each new OS they must make difficult decisions about what new features to implement, what features to be put on hold, and what old technology will no longer be supported. Resources devoted to supporting 16 bit applications means that new features that will benefit more people need to be delayed. This is often necessary but it cannot continue indefinitely.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 15:40.
Find Us




Windows 10 Forums