ppgrainbow Posted February 10, 2013 Posted February 10, 2013 (edited) I recently experimented my attempts to boot MS-DOS 7.1 off of a Ativa Flip 4 GB flash drive and in all, things were successful.However, when I attempted to run Windows 3.1 while in pure DOS residing on the USB flash drive, the 16-bit OS stops responding (hangs) on the Windows 3.11 splash screen when run with the WIN /3 command to run Windows in 386 Enhanced Mode. To correct this, I had to press CTRL-ALT-DELETE to reboot. Windows 3.1 was set up through VMware Player with the drive locked so that VMware Player can gain direct access to the USB flash drive.Here's what I've done so far when I set up the boot device under VMware:1. I got Windows 3.1 installed using 6 floppy diskette images and applied updates to it.2. I used a utility Win3XSTART to make Windows 3.x run under MS-DOS 7.1 and on the FAT32 formatted USB flash drive.3. I used the generic Super VGA driver and patched the driver to make it work under Windows 3.1.4. I used a hex-edited WIN386.EXE so that no data corruption exists in the \WINDOWS directory pointer.5. I used a utility called HIMEMX.EXE to limit the total system memory to 64 MB even though DOS is reporting 66,512 KB of memory available to the system.Here's what I got down in the CONFIG.SYS:files=50buffers=30device=c:\dos\himemx.exe /max=64512 /xdevice=c:\dos\emm386.exe noems i=b000-b7ff /verbosedos=high,umb,autodevice=c:\dos\cdrom.sys /d:satadvdlastdrive=zAnd for the AUTOEXEC.BAT file, here's what I got so far:@echo offpath c:\dos;c:\windowsset temp=c:\templh mscdex /d:satadvd /l:xlh ctmouseidleOther than that, Windows 3.1 works when1. Running under VMware Player.2. In native MS-DOS and in Standard Mode (WIN /S).3. And running it on the Compaq TC1000 by selecting the USB flash drive as the boot device.I'm sorry if I failed to provide sufficient information, but is there a way to fix the hanging issue so that Windows 3.1 can run on a USB flash drive? If the fix is successful, I will provide instructions on how to natively boot MS-DOS and Windows 3.1 on a unsupported motherboard.The laptop that I'm using is a ASUS G1S-B1 gaming laptop with a 2.4 GHz Intel Core 2 Duo T7700 processor with 2 GB of DDR2 memory. By using the MS-DOS 7.1 version of HIMEM.SYS, the Windows 3.1 in Standard Mode will only be able to address up to 512 MB of system memory. Edited February 10, 2013 by ppgrainbow
os2fan2 Posted February 15, 2013 Posted February 15, 2013 Here are some things ye might like to try.CONFIG.SYSfiles=50buffers=30STACKS=9,256device=c:\dos\himemx.exe /max=64512 /xREM device=c:\dos\emm386.exe noems i=b000-b7ff /verbosedos=high,umb,NOautodevice=c:\dos\cdrom.sys /d:satadvdlastdrive=zYou don't really need AUTO here, because you're loading stuff through config.sysTry UMBPCI, http://www.uwe-sieber.de/umbpci_e.html it gives UMB's (ie dos=umb), without loading EMM.AUTOEXEC.BAT@echo offpath c:\dos;c:\windowsset temp=c:\tempSET TMP=c:\tempPROMPT $p$glh mscdex /d:satadvd /l:xREM lh ctmouseREM idleIf you are just testing whether windows will load, try removing the mouse and idle. Add the line 'pageovercommit=1' to the 386Enh section of System.ini in your windows directoryTry using vga driver or vga30 driver, to see if this cures problems.SYSTEM.INI[386Enh]...PageOverCommit=1
ppgrainbow Posted February 16, 2013 Author Posted February 16, 2013 (edited) Okay, here's what I did. In the CONFIG.SYS:1. In line 3, I added "stacks=9,256".2. In line 5, I added "REM device=c:\dos\emm386.exe noems i=b000-b7ff /verbose" so that EMM386 wouldn't load.3. In line 6, I replaced EMM386 with UMBPCI by adding "device=c:\dos\umbpci.sys". When I rebooted, I found that UMBPCI.SYS driver ends up using D400-DFFF for its upper memory and that it found the Intel 965M chipset.4. And in line 7, I also removed "auto" from "dos=high,umb as well".Here's the final result so far:file=50buffers=30stacks=9,256device=c:\dos\himemx.exe /max=64512 /xrem device=c:\dos\emm386.exe noems i=b000-b7ff /verbosedevice=c:\dos\umbpci.sysdos=high,umbdevice=c:\dos\cdrom.sys /d:satadvdlastdrive=zI did not do much change in the AUTOEXEC.BAT file. All I did was to REM out "lh mouse" in line 5 and "idle" in line 8.When I followed your procedure, I though that it would work, but when I typed "win" or "win /3" at the DOS prompt, Windows 3.1 would STILL hang at the splash screen.I forgot to note that I'm booting MS-DOS 7.1 on a dual-core processor. While MS-DOS 7.1 has detected CPU 0 and CPU 1 at boot, it will only use CPU 0 (the first core of the first CPU) due to OS architectural limitations. At this perspective, I suspect that this might cause some problems when attempting to run Windows 3.1 in 386 Enhanced Mode.Is there a way to get around this issue here? Edited February 16, 2013 by ppgrainbow
dencorso Posted February 16, 2013 Posted February 16, 2013 No. CPU1, for all purposes, does not exist both for DOS and for Win 3.1... I really doubt it'd cause any trouble. Your freezes might very well be related to some still unreported timing issue in windows VMM. Fact is you're very far away from those conditions in which Win 3.1 is known to run OK. That's what "to boldly go where no man has ever gone before" is all about.
ppgrainbow Posted February 17, 2013 Author Posted February 17, 2013 No. CPU1, for all purposes, does not exist both for DOS and for Win 3.1... I really doubt it'd cause any trouble. Your freezes might very well be related to some still unreported timing issue in windows VMM. Fact is you're very far away from those conditions in which Win 3.1 is known to run OK. That's what "to boldly go where no man has ever gone before" is all about. I agree. MS-DOS and Windows 3.1 is only designed to run on one core.Do you or others have any idea what timing issues are being unreported in Windows 3.1 that causes the GUI to freeze when attempting to start up in 386 Enhanced Mode?
dencorso Posted February 17, 2013 Posted February 17, 2013 The timing issue LoneCrusader solved for Win 95 almost surely would be present in earlier versions, if I may hazard a guess...
rloew Posted February 18, 2013 Posted February 18, 2013 I am not aware of any timing issues.I can run Windows 3.1 on my MA785 system in Enhanced mode.IO.SYS 7.1 needs a couple of mods to allow Windows 3.1 to run.A Patch is also needed to avoid the bad Current Directory on Exit Bug.
ppgrainbow Posted February 19, 2013 Author Posted February 19, 2013 I am not aware of any timing issues.I can run Windows 3.1 on my MA785 system in Enhanced mode.IO.SYS 7.1 needs a couple of mods to allow Windows 3.1 to run.A Patch is also needed to avoid the bad Current Directory on Exit Bug.First of all, (1) The MS-DOS 7.1 IO.SYS has already been patched using Win3xStart to allow Windows 3.0 and Windows 3.1x to run under MS-DOS 7.1. And (2), I already patched WIN386.SYS to avoid the Current Directory on Exit bug when using Windows 3.1. The size of the USB flash drive that I'm running Windows 3.1 on is 4 GB (3.84 GB) in capacity and it's formatted FAT32.The only problem is that Windows 3.1 hangs at the splash screen when attempting to run in 386 Enhanced Mode. It's not a problem when it's done in Standard Mode.Am I missing something in regards to modifying IO.SYS to allow Windows 3.1 to run in Enhanced Mode here?
ihateusernames Posted February 21, 2013 Posted February 21, 2013 just guessing, but are 32-bit disk access and virtual memory enabled? Maybe try it with those turned off.
ppgrainbow Posted February 21, 2013 Author Posted February 21, 2013 (edited) just guessing, but are 32-bit disk access and virtual memory enabled? Maybe try it with those turned off.I do not have the following lines are not present in the [386Enh] section of the SYSTEM.INI filedevice=*int13device=*wdctrlAnd the swapfile has already been is disabled.As Windows 3.1 is on a FAT32 partition under MS-DOS 7.1, it will not accept a permanent swapfile due to INT13 and 16-bit FAT restrictions. It's just that Windows 3.1 hangs when it is run on two or more cores or on some chipsets. Edited February 21, 2013 by ppgrainbow
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now