First post, by LSS10999
Context: Trying to get Windows 3.1/3.11 working on a X99 system...
Right now I'm narrowing this down to a particular issue with my current system regarding DOS-based Windows (3.1 as well as 98SE), that I don't know if this is caused by BIOS (maybe SMM code) or some factors from other running hardware e.g. CPU or other onboard and discrete PCIe devices.
The problem is, whenever I try to launch Win3.1x in 386-enhanced mode, or trying to invoke VDM from Win9x (directly such as MS-DOS prompt, or indirectly by running a DOS-based program), the system would first freeze for 30 seconds, beep, then resume 10 seconds later.
For Win3.1 the system appears stuck after the control was returned (just that I could CTRL-ALT-DEL to reboot the system), but for Win98SE the system can continue operating without issues. In Win98SE's case, however, it can become a real annoyance if some installation process would run DOS-based programs multiple times in a row, as that will leave the system unresponsive for quite a few minutes with several beeps heard in between, though it won't cause any harm in the end if I'm patient enough.
I'm very new to low-level system debugging so I've no idea if it's possible to hook some kind of debugger on that system through its sole serial port (COM1) and see what actually was going on during the period when the system "froze, beeped, then resumed", as well as what might be the reason for the system to enter this "routine".
The following has been ruled out so far:
- At least for Win3.1, no difference between using IDE or AHCI modes for SATA. In both modes Win3.1 will end at a same point. It's just I need to load AHCIFIX.386 for AHCI mode, or it will fail at some other point before hitting this actual problem.
- Rloew's AHCI.PDR does not make any difference for Win98SE. This particular issue can happen with or without disk driver for Win98SE, and with AHCI.PDR things get worse, as it appears to be unstable with the system's AHCI controller, causing I/O errors that will register on the disk's SMART table. Win98SE will show a BSOD whenever such an I/O error occurs.
Some additional notes:
- On this system PATCHMEM (preferably with at least /M) is required for Win98SE to boot. Without it (and instead relying solely on LIMITMEM) the system will reboot during startup, with no relevant logs (e.g. BOOTLOG.TXT).
- Installing Win98SE with ACPI enabled (default) will cause many hardware entries not show up, including disk controllers. Need to install Win98SE without ACPI (by specifying /p i) to make them appear. Some system devices would appear with yellow exclamation mark complaining about no IRQ assigned to them, likely because they're in APIC territory, which Win98SE doesn't appear to support.