VOGONS


First post, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

My first post, hopefully in the right place. I've come across this forum several times before and it's great to join!

So basically, I am trying to get Windows 3.1 run on an Atom netbook that has 2GB RAM. To simplify the process, I used Virtual PC 2007 on the same machine to install MS-DOS 6.22 and Win 3.1 into a virtual machine, take the resulting .VHD and write the image into an SD card using Rufus and run it from the card.

Without making any changes: the netbook boots into DOS fine, and mem tells me a total memory of 65,150K. But it fails to boot Win 3.1: at the logo screen after a few seconds it returns to the prompt and says overflow. It does boot fine into Standard mode (win /s) but I'd like to get it working in proper Enhanced mode. After some research suggesting it is down to the high memory, I made changes to system.ini by adding MaxPhysPage and MaxFileCache values to limit the memory, but these made no changes at all.

Some more research led me to HIMEMX from the FreeDOS project. I put the himem.exe in C: and added it to the config.sys replacing himem.sys. Trying to start Windows now would give the error PageOverCommit is too large. Trying to fix this in system.ini with PageOverCommit as =4, =3, =2, would say the same error. Changing it to =1 would give the error Insufficient memory or address space to initialize Windows in 386 enhanced mode. Forget about Standard mode, it does not boot at all with HIMEMX present instead of the original HIMEM.

Further research led me to add a /max memory value to HIMEMX in config.sys to limit the allowed memory, and I tried several values. Now finally, Windows 3.1 does boot to the logo screen, but after a few seconds returns back to the DOS prompt empty without any notices or errors.

As a final experiment, I tried Windows 3.0 instead (again from a VM install to an SD): it booted fine in Real mode, but in Enhanced mode it hangs at the logo screen, and Standard mode immediately makes the whole machine hard reboot.

And now I'm lost. Does anyone know of any ways to get Windows in Enhanced mode to work?

Reply 2 of 5, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

I heard it mentioned here before that you can use a RAM drive to "eat" most of available memory thereby decreasing the memory visible to Windows. XMSDSK's docs report that XMSDSK can support RAM drives up to 2GB. You can find a link to it at https://dosprograms.info.tt/indexall.htm under the Utilities section. Also, I think HIMEM.SYS can limit the amount of supported RAM, but I don't remember the right parameter. Type "help himem.sys" on the DOS command prompt for more information, and you can open "CONFIG.SYS" in a text editor and add the proper switch and value.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 3 of 5, by DarthSun

User metadata
Rank Member
Rank
Member
AM_PM wrote on Yesterday, 21:56:
My first post, hopefully in the right place. I've come across this forum several times before and it's great to join! […]
Show full quote

My first post, hopefully in the right place. I've come across this forum several times before and it's great to join!

So basically, I am trying to get Windows 3.1 run on an Atom netbook that has 2GB RAM. To simplify the process, I used Virtual PC 2007 on the same machine to install MS-DOS 6.22 and Win 3.1 into a virtual machine, take the resulting .VHD and write the image into an SD card using Rufus and run it from the card.

Without making any changes: the netbook boots into DOS fine, and mem tells me a total memory of 65,150K. But it fails to boot Win 3.1: at the logo screen after a few seconds it returns to the prompt and says overflow. It does boot fine into Standard mode (win /s) but I'd like to get it working in proper Enhanced mode. After some research suggesting it is down to the high memory, I made changes to system.ini by adding MaxPhysPage and MaxFileCache values to limit the memory, but these made no changes at all.

Some more research led me to HIMEMX from the FreeDOS project. I put the himem.exe in C: and added it to the config.sys replacing himem.sys. Trying to start Windows now would give the error PageOverCommit is too large. Trying to fix this in system.ini with PageOverCommit as =4, =3, =2, would say the same error. Changing it to =1 would give the error Insufficient memory or address space to initialize Windows in 386 enhanced mode. Forget about Standard mode, it does not boot at all with HIMEMX present instead of the original HIMEM.

Further research led me to add a /max memory value to HIMEMX in config.sys to limit the allowed memory, and I tried several values. Now finally, Windows 3.1 does boot to the logo screen, but after a few seconds returns back to the DOS prompt empty without any notices or errors.

As a final experiment, I tried Windows 3.0 instead (again from a VM install to an SD): it booted fine in Real mode, but in Enhanced mode it hangs at the logo screen, and Standard mode immediately makes the whole machine hard reboot.

And now I'm lost. Does anyone know of any ways to get Windows in Enhanced mode to work?

I haven't been able to start it in protected mode yet, standard mode works for me too.
Omores managed to do it: https://www.youtube.com/watch?v=JbXkvM3b2Qg&t=184s

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 4 of 5, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Some ideas that come to mind..
- use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows 3.1x)
- try himem.sys from Windows 9x (MS-DOS 7.x)
- try QEMM 7 or higher, it'll switch to V86 and install its own himem.sys replacement if no himem.sys is installed
- try IBM PC-DOS 2000 or 7.x, it has a newer himem.sys that's internally different to MS-DOS himem.sys

PS: Using V86 memory managers such as EMM386, QEMM, 386Max etc has the advantage that the physical A20 Gate nolonger matters.
In V86 mode, A20 Gate is being emulated/under control of the Virtual Machine Monitor (EMM386 etc).

That might be useful, because newer PCs nolonger have an A20 Gate.
Not that it matters for MS-DOS 6.x itself, it barely cares about the A20 state, but more sophisticated applications might care

Btw, generally speaking, running MemMaker might help to optimize memory for Windows 3.1x, as well.
It sets up EMM386 correctly and configures it for Windows.

Edit: About running Windows 3.0 in 386 Enchanted-Mode..
Please make sure that WINA20.386 is in root directory of your boot drive.
The file is stored on Disk 1 of MS-DOS 5, I think. Or maybe another one.

"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 5 of 5, by DarthSun

User metadata
Rank Member
Rank
Member
Jo22 wrote on Today, 04:14:
Some ideas that come to mind.. - use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows […]
Show full quote

Some ideas that come to mind..
- use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows 3.1x)
- try himem.sys from Windows 9x (MS-DOS 7.x)
- try QEMM 7 or higher, it'll switch to V86 and install its own himem.sys replacement if no himem.sys is installed
- try IBM PC-DOS 2000 or 7.x, it has a newer himem.sys that's internally different to MS-DOS himem.sys

PS: Using V86 memory managers such as EMM386, QEMM, 386Max etc has the advantage that the physical A20 Gate nolonger matters.
In V86 mode, A20 Gate is being emulated/under control of the Virtual Machine Monitor (EMM386 etc).

That might be useful, because newer PCs nolonger have an A20 Gate.
Not that it matters for MS-DOS 6.x itself, it barely cares about the A20 state, but more sophisticated applications might care

Btw, generally speaking, running MemMaker might help to optimize memory for Windows 3.1x, as well.
It sets up EMM386 correctly and configures it for Windows.

Edit: About running Windows 3.0 in 386 Enchanted-Mode..
Please make sure that WINA20.386 is in root directory of your boot drive.
The file is stored on Disk 1 of MS-DOS 5, I think. Or maybe another one.

The file is on disk 1 of MS-DOS 5, I think. Or maybe on another one.
I'll try this, I've tried the others, no luck...

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.