Home › Technology › 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on...
Technology

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows

Key Points

Download latest version (unstable) 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows An altered version of winevdm (a 16-bit Windows emulator), ported to 64-bit Windows. If you get an error that VCRUNTIME140.dll is missing, install Microsoft Visual C++ Redistributable for Visual Studio 2017 (32-bit) - Drag and drop Win16 executable file to otvdm.exe or execute otvdmw.exe. - Download or compile - Run "install" shortcut or right-click on install.inf and select "Install" - You...

Download latest version (unstable) 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows An altered version of winevdm (a 16-bit Windows emulator), ported to 64-bit Windows. - If you get an error that VCRUNTIME140.dll is missing, install Microsoft Visual C++ Redistributable for Visual Studio 2017 (32-bit) - Drag and drop Win16 executable file to otvdm.exe or execute otvdmw.exe. - Download or compile - Run "install" shortcut or right-click on install.inf and select "Install" - You can execute Win16 binaries directly! If the registry is initialized by Windows Update, perform the above procedure again. You can uninstall it by running uninstall.reg. See otvdm.ini. - Install Visual Studio 2017 - Edit PropertySheet.props - Compile git clone https://github.com/otya128/winevdm.git cd winevdm mkdir build cd build cmake .. make This program contains the following items - CPU Emulator - 64-bit Windows cannot modify LDT(NtSetInformationProcess(,ProcessLdtInformation,,) always returns error) - wine based Win16->Win32 conversion codes: Relay routines from 16-bit to 32-bit are autogenerated by convspec BOOL16 WINAPI DestroyWindow16( HWND16 hwnd ) { return DestroyWindow( WIN_Handle32(hwnd) ); } 53 pascal -ret16 DestroyWindow(word) DestroyWindow16 - DOS emulation for Win16 - 16-bit <=> native HANDLE conversion - Fix compatibility problems, fix compatibility problems When 64-bit Windows detects a 16-bit installer, it has a mechanism to start an alternative installer which is not 16-bit. This program uses it. Some Win16 programs try to save their settings in %WINDIR%.ini In recent Windows, it is not allowed to save to %WINDIR%, so it redirects. winevdm.exe [--app-name app.exe] command line winevdm.exe CALC.EXE It can also run DOS executables (DOS emulator-like). You can set the DOS version with the VDMDOSVER environment variable. DOS emulation is incomplete and it is recommended to use DOSBox or MS-DOS Player.
Microsoft (ORG) Windows Update (ORG) LDT(NtSetInformationProcess(,ProcessLdtInformation (EVENT) convspec BOOL16 WINAPI (PERSON) pascal -ret16 DestroyWindow(word (PERSON) VDMDOSVER (ORG)
Originally published by Hacker News Read original →