First post, by LSS10999
I just started trying to get Windows 3.1/3.11 working on my X99-based system, which is currently running a functional dISAppointment (v0.2).
So far I'm successful in getting standard mode (WIN /S) ready to use, with SVGA and sound, but I'm hitting a wall on getting 386-enhanced mode working.
Here's some info about my system environment.
I've configured my SATA controller to AHCI mode as when I tried some DOS benchmarks, it appears my SSDs perform much better with AHCI (~500MB/s linear read) compared to IDE mode (~260MB/s linear read). Also, the amount of UMB I can access is nearly the same when using AHCI compared to IDE, and other OSes I'm using on this system also have working AHCI support, so there's no reason not to use AHCI here. I'm using AHCICD.SYS/AHCICD.DLL for optical drive, by the way.
For Win3.x I'm using a modified Win98SE IO.SYS (MS-DOS 7.10) which includes the W3XSTART patch for enabling Win3.x operation.
To further ensure a compliant environment, I created a specialized MS-DOS startup config using mainly the following TSRs:
- HIMEM.SYS from Win3.11 (naturally limits RAM to 64MB)
- IFSHLP.SYS from Win3.11
- SMARTDRV.EXE from Win3.11
Haven't loaded DOSLFN for this config yet, but AFAIK it doesn't magically enable LFN for Windows apps so its usefulness may be limited. I remember there are some utilities that enables LFN for Windows 3.x to some extent.
And here are the drivers and configuration I used for Windows 3.11.
For video I'm using the patched SVGA driver (svga256.drv) which works without major issues on my system, even during GUI install phase. The default VGA driver is too glitchy (such as missing texts in some places) for normal use on this system, though barely okay for GUI install phase.
USB mouse doesn't appear to work correctly while in Win3.11 so I have to use a PS/2 one. No issues with USB keyboard, though. Should be noted that while in DOS, only CuteMouse can enable proper USB mouse operation (I'm using 2.1).
(EDIT: Can be fixed by using Win-OS/2's MOUSE.DRV. See comments.)
I've disabled 32-bit disk and file access since they obviously won't work correctly on such environments (the partitions are FAT32 after all).
At this point, trying to start Windows in 386-enhanced mode would lead to a black screen with a blinking cursor at around the beginning of 3rd line. I can CTRL-ALT-DEL at this point.
I originally tried Windows for Workgroups and ran into the same problem, and thought it might be related to networking (see here). However, after further testing with both WfW and Win3.11 it doesn't appear to be the case, as trying to start 386-enhanced mode failed at the same point regardless.
Then I found this (AHCIFIXD.SYS/AHCIFIX.386). I added the driver to system.ini and Windows 386-enhanced mode booted a bit further. I don't see the screen with blinking cursor anymore, but still a hang. After about 20-30 seconds I get a single PC speaker beep and if I waited too long I won't be able to CTRL-ALT-DEL anymore and have to manually reset the system. Bootlog (WIN /B) does not show anything failed to load. It seems AHCIFIX is indeed needed, but it's not everything required for a successful 386-enhanced mode startup...
For the time being I'm using Windows 3.11, not Windows for Workgroups, since the latter no longer offers the option to boot Standard Mode out-of-box and needs some modifications in order to do so.
As for sound, I've a CT2950 installed on my dISAppointment. It seems the SB16 driver either doesn't work with Standard Mode, or I did not install it correctly, as it complained about drivers missing. But Windows' built-in SB 1.5 driver works fine for both sound and MIDI (via daughtercard) while in Standard Mode.