otya128/winevdm: 16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, and many others.) on 64-bit Windows · GitHub

Download latest version (unstable)
16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, and many others.) on 64-bit Windows
An altered model of winevdm (a 16-bit Windows emulator), ported to 64-bit Windows.
- Download or compile
- Run “set up” shortcut or right-click on set up.inf and choose “Install”
- You can execute Win16 binaries straight!
If the registry is initialized by Windows Update, carry out the above process once more.
You can uninstall it by working uninstall.reg.
See otvdm.ini.
- Install Visual Studio 2017
- Edit PropertySheet.props
- Compile
git clone https://github.com/otya128/winevdm.git
cd winevdm
mkdir construct
cd construct
cmake ..
make
This program accommodates the next objects
- CPU Emulator
- 64-bit Windows can’t modify LDT(NtSetInformationProcess(,ProcessLdtInformation,,) all the time returns error)
- wine based mostly Win16->Win32 conversion codes:
BOOL16 WINAPI DestroyWindow16( HWND16 hwnd ) { return DestroyWindow( WIN_Handle32(hwnd) ); }
Relay routines from 16-bit to 32-bit are autogenerated by convspec
53 pascal -ret16 DestroyWindow(phrase) DestroyWindow16
- DOS emulation for Win16
- 16-bit <=> native HANDLE conversion
- Fix compatibility issues, repair compatibility issues
When 64-bit Windows detects a 16-bit installer, it has a mechanism to begin an alternate installer which isn’t 16-bit.
This program makes use of it.
Some Win16 packages attempt to save their settings in %WINDIR%
In current Windows, it isn’t allowed to save lots of to %WINDIR%, so it redirects.
winevdm.exe [--app-name app.exe] command line
winevdm.exe CALC.EXE
It may run DOS executables (DOS emulator-like).
You can set the DOS model with the VDMDOSVER atmosphere variable.
DOS emulation is incomplete and it is suggested to make use of DOSBox or MS-DOS Player.
