xcomcmdr wrote on 2020-08-24, 08:44:
I use Microsoft Visual C++ version 4.0 (available on... well Google) when I want to do some C code that uses Win32 and targets Win32S.
It's the last version that supports it. Any new project will be compatible with Win32S out of the box.
It runs perfectly on Windows 10, but of course it's so old it's really hard to use for us modern developers.
Hi! Thanks for the tip! So far, I've only used Borland Delphi 2.0 to compile Win32s compatible applications..
By coincidence, I found an old Amiga emulator that was compiled with Visual C++ 4.10.
Perhaps there's a small chance getting it to work on Win32s, too.
I've also checked some programs on Windows NT 3.1 in the mean time.
The result was rather dissappointing. Win NT 3.1 is very limited by todays standard.
In fact, it can't even run the most basic Win32 applications that instantly execute on Windows 3.1+Win32s.
Not even "Lie about Win32" (win32lie) does run on Windows NT 3.1.
It's related to the Windows API and the PE header. Programs expect to find at least Version 3.50 or 4.0.
The 16-Bit counter part (lieversn) runs, but isn't of much help.
Only very old Windows 3.x programs use the 3.95 version number to detect Win95.
To make matters worse, the execution is very, very slow. At least in Virtual PC 2007 on a Pentium III based laptop.
At least for 16-Bit programs. A Windows 2.x image viewer, easel, from the 1980s takes minutes to load a GIF image,
while Windows 2.03 and Windows 3.1 need about 10-20 seconds on a 286-10.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//