Skip to content
HN On Hacker News ↗

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

▲ 151 points • 34 comments • by doener • 1w ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is human-written.

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 295
PEAK AI % 0% · §1
Analyzed
Oct 27
backend: pangram/v3.3
Segments scanned
1 windows
avg 295 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 295 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

Download stable version 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. How to run 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. How to install 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. Configuration See otvdm.ini. How to compile(Visual Studio) Install Visual Studio 2017 Edit PropertySheet.props Compile How to compile(cmake) git clone https://github.com/otya128/winevdm.git cd winevdm mkdir build cd build cmake .. make How does it work? 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: 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(word) DestroyWindow16 DOS emulation for Win16 16-bit <=> native HANDLE conversion Fix compatibility problems, fix compatibility problems install.inf 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. WINDOWS directory redirection Some Win16 programs try to save their settings in %WINDIR%<filename>.ini In recent Windows, it is not allowed to save to %WINDIR%, so it redirects. winevdm 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.