Jo22 wrote:Interesting, thanks for mentioning it. Also saw your blog - Btw, there also was a WinMem32 API in Windows 3.1 which could be used for writing flat-memory apps (thus dropping 286 support).
I haven't found much information of it, but you can check its presence in Byte Magazine May/92, p.24, if you like. Anyway, just saying. Now have to stop going slightly off-topic..
Sorry to keep things slightly off-topic, but I just have to respond to that.
According to this Wikipedia Talk page entry...
Unlike win23s which was installed separately, winmem32 was included with Window 3.11, and it also provided a 32 bit flat address space (for systems with 80386 or later processors). However, only Watcom C/C++ 10.0 fully supported winmem32 as one of it's standard memory models with a 32 bit flat address space, hiding all of the 16/32 bit interface stuff from the programmer. All Microsoft had at the time was an example assembly "thunk" program for using one function provided by winmem32. This resulted in the Watcom C/C++ 10.0 compiler being relatively popular until Windows 95 was released and became the mainstream Windows OS.
Also, given that none of my references for Windows 3.1 APIs mention it, I think it may be specific to Windows 3.11, which limits its utility.
That aside, Watcom's Win386 doesn't just allow protected mode applications (a la a DPMI host), it also provides a bunch of helper functionality (like a DPMI extender) to make writing 32-bit applications on a 16-bit platform more comfortable.
(Mainly customized Windows API headers and a bi-directional thunking layer that's as automatic as they could make it... so it's similar to Win32s, but built into your application. It also offers a redistributable FPU emulation driver for Windows in case you want to use the inlined floating point optimization that prevents your program from switching in emulated versions internally.)
Win386 is also fairly obscure on the web but Open Watcom's C/C++ Programmer's Guide (pguide.pdf) spends just over a quarter of its length on it, right after spending about the same number of pages on how to write DOS applications using DOS/4GW.
Internet Archive: My Uploads
My Blog: Retrocomputing Resources
My Rose-Coloured-Glasses Builds
I also try to announce retro-relevant stuff on on Mastodon.