This will be the perfect follow up to the aptly named previous post FreeDOS running Windows 3.1.
I’ve haven’t built the FreeDOS kernel in a while and I have to say it’s pretty easy. I’m taking the easy way out here, so I’m using OpenWatcom v2, because I figured the tools should be both at least Win32/Win64 and halfway up to date. Don’t get me wrong, MS-DOS Player is a fantastic app but I don’t want to lean on it for 100% of the build.
I configured it for something in my mind generic with the following flags:
build fat16 wc 86 win
Naturally it had issues with 3 executables, two of which are generated as the project builds, and I just did some silliness to have MS-DOS player make ‘native’ versions:
patchobj.com: patchobj.c $(CLT) $(CFLAGS) patchobj.c msdos -cobj.exe patchobj.com -rm -f patchobj.com -ren obj.exe patchobj.exe exeflat.exe: exeflat.c ../hdr/exe.h $(CLC) $(CFLAGS) exeflat.c msdos -cxeflat.exe exeflat.exe -rm -f exeflat.exe -ren xeflat.exe exeflat.exe
The same went for sys\bin2c.exe but it’s not rebuilt every time so it doesn’t matter.
And with that in hand it boots. YAY
And now for some absolutely unfair testing. Before anyone complains, yes this is absolutely unfair I mean hell if you bought Windows 3.1 in 2021, I guess get OS/2 or just keep digging at the yard sale and get MS-DOS. Anyways here we go:
Turning off InDOSPolling gives this lovely crash. Naturally then it’s still required.
My go-to test, Running Infocom/FASA BattleTech Crescent Hawk’s Inception in CGA mode in a Window hard locks the VM before anything is drawn to screen. Bummer. And that is pretty much the story of FreeDOS under Windows on this build. Again it’s 2021 who even needs Microsoft VDMs?
That said there must be some weird hook in MS-DOS that Win32s relies on. Just like before Win32s fails to run.
The holy trinity of ‘bad’ Windows 3.0 games, Sim City, Sim Earth and Sim Life work just as they did in the prior version, with Sim Earth instantly quitting. Not sure what is going on there. It does launch with virtual memory enabled, but then proceeds to corrupt all the file handles and Program Manager loses it’s mind. In the productivity front Excel v3, and Microsoft Word v2 run fine. Yay!
So in conclusion doing Win16 things in Windows 3.1 is seemingly fine.
Ok something is something …
Well more importantly it runs windows apps okay(ish) or to the same degree as the initial diff so that is progress.
DOS under Windows is kind of silly today, but more so a stress test that oddly enough worked before
Just curious, how much RAM do you have assigned to the virtual machine? So I need to test Sim City and find a copy of BattleTech Crescent Hawk … Win32s is something I haven’t tried yet, but I can think of a few things that might cause it issues – interesting it is getting drive not ready, wonder if its related to A:/B: handling or just a random error …
Im using Qemu 0.90 with I think 64 or so, I also tried 8MB. I should just send you my VMDK & qemu build… so you can see for yourself.
PerditionC can i ask you a question?
Viewving the int2f.asm there is only one int2F AH=16xx concretly 1680 implemented.. Why not implement other int2F AH=16xx bases on RBIL?
Sorry It was ax=16xx It only are implemented ax=1680