16 bit windows wasn't complicated, and a simple VM and API translation layer could have kept compatibility going back 30+ years for not many engineering hours.
Yet instead they dropped 16 bit windows support and probably spent more engineering hours to support all the ancient software trying to update, and users who held back upgrading windows because they needed said ancient software, etc
[–] my123 3 days ago
Microsoft says at https://learn.microsoft.com/en-us/windows/win32/winprog64/ru...:
> Note that 64-bit Windows does not support running 16-bit Windows-based applications. The primary reason is that handles have 32 significant bits on 64-bit Windows. Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data. Attempts to launch 16-bit applications fail with the following error: ERROR_BAD_EXE_FORMAT.
winevdm on Windows eschews that level of integration, but perhaps MS should have shipped WoW16 with limitations instead of nothing.
[–] vintagedave 2 days ago
Edit: the readme has something very similar:
wine based Win16->Win32 conversion codes:
BOOL16 WINAPI DestroyWindow16( HWND16 hwnd )
{
return DestroyWindow( WIN_Handle32(hwnd) );
}
I would guess that's what the WIN_Handle32 method/macro is doing.[–] my123 2 days ago
[–] lupical 3 days ago
[–] da_chicken 3 days ago
So, now, it's not unusual to find software from as late as 2005 that is actually 32-bit software, but it's in a 16-bit installer.
Indeed, it might be the only 16-bit application I've wanted to run other than Castle of the Winds and Scorched Earth.
[–] masfuerte 2 days ago
Edited to add: x86-only software had a similar tiny 16-bit setup program that launched the 32-bit installer on x86, and displayed a helpful error message on other architectures. This was done because Windows had a piss-poor error message if you ran a 32-bit exe on the wrong architecture.
[–] hypercube33 2 days ago
Back on track - the 16 bit DOS and Windows stack is a lot different than Win32 - totally different windowing, drawing to the screen, and memory management is involved - it was probably pulled for security reasons and the most common one at Microsoft - "the guy who maintained this left or retired"
[–] mike_hearn 3 days ago
[–] NetMageSCW 2 days ago
It plugs into an outlet, records time stamped records of high/low voltage, power outage, surges, etc. Then you use a serial to optical cable to read the data safely.
[–] xacky 2 days ago