So I was playing with Watcom C/386 8.5 today

This was the first version of Watcom that included the much beloved DOS4/GW dos extender.  Funny enough it doesn’t bind in a stub for running DOS4/GW by itself, you have to do it manually or I guess write the stub for yourself.  Another fun feature of Watcom C/386 8.5 is that it includes the win386 windows extender.

Basically it does to Windows 3.0 what DOS4/GW does to MS-DOS.  Now I’ve never messed around with win386 that much because by the time I did have a 386sx processor with more than 1MB of ram, Win32s & OS/2 2.1 were all the rage.  But in the world of VM’s I thought I’d give it a shot.

The default example is the game of life.  It compiles trivially, but the moment you got to run it you get this fine error:



It turns out that it is a timing loop error, and effects of all things Microsoft FoxPro!  The solution is provided by Microsoft, in the form of IPatchFP.exe. Naturally it is a console Win32 executable.  But with enough of the HX DOS Extender‘s runtime I can run the patch inside of MS-DOS.

With my executable all patched up, I can now run the game of life!

Conway's game of life

Conway’s game of life

Which is all very exciting.

Win386 was very cool for the time, taking the Win16 API and making their own Win32 set out of it. Another cool thing is that there wasn’t a separate runtime to repackage, as Win386 was just bound to the executable. I’m sure it didn’t fall on deaf ears at Redmond with the disillusion of Cruiser, that Win16 could have a brave new future in Win32.

And I should mention I’ve gone over a lot of the Win32s versions here.

8 thoughts on “So I was playing with Watcom C/386 8.5 today

  1. Win32…. before Win32. Neat! I’m guessing they were “twunking” the 16-bit Windows APIs in order to access them from protected mode. Must have been a mess in terms of resources with that 64k segmentation.

    On the subject of VMs, do you remember an ill fated project called “DOSiX” from the late 90s that was someone’s attempt to create a hypervisor style operating system? It was a far-out concept, but VMWare eventually made it a reality. They had some pie-in-the-sky plans though, like incorporating 68k-Mac emulated VMs side by side with PC VMs. The most I can find of it is the original site’s URL, which the Internet Archive didn’t grab.

    • we called it ‘thunking’ back in the day having higher (32bit) code call lower (16bit code) and pushing the result back up high… But yeah the only way to really do 32bit Windows would be with the source. I guess it could have been done back then, Windows was small enough to clone…….

      DOSiX? No, I don’t remember that one. But I know with things like the PowerPC 610 and Pink there was some hope to run everything at once with some magical processor that could switch endian on the fly.

      All I find is here, but it says it was a fake…

      What is DOSiX? DOSiX can be best described that IBM 3 years ago promised (and failded) under the name Workplace OS. The concept is that you have a “kernel” operating system that runs other operating systems as personalities (that is clients), thus you could run OS/2, WIN32, Apply System 8,… simultaneously on a single machine.

      DOSiX in my opinion goes even behind that, as on personality is the server for services (for example the OS/2 personality for HPFS partitions) other personalities as a client can request services from (for example WIN32 accessing HPFS).

      I still do think after Workplace OS failed that the concept of such an operating system is excellent and IBM should also try to develop such a beast as IBM makes money on the platforms it controls the OS, so if users wish WIN32 IBM should provide an WIN32 capable OS not Microsoft (and with a Workplace OS IBM could still keep the OS/2 API alive and add support for other OSes).

      • I got the idea that DOSiX was fake. The webpage was a hoot to read though, and in some ways, the ideas were ahead of its time. Almost all the mentions I see on Usenet of it were from OS/2 people hoping to run Windows 95. Took quite a while for OS/2 to finally get a VM host. Too bad I never took a screen shot of it, I had Win-OS/2, Odin32 (using Win32 widgets), native OS/2, and DOS VMs running apps all at the same time on ecomstation.

        Hmm, I wonder if Win386 apps will work under Win-OS/2?

        • back then the holy grail was a microkernel you could port to. But even way back in my blog, I had finally managed to get a Mach/Lites system built and oh my god was it insanely slow.

          Not to mention things like an OS/2 & BSD personality wouldn’t talk together, and probably wind up needing separate disks. By virtue of everyone doing their own things, everyone did their own thing.

          I would suspect win386 stuff would not work on WinOS/2, but there is only one way to find out…

  2. Nice reading. I started with Watcom 10, and was pretty nice at that time
    As you, I am regularly following (and contributing) OW 2.0, as well as DOS32A.

    • 10.0 was also my first Watcom. I got it mail order for $99 USD. Had it been available at that price or cheaper earlier it may have been far more useful. After version 10 though, which I would have said was the peak, it was downhill from there, with other vendors apparently poaching their talent, and then selling out for their embedded SQL offering. At least the C& Fortran were made available as open source as Symantec had no interest going back into the compiler business.

      Is there any merge with the 2.0 project on the horizon? I just remembered that the openwatcom page went dark for a long long time, and all online presence basically evaporated.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.