5 ms·
You can already do that with OTVDM: https://github.com/otya128/winevdm https://github.com/otya128/winevdm Using it not only any 16bit installer works, but also
by Crinus 7y ago
You can already do that with OTVDM: https://github.com/otya128/winevdm https://github.com/otya128/winevdm
Using it not only any 16bit installer works, but also most 16bit applications. As an example you can play Exile by Spiderweb[2] on your Windows 64 PC.
It even contains a .reg file that allows it to be installed system-wide so that you can run a 16bit .exe just by double clicking it in Explorer (or any other file manager).
[1] https://github.com/otya128/winevdm https://github.com/otya128/winevdm
[2] http://www.spiderwebsoftware.com/exile/winexile.html http://www.spiderwebsoftware.com/exile/winexile.html
- codetrotter 7y agoLooking at the install.inf file, I saw that they first remove a key from the registry with the name VDM in it. So I wondered what VDM means. > Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware. https://en.wikipedia.org/wiki/Virtual_DOS_machine https://en.wikipedia.org/wiki/Virtual_DOS_machine So how come otvdm is needed I wondered. Same Wikipedia article explains it. > NTVDM is a system component of all IA-32 editions of the Windows NT family since 1993 which allows execution of 16-bit Windows and 16-bit / 32-bit DOS applications. It is not included with 64-bit versions. The Windows NT 32-bit user-mode executable which forms the basis for a single DOS (or Windows 3.x) environment is called ntvdm.exe. But why did Microsoft not include VDM in 64-bit systems? I thought MS was all about that backwards compatibility.
- jeroenhd 7y agoMS is already running a similar system to translate 32-bit applications to 64-bit mode (WOW64). Keeping compatibility with 16-bit would have big consequences for the NTVDM. The alternative would be to run NTVDM on top of WOW64 but such a system would be a recipe for disaster. I don't think the compatibility with 16-bit systems is worth the headache/expense. As long as 32-bit Windows exists, you can still run the few relevant and compatible DOS applications so I doubt anyone is missing much aside from a few nostalgic gamers.
- dsfyu404ed 7y ago>I doubt anyone is missing much aside from a few nostalgic gamers. There's tons of 16-bit SCADA stuff in the world that it would be nice to not have to run on a ~20yo version of windows.
- ygra 7y agoAren't there still 32-bit versions of Windows 10? AFAIR only the server versions are 64-bit only by now.
- kevin_thibedeau 7y agoInstalling 32-bit OS on a 64-bit UEFI system can be a problem.
- jeroenhd 7y agoI hope those scada systems aren't running on regular Windows. If they are, they should be running on Win10 LTSB on 32-bit so they should keep working till at least 2025 if XP's level of compatibility was good enough to run them. If they can't be run on that, there's still MS-DOS licenses being sold and FreeDOS might also serve them in a pinch. If a system is not maintained for long enough that it's still running in compatibility mode, you might ask well just disconnect the network cable and run Windows 3.11/95/98. Microsoft is not at fault for the manufacturer not maintaining their systems.
- monocasa 7y agoWhat if the manufacturer doesn't exist anymore?
- dsfyu404ed 7y agoOr you're using hardware from the 70s that they dropped from software support in the 90s and the software version you need won't run on anything newer than Win2k.
- makomk 7y agoVirtual 8086 mode isn't available when running a 64-bit OS, so the virtual DOS machine code simply won't work there. This is less of a problem with most 16-bit Windows applications since the limited 16-bit functionality they need is still possible under a 64-bit OS but making this work requires some extremely hairy kernel code.
- monocasa 7y agoYou could just run it in an emulator. And microsoft has written a virtual 8086 emulator for virtual PC. Virtual 8086 mode was just a virtual machine anyway.
- skissane 7y agoNTVDM used to contain an x86 emulator included for running DOS programs under Windows NT on non-x86 platforms (Alpha, MIPS, PowerPC). There is no reason in principle why they couldn't have used that existing code on x86-64. But, I assume they decided that the cost of doing that (in developer time/etc) wasn't worth the benefit. (Running DOS programs has little commercial relevance any more, and the small minority who still have a need for that are better served by more fully-fledged virtualisation solutions such as Hyper-V, VMware or VirtualBox.)
- Crinus 7y agoAFAIK including the full VDM wasn't technically possible due to amd64 architecture limitations (no real mode support when in long mode - at least not without use of virtualization but that wasn't a thing at the time). They probably could have implemented partial support but i guess they wanted to keep the full VDM for 32bit versions of Windows (which were the majority for a good number of years anyway and thus more important for backwards compatibility). OTVDM emulates a 386-ish CPU so it isn't affected by that (i think there is also some code to use virtualization instead but i'm not sure). It is much slower though, but it should still be much faster than the target hardware that 16bit Windows applications had. Perhaps it might be an interesting project to port DOSBox' more advanced JIT CPU emulation code to this.
- 0-_-0 7y agoPlaying Exile 2 is exactly why I want to run 16 bit applications. I basically learned English from that game! I remember being frustrated being locked into the shareware version by Shareware Barriers, figuring out how to edit maps by using Norton Disk Edit on the game files, and digging new tunnels into the cave wall. I was about 12 and I still consider this my greatest hacking achievement...
- Crinus 7y agoYou are in luck then, all three Exile games are free from the site :-) (you need to dig a bit to find them, go to the games, then old games then click on the icon for the windows version).
- buildzr 7y ago> As an example you can play Exile by Spiderweb[2] on your Windows 64 PC. How is this of all things the go-to example? It's exactly what I want to do! Were these games more popular than I thought?
- eropple 7y agoFor the time, yes. They were free, and they were Ultima-alikes, and those were popular. JV has always also had a knack for writing, which helped make them stick. He's still making games, and they're still pretty much the same games they were--and to me that is a positive.