VOGONS


First post, by fosterwj03

User metadata
Rank Oldbie
Rank
Oldbie

I recently built a 386-based computer with a 486DLC CPU and 32MB of RAM. I have a number of operating systems installed on various SD cards, but one OS is giving me some trouble. Windows 3.0 (both the floppy based version and MME off of a CD) completes the installation process via the GUI, but refuses to boot to the desktop. I've tried several troubleshooting steps from information on the web, but nothing worked. I ultimately replicated my setup in 86Box, and I isolated the root cause. Unfortunately, I'm still at a loss for a fix.

I'm using a DTC enhanced BIOS in my physical computer to handle drives larger than 512MB. When I use the enhanced BIOS on the real computer and 86Box, Windows 3.0 fails to boot in any mode. When I use XTIDE in 86Box at the same ROM address, Windows 3.0 boots to the desktop.

Would anyone here on Vogons know what would cause this behavior? Even better, would anyone here know a fix. I don't know if it's a memory management issue with HIMEM.SYS or something in Windows. Windows 3.1 and Windows 95 have no issues booting on the system.

Thanks.

Reply 1 of 9, by MagefromAntares

User metadata
Rank Member
Rank
Member

Hi,

I have only used Win 3.0 for a relatively short time as I quickly moved on to Win 3.1, but there are two things that could be tried:

1. Attempt to run Win 3.0 in Standard or Real mode:

IIRC these are the switches:

Standard mode:

WIN /S

Real mode:

WIN /R

2. I didn't used Win 3.0 with systems equipped with that much RAM, but I remember hearing from someone that Win 3.0 isn't able to use memory above 16 MB properly and might cause issues, try removing some RAM and see if the issue surfaces.

"A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it." - Dune

Reply 2 of 9, by fosterwj03

User metadata
Rank Oldbie
Rank
Oldbie

Thanks. I tried both in 86Box. Neither Real Mode nor Standard Mode will boot with the DTC BIOS present.

The 16MB issue supposedly happens with Standard Mode, specifically, so that shouldn't keep Windows from bootting in Enhanced Mode. It boots with 32MB of RAM with XTIDE present, but not with the DTC BIOS present.

Reply 3 of 9, by MagefromAntares

User metadata
Rank Member
Rank
Member

If Real Mode also fails to start then it is unlikely to be a memory issue, as that mode was primarily present in Win 3.0 to be a compatibility mode for Win 2.0 software, and it shouldn't use more than 4 MB of memory even with EMS present in that mode.

Hmm if it fails both on real HW and in 86Box especially in all 3 modes with the DTC BIOS then it is likely that it is a specific incompatibility with that BIOS that causes the problem.

One line to debug the issue would be to check if it is a specific BIOS interrupt call that causes the problem, but I mostly use either DosBox or PCem for my emulation purposes, so I have no idea how to debug it in 86Box, or if it even has an inbuilt debugger capable of tracing the execution flow.

"A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it." - Dune

Reply 4 of 9, by fosterwj03

User metadata
Rank Oldbie
Rank
Oldbie
MagefromAntares wrote on 2026-05-28, 12:02:

If Real Mode also fails to start then it is unlikely to be a memory issue, as that mode was primarily present in Win 3.0 to be a compatibility mode for Win 2.0 software, and it shouldn't use more than 4 MB of memory even with EMS present in that mode.

Hmm if it fails both on real HW and in 86Box especially in all 3 modes with the DTC BIOS then it is likely that it is a specific incompatibility with that BIOS that causes the problem.

One line to debug the issue would be to check if it is a specific BIOS interrupt call that causes the problem, but I mostly use either DosBox or PCem for my emulation purposes, so I have no idea how to debug it in 86Box, or if it even has an inbuilt debugger capable of tracing the execution flow.

I suspected the same. I wonder if the DTC BIOS uses a little bit of lower memory that Windows 3.0 doesn't recognize as in use. That doesn't explain why the installer's Windows environment boots to complete the installation process, though.

Reply 5 of 9, by rmay635703

User metadata
Rank l33t
Rank
l33t

It appears you have troubleshooted your specific issue.

When I have used Windows 3.0, it didn’t agree with 32mb of ram, using an old himem.sys and avoiding emm386 helped.

Reply 6 of 9, by fosterwj03

User metadata
Rank Oldbie
Rank
Oldbie

OK, I did some more testing. I can get Windows to boot into Real Mode in both 86Box and the real machine. It turns out the distro I used for my most recent install didn't default to the Program Manager as the shell. Once I made the shell change in SYSTEM.INI, Windows 3.0 boots to the desktop in Real Mode.

I likewise can get Windows to boot into Standard Mode in 86Box if I reduce the emulated system RAM to no more than 16MB. Any RAM amount greater results in a protection fault. I suspect the real hardware would also boot to the desktop in Standard Mode if I removed half the RAM, but I'd rather not do that just to run Windows 3.0 in Standard Mode.

Windows 3.0 still will not boot into Enhanced Mode with the DTC BIOS enabled regardless of the RAM amount installled despite some additional troubleshooting.

This still doesn't explain why Windows 3.0 will boot to the desktop in Enhanced Mode when I use XTIDE as the enhanced BIOS but not with the DTC BIOS.

Reply 7 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Windows 3.0 still will not boot into Enhanced Mode with the DTC BIOS enabled regardless of the RAM amount installled despite some additional troubleshooting.

Hi, Windows 3.0 may need C:\WINA20.386 file. It's on disk #1 of MS-DOS 5.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 9, by MagefromAntares

User metadata
Rank Member
Rank
Member
fosterwj03 wrote on 2026-05-29, 00:00:

I likewise can get Windows to boot into Standard Mode in 86Box if I reduce the emulated system RAM to no more than 16MB. Any RAM amount greater results in a protection fault. I suspect the real hardware would also boot to the desktop in Standard Mode if I removed half the RAM, but I'd rather not do that just to run Windows 3.0 in Standard Mode.

I think rmay635703 already told you the solution to this, for using Windows 3.0 use an old version of HIMEM.SYS that doesn't support memory above 16 MB, I think the last version of HIMEM.SYS with that limitation is the one which came with MS-DOS 5.0, later version will report and attempt to allocate more than 16 MB when available. If you really don't wish to use an older version of HIMEM.SYS, you can use a program that allocates memory, like XMSDSK to waste memory on a virtual disk (This is the freedos version that I have found online, but IIRC it works with MS-DOS as well): https://www.ibiblio.org/pub/micro/pc-stuff/fr … 03.0/index.html, use it like this:

XMSDSK 17408 E: /T /Y

Replace the "E:" drive letter with a free one. The /T switch makes XMSDSK allocate the memory from the top instead of bottom, so Win 3.0 will see the address space free at the beginning of the RAM. The /Y switch makes it not ask questions so it will work in a BAT file without human intervention.

"A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it." - Dune

Reply 9 of 9, by fosterwj03

User metadata
Rank Oldbie
Rank
Oldbie

Good call all around. HIMEM.SYS from DOS 5.0 seems to limit the RAM and boot to the desktop in Standard Mode on the real hardware. I can live with that for now so I can test my PicoGUS with Windows MME, but I would still like to solve the issue with the DTC BIOS preventing the system from bootting into Enhanced Mode over the long term.

Maybe we can keep this thread going if anyone has any other ideas. I'll continue to research and troubleshoot in the meantime.