Nostalgia for Windows 3.1

Noah Petherbridge
kirsle
Posted by Noah Petherbridge on Thursday, February 12 2009 @ 08:08:07 AM
My first computer ever was an old late-80s Tandy machine that was running MS-DOS and Windows 3.1 -- I got it when I was in kindergarten or first grade, and kept it until after I started 7th grade. So, I have more than a few nostalgic memories with the operating system, and have been trying to somehow virtualize it and relive a little bit of my past.

The first virtual machine software I found in the last year or two was QEMU. It wasn't an easy virtual machine to work with, and I could scarcely get even Windows XP to function to my liking with it, let alone try running a dinosaur of an operating system that isn't up to speed with current hardware, like what QEMU emulates for its virtual machines.

I was able to install Windows 3.1 on top of the DOSBox emulator. It installed, and ran, and I was able to install Chip's Challenge from Microsoft's Best of Windows Entertainment Pack and play it, with sound effects and everything.

However, DOSBox wasn't made to run Windows. Windows uses a VGA graphics driver by default, which gives it an entire 16 colors to use with a 640x480 pixel desktop. If I wanted to upgrade it to, say, Super VGA and get 800x600 pixels, or even do something as crazy as to get 256 colors, DOSBox didn't handle it well. Sure, Windows would still run, however its color palette would be off (brown dirt blocks in Chip's Challenge would be teal, for instance), and many programs would cause DOSBox to entirely crash.

So, DOSBox isn't a very satisfactory emulator for running Windows 3.1 on.

So, after I discovered VirtualBox, it became my favorite virtual machine software. I use it all the time to do all kinds of mad scientist experiments with my operating systems. So, I tried installing Windows 3.1 on this. First, though, I needed to install a DOS-like operating system, since Windows 3.1 itself is not a real operating system (more of an elaborate DOS game).

FreeDOS

FreeDOS is an open source implementation of a DOS-like operating system. It may not be MS-DOS, but it should be enough to run Windows on. It's relatively easy to install FreeDOS in VirtualBox, and then the installation of Windows goes smoothly too -- until you've installed it and want to run it. Then you get an error like this:
Cannot start Windows in Standard Mode.

Make sure you are not running other protected-mode software,
or try starting Windows in 386 Enhanced mode by typing win /3.
Okay... what does win /3 do for us then?
Cannot start Windows in enhanced mode with the currently installed
protected-mode software.

Quit the protected-mode software and try again.
This is where I gave up. And then gave up again the next time I tried this. And so-on. Googling wouldn't help me much, and I'd just hear reports that "FreeDOS can't run Windows 3.1", accompanied by reports that "FreeDOS 1.0 can now run Windows 3.1 thanks to an update to its kernel" -- well, I had FreeDOS 1.0 and Windows wouldn't boot. I finally found the solution, though.

I had to edit C:\WINDOWS\SYSTEM.INI, and under [386Enh] I had to add the line InDOSPolling=True. Furthermore, I had to boot Windows by using the C:\WINDOWS\SYSTEM\DOSX.EXE program, instead of WIN.COM like normal.

C:\WINDOWS>SYSTEM\DOSX.EXE
Windows 3.1 in FreeDOS

The catch? You can't start another DOS shell on top of Windows again. So that "MS-DOS Prompt" shortcut, or the "IBM Professional Editor" couldn't be started from within Windows. Sort of defeats the purpose of having their icons there at all.

On the plus side, though, I was able to up the graphics support to Super VGA with no distortion of colors or general instability of the operating system. However, the SoundBlaster drivers wouldn't work, the networking wouldn't work, and I couldn't install a whole lot of actual software due to random odd error messages, which probably had to do with the unorthodox way that I needed to start Windows.

MS-DOS 6.22

Clearly, the best way to go is to use the real MS-DOS software. I obtained the floppy disk images for MS-DOS 6.22 a while back, but my Windows 3.11 installer was on a CD image, and MS-DOS doesn't have support for CD drives out-of-the-box. I was also more of a noob before when I tried this and wasn't very efficient at creating my own floppy images to be able to get a driver installer to MS-DOS.

But this time when I tried it, it was pretty easy. I just converted the Windows installers into disk images (not perfectly; the files for each disk wouldn't always fit in 1.44 MB and had to overflow to the following disk, so I ended up with 7 disk images for a 6 disk operating system). Windows didn't care, it would just give errors like "Read Error" and "Please insert disk #2", and I just had to do more disk juggling than usual until it got all the files it needed.

After getting a true MS-DOS installed with Windows 3.1, I was able to *gasp* start Windows in 386 Enhanced Mode, with no problems whatsoever. Then I installed a driver for the CD-ROM hardware, which made it easier to install SoundBlaster 16 drivers. Also I had to give it a couple of drivers (one for DOS and one for Windows) to stop them from consuming 100% of my CPU while running.

MS-DOS
(I didn't upload another screenshot of Windows; it looks more or less the same as it did in FreeDOS!)

What works? Well...

  • 386 Enhanced Mode (WIN.COM)
    • The SoundBlaster drivers work; Windows can play audio.
    • New DOS shells can not be started from within Windows. So, that "MS-DOS Prompt" shortcut is useless again.
  • Standard Mode (WIN.COM /S)
    • SoundBlaster does NOT work.
    • New DOS shells CAN be started from within Windows.
A bit of a conundrum here. I can play graphical Windows 3.1 games with sound effects in 386 Enhanced mode, but can't play DOS games from within Windows. Or, I can play DOS games with sound effects but I have to run them from outside Windows.

Another interesting thing to note: before I installed the drivers for DOS and Windows that makes them stop consuming 100% CPU while idle, if I started a DOS shell on top of Windows, every key I pressed would be sent twice to the new shell. So this made it unusable. After installing those drivers though, the new shell works as it should.

This is definitely the best virtualization of Windows 3.1 I've gotten so far. It's at least 90% as "authentic" as running Windows on a real Tandy machine. I could nearly relive my computing childhood and install BOWEP and a handful of classic DOS games like Police Quest and Frederick Pohl's Gateway on it (not from within Windows, though!)

Or, I could just play it safe and use DOSBox for the games. :P

Categories:

[ Blog ]

Comments

There are 17 comments on this page.

guest
guest
Posted on Friday, October 09 2009 @ 09:33:09 AM by Kar.

This web page is cool!

guest
guest
Posted on Wednesday, May 19 2010 @ 05:48:03 PM by Richard.

The simplest (and fun) way to get old operating systems working is to get
the real thing. Old computers are dirt cheap - you may even be able to get one
free like I did. A 6x86 PR200+ (c. 1996). Runs excellent on 256mb ram and I was able
to get an ethernet card to work. Setting it up was hard at first because some drivers
are difficult to find for the PCI cards. Another good thing is that although the platform
is obsolete, software is plentiful everywhere for it. Graphical browsers fall over, but
I am working on getting Lynx running on it. I already have gopher, newsgroups and
other texty internet stuff. It started out as a novelty, now I find myself using it
more regularly - kinda like a trainset hobby. A very pleasing computing experience.

guest
guest
Posted on Tuesday, October 19 2010 @ 02:28:22 AM by Mark.

Well I managed to get win3.1 running ok under dosbox, with S3 Video Drivers, and colors are not off or gone bad, works quite well actually :)

guest
guest
Posted on Friday, February 03 2012 @ 06:38:55 AM by Trollbox.

In DOSbox 0.74, you can choose the V-card to emulate, then try finding drivers. I was able to make it use 800x600x16 under DOSbox.
Google for a Win31 guide on VOGONS.
However, I used WIN32S that comes with Pilots games, as Win32S that you can find on Google result #2 didn't work and gave Error 21.
Sorry for necroing, but this is if someone hits this page. :)

guest
guest
Posted on Tuesday, June 12 2012 @ 12:35:02 PM by Stephen L.

If I can remember back that far those Microsoft floppies for MSDos 6.22 were formatted with extra tracks / more sectors (MDF Microsoft Distribution Format ???) - you could achieve the same effect with IIRC "fdformat" which MOST FDcontrollers would let you have something like 21 sectors per track rather than standard 18 and 82 tracks rather than 80 on a normal 1.44MB 3.5" floppy - for a total of around 1.8MB (or 1.44MB on a really 'floppy' 1.2MB 5.25" disk. 8-) ). Can't recall whether the DISKCOPY command would let you duplicate such disks but I suspect that modern Windoze would probably moan about such disks nowadays...

Avatar
guest
Posted on Saturday, September 22 2012 @ 07:56:22 AM by Maria Welborn.

Sweet thanks for the dos 6.22 and Win 3.1 download :)
I first learnt to program in C on this sort of environment - i'm running it on vmware. The exclusive mode seems to give an authentic feel :)

guest
guest
Posted on Monday, November 05 2012 @ 09:51:12 AM by totalizator.

It works! Thanks for the tip how to start Win 3.11.

guest
guest
Posted on Wednesday, February 06 2013 @ 02:52:59 PM by Ian.

Thank you! I've been trying (on and off) to get Win 3.11 working on a FreeDOS box for several weeks. This site got me there once I got past the LFN driver issue in SYSTEM.INI.

guest
guest
Posted on Thursday, October 31 2013 @ 07:38:48 AM by solarflow99.

Just use dosemu if you want to do it the easy way. Getting this going in virtualbox is neat to see though, especially to fix the 100% cpu problem.

guest
guest
Posted on Wednesday, March 25 2015 @ 09:32:39 PM by Dabombinable.

Brilliant, works well in virtualbox and on my old desktop.

guest
guest
Posted on Sunday, May 10 2015 @ 02:13:42 AM by Antonio.

You should use ms-dos 7.1, ms dos 6.2 sucks, it can't see more than 64 mb of memory and can't read fat32 partitions. Pretty useless.

guest
guest
Posted on Thursday, August 27 2015 @ 02:16:44 AM by zgypa.

I actually disagree with VirtualBox not working well. I found it to be the quickest way to get Windows 3.11 up and running. This is most likely because i'm runing a newer version than the one in this post. 0.74 is what i'm running, and i was able to tweek the cpu setting to make it run perfectly for me.

Other advantages are that the entire system can be packaged up and distributed as a whole. So i can create an optimal configuration for one game, duplicate the entire dosbox folder, and install a a different game that needs different settings on the duplicated folder, and setup win.ini and autoexec.bat to automatically launch the game. Now i have a fully functioning DOS game that i can just double click to launch!

guest
guest
Posted on Thursday, August 27 2015 @ 02:19:52 AM by zgypa.

Errata Corrige of the previous post:

I actually disagree with DOSBox not working well. I found it to be the quickest way to get Windows 3.11 up and running. This is most likely because i'm runing a newer version than the one in this post. 0.74 is what i'm running, and i was able to tweek the cpu setting to make it run perfectly for me.

Other advantages are that the entire system can be packaged up and distributed as a whole. So i can create an optimal configuration for one game, duplicate the entire dosbox folder, and install a a different game that needs different settings on the duplicated folder, and setup win.ini and autoexec.bat to automatically launch the game. Now i have a fully functioning DOS game that i can just double click to launch!

Another advantage of DOSBox over VirtualBox is that DOS is already installed.

Another advantage of DOSBox over VirtualBox is that there is a shared folder! No need to setup network, which is very tedious on bare DOS, slightly better on Windows 3.11.

guest
guest
Posted on Sunday, December 13 2015 @ 01:47:16 AM by tom.

works under VirtualPc 2007, just need to see if I can find the sound and network drivers.
I wonder if I can get pcoptimizer to run on win 3.1 ?

virtual pc is fun to run winxp on and troll the fake av
indians...............

guest
guest
Posted on Friday, April 15 2016 @ 03:49:27 AM by Guest.

I Found an old but unknown DOS !!!
OSx16 Operating System (MS-DOS Compatible) BOOT-CD Image And BOOT-USB Image Files !
I Found OSx16 Operating System Image Files In :
https://goo.gl/8WtKXn
And I Found Many links to OSx16 Operating System in some forums !!!
OSx16 Operating System Image Files Includes Nice Collection of Atari 2600 Games And DOS Games and NES, SEGA , ... .
I Found that OSx16 Supports USB sound cards !!!
OSx16 Operating System Really Works With My USB sound card !!! (I Have HQ Sound with Atari Games And Some DOS Games !!!)
(Ideal For PC(s)/Laptop(s) Systems, Without HDD, SOund Card !!!)
Why Somethings Are So Unknown and Are in Shadow ???
It Seems OSx16 is Closed source and Sahred As Free and As shareware !!
There is a game, in CD and USB (Bootable image files) , that Only executable under MS-DOS, PC-DOS, only.
Executing under Other MS-DOS Compatible !!!! Like the FreeDOS was Impossible !!!
What is OSx16 Operating System ?????
Do You Know Anything About OSx16 Operating System ?

guest
guest
Posted on Monday, May 01 2017 @ 04:43:14 PM by herb1927.

i found some old discs, if anyone is interested, email..rherbONE@live.com....
they are WINDOWS 3.11, 8 discs, complete set
MS DOS 6.2, 3 discs, complete set
MS DOS 5.0, 4 discs, complete set
MS DOS SHELL, ONE DISC, COMPLETE
PHOTO WORKS V2/2.2 two discs
LOGITECH MOUSEWARE 8.2, TWO DISCS complete.

guest
guest
Posted on Friday, May 05 2017 @ 06:01:57 PM by Anonymous.

OMG You helped me to install windows 3.11 on freedos

Add a Comment

Your name:
Your Email:
Message:
Comments can be formatted with Markdown, and you can use
emoticons in your comment.

If you can see this, don't touch the following fields.