Back to the Microsoft Windows in DOSBox-X
Installing Microsoft Windows 3.x in DOSBox-X

- Installing Microsoft Windows 3.x in DOSBox-X
- Overview
- DOSBox-X config file
- Preparing for Installation
- Installing in a mounted folder
- Install Windows 3.x into a DOS HDD image
- Starting Windows 3.x after installation
- Steps to take after Installation
- Enabling 32-bit File and Disk access
- Enabling networking
- Enabling sound
- Enabling printing
- Installing Win32s
- Starting a Windows game from DOS
- Outstanding issues
Overview
Editions this applies to
-
Windows 3.0
-
Supports up to 16MB RAM
-
Improved UI
-
Improved memory management (286+ only)
-
-
Windows 3.0a
-
Allows programs to call into real-mode when started in standard mode
-
Bug fixes for the installer to alleviate crashes
-
-
Windows 3.0a with Multimedia Extensions
-
Adds Multimedia Extensions 1.0
-
Multimedia extensions do not support real mode (8086/8088 CPUs)
-
Adds support for recording and playing digital audio files
-
Adds support for MIDI devices
-
Adds support for screensavers
-
Adds support for analogue joysticks
-
Adds support for audio CD-ROMs
-
-
Windows 3.1
-
Supports up to 256MB RAM
-
Dropped support for real mode (8086/8088 CPUs)
-
Includes updated Multimedia Extensions
-
Adds Truetype
-
Adds optional 32-bit disk access (386 Enhanced Mode only)
-
Adds the Windows Registry
-
-
Windows 3.11
-
Bug fix release
-
-
Windows for Workgroups 3.1
-
Adds SMB file sharing (NBF or IPX protocols only)
-
Adds VSHARE.386
-
-
Windows for Workgroups 3.11
-
Adds 32-bit file redirectors
-
Drops support for standard mode (286 CPUs)
-
-
Windows for Workgroups 3.11a
-
WIndows 3.2
-
Special Chinese edition
-
Edition | Min CPU | Min RAM | Max RAM | Min HDD space | Min DOS |
---|---|---|---|---|---|
3.0 |
8086 |
1MB |
16MB |
8MB |
3.1 |
3.0a |
8086 |
1MB |
16MB |
8MB |
3.1 |
3.0a MM |
286 |
2MB |
16MB |
30MB |
3.1 |
3.1 |
286 |
2MB |
256MB |
8MB |
3.1 |
3.11 |
286 |
2MB |
256MB |
8MB |
3.1 |
3.1 WfW |
386 |
3MB |
256MB |
14MB |
3.3 |
3.11 WfW |
386 |
3MB |
256MB |
14MB |
3.3 |
Windows 3.x was available for both Retail and via OEM, with exception of Windows 3.0a with Multimedia Extensions which was available only through OEMs.
OEM versions may include and default to different drivers in SETUP for things like video and sound.
README.1ST
There are already some guides to installing Windows 3.x in DOSBox, and those guides will also work with DOSBox-X. Some examples:
-
Windows 3.1x DOSBox Guide on Vogons by user Dominus
-
How to Install Windows 3.1 in DOSBox, Set Up Drivers, and Play 16-bit Games on How-To Geek
-
Windows 3x on DOSBox guide on sierrahelp.com
This guide does not seek to replicate those pages. Instead this page will contain some install guidance and hints and tips not covered on those pages, or that are specific to DOSBox-X. It is not intended to be a comprehensive guide.
Useful links
General Notes
-
Some parts of the installation can take a considerable amount of time. You can speed this up somewhat by using the DOSBox-X Turbo mode. From the drop-down menu select "CPU" followed by "Turbo (Fast Forward)". But if you decide to use this, be sure to disable Turbo mode whenever you need to enter data or make choices, as it can cause spurious keypresses to be registered causing undesirable effects. It can also cause problems with double click with the mouse not working and audio will also not sound properly, so be sure to disable it when using Windows in DOSBox-X.
Windows 3.0 specific notes
-
Unless noted otherwise, Windows 3.1 drivers are not backward compatible with Windows 3.0
Windows 3.0a with Multimedia Extensions specific notes
-
This was available only to OEMs, as such they will be customized to the systems they shipped with. Examples are a OEM specific launcher, but also that the installer may default to specific video and audio options.
-
For versions distributed on CD, the installation can be started by going into the MWIN directory on the CD and running SETUP.EXE
-
Unlike regular Windows which installs by default to C:\WINDOWS this edition installs by default to C:\MWINDOWS
DOSBox-X config file
It is recommended that you create a custom DOSBox-X config file for running Windows 3.x
[sdl] autolock=true [dosbox] title=Windows 3.x memsize=16 # uncomment the next line if you want want to use Windows 3.0 #machine=svga_et4000 [cpu] cputype=pentium core=normal [pci] voodoo=false [ne2000] # If you want networking in WfW (DOS HDD image only!), set ne2000=true. # This also requires that you set realnic= to a suitable value for your host PC ne2000=false nicirq=10 realnic=list [ide, primary] int13fakeio=true int13fakev86io=false [render] scaler=none aspect=false [autoexec]
Copy the above config and save it as win3x.conf
Notes
-
Windows 3.0 supports up to 16MB RAM, but Windows 3.1 and 3.11 support up to 256MB, as such for these Windows versions
memsize=256
is the largest safe value. -
The [autoexec] section will need lines added later.
-
If you want networking in Windows for Workgroups, you need to set
ne2000=true
and change therealnic=
value to one suitable for your PC. See: Guide: Setting up networking for more information. -
There are Windows 3.0 and 3.1 drivers for the Tseng Lans ET3000 and ET4000 (
machine=svga_et3000
andmachine=svga_et4000
respectively), but for the defaultmachine=svga_s3
(S3 Trio64) there are apparently only Windows 3.1 drivers. -
The S3 video option will offer the broadest range of resolutions and colour depths, but do require you to install the correct drivers.
Preparing for Installation
Example of extracting files from disk images
There are various ways to extract the contents of disk images, such as 7zip on Windows or "Disk Image Mounter" on Linux. In this example, DOSBox-X itself is used to mount a disk image, copy its contents into a folder, unmount the disk image and do the next.
MOUNT C /home/myuser/winroot C: MD INSTALL IMGMOUNT A DISK01.IMG -U COPY A:\*.* C:\INSTALL IMGMOUNT A DISK02.IMG -U COPY A:\*.* C:\INSTALL IMGMOUNT A DISK03.IMG -U COPY A:\*.* C:\INSTALL IMGMOUNT A DISK04.IMG -U COPY A:\*.* C:\INSTALL IMGMOUNT A DISK05.IMG -U COPY A:\*.* C:\INSTALL IMGMOUNT A -U
Your new INSTALL directory now contains the contents of all 5 disks.
Mounting an installation CD-ROM
If you have a "Windows 3.0 Multimedia Edition" CD-ROM image, you can simply mount it in DOSBox-X.
e.g.
IMGMOUNT D win30me.iso
The installer is normally locate on the CD in the MWIN directory as SETUP.EXE
Installing in a mounted folder
Notes
-
This method is the easiest, but has a few limitations:
-
will not allow for 32-bit disk IO with Windows 3.1x
-
will not allow for networking with Windows for Workgroups
-
will not allow for true SHARE support with Win32S
-
Create a directory on your system that your going to use (mount) as your Windows 3.x C: drive. Valid examples:
-
For Windows hosts
-
C:\winroot
-
C:\users\myuser\win31
-
-
For Linux hosts
-
/home/myuser/winroot
-
/home/myuser/windows/win311
-
Note: For Windows users, do NOT mount the root of your C: drive as the DOSBox C: drive! (e.g. MOUNT C C:\
should NOT be done)
Now create a directory underneath that, which will contain your Windows 3.x installation files.
e.g. C:\users\myuser\win31\INSTALL
or /home/myuser/winroot/INSTALL
and copy the installation files into it.
You are now ready to start DOSBox-X from the command-line, using the newly created win3x.conf. This assumes that dosbox-x is in your path and win3x.conf is in your current directory.
dosbox-x -conf win3x.conf
You now need to mount your new folder as the C: drive in DOSBox-X and start the installation.
MOUNT C /home/myuser/winroot C: CD INSTALL SETUP
Adjust the path for mounting the C: drive as needed.
Note: if your path contains spaces, you need to enclose it in quotes. e.g. MOUNT C "C:\Users\John Doe\winroot"
The Windows installation will now take place.
Once the installation process has finished, you will be asked if you want to start windows, or exit to DOS. Exit to DOS and type EXIT to close DOSBox-X.
Now edit your win3x.conf config file and add the following lines into the [autoexec] section at the end of the file
MOUNT C /home/myuser/winroot C: SET PATH=%PATH%;C:\WINDOWS; SET TEMP=C:\WINDOWS\TEMP C:\WINDOWS\WIN EXIT
Adjust the path for mounting the C: drive as needed.
Install Windows 3.x into a DOS HDD image
This method does not have any of the disadvantages listed above. But it brings with it a bit of additional inconvenience. For instance you will need to do your own DOS memory management and load DOS drivers for CD-ROM access. You can also not mount a host directory in DOSBox-X when you boot a disk image. Even host directories that you mounted prior to booting the disk image will become unavailable. Everything needs to be done using IMAGE files. And you cannot change image files once you boot a guest OS, not even from the menu bar.
The first step is to create a DOS HDD image, for which you can follow the PC DOS and MS-DOS Installation Guide. You need at least DOS 3.1 for Windows 3.0 and 3.1x, and DOS 3.3 for WfW. However it is recommended to use a newer version such as DOS 6.x
Once you have a DOS HDD image, temporarily mount it in DOSBox-X to transfer your INSTALL folder into your DOS HDD image, together with any drivers and add-ons you might need (preferably already unzipped, such that you don’t need to do that in DOS or Windows 3.x, as they lack support for that by default).
Something along the lines of:
IMGMOUNT C hdd.img MOUNT D . XCOPY D:\INSTALL C:\INSTALL /I /S XCOPY D:\DRIVERS C:\DRIVERS /I /S XCOPY D:\ADDONS C:\ADDONS /I /S EXIT
Adjust paths in the above example as needed.
Now edit your win3x.conf config file and in the [autoexec] section at the end, add the following lines:
IMGMOUNT C hdd.img -reservecyl 1 BOOT C:
Now start DOSBox-X with your win3x.conf config file from the command-line:
dosbox-x -conf win3x.conf
It should boot to the C: prompt, and you can start the installation process
CD INSTALL SETUP
After the installation is finished, you can install your drivers and add-ons.
Starting Windows 3.x after installation
After the installation is finished, you can start Windows 3.x from the command-prompt with the following command:
dosbox-x -conf win3x.conf
Steps to take after Installation
Once Windows 3.x is installed, here is some additional software you may want to install or update:
-
Updated Video and Audio drivers
-
Win32s 1.30c
-
Video for Windows 1.1e
-
WinG API 1.0
-
Quicktime 2.1.2
-
Adobe Type Manager 3.02
Enabling 32-bit File and Disk access
-
Introduced with Windows 3.1, 32-Bit Disk Access allows Windows to bypass the 16-Bit BIOS
-
Introduced with Windows 3.11, 32-Bit File Access allows Windows to bypass the 16-Bit DOS FAT code
Enabling these features means that Windows has to leave 32-bit protected mode less often, and should therefore, at least in theory, be faster. However, based on benchmarks, there is no advantage at this time to enabling these features in DOSBox-X, and it may actually reduce performance!
32-Bit Disk Access (also called FastDisk) uses the WDCTRL driver built into WIN386.EXE that is included with Windows 3.1x, which should works in DOSBox-X if the following conditions are met:
-
You must use a real DOS in DOSBox-X
-
Your HDD image must have 1023 cylinders or less (max 504MB)
-
When creating you harddisk image in DOSBox-X you may want to use
IMGMAKE hdd.img -t hd_520
, which will give you exactly a 504MB HDD.
-
-
You can only have one HDD
-
You cannot have a CD-ROM as a slave on the same IDE controller as the HDD
-
You must have set
int13fakeio=true
andint13fakev86io=false
in your DOSBox-X config file -
You must mount your HDD image file with
-reservecyl 1
-
You must mount your HDD image file with device number 2, and not the drive letter (this is likely a bug in DOSBox-X)
-
You must edit
C:\WINDOWS\SYSTEM.INI
and in the[386enh]
section add the following 2 lines (preferably between the*pageswap
and*biosxlat
drivers):-
device=*int13
-
device=*wdctrl
-
-
At the bottom of the
[386enh]
section add the line:-
32BitDiskAccess=ON
-
See How to please WDCTRL for more background information.
32-Bit File Access has no such requirements, and can be enabled seemingly on any system.
To enable these features, open the "Main" folder, followed by "Control Panel". Now double-click on the "386" chip icon titled "Enhanced". Then click on the "Virtual Memory…" button. Under Disk Status you can see what access methods Windows is currently using. Now click on the "Change>>" button. At the bottom there are options for "Use 32-Bit Disk Access" and "Use 32-Bit File Access". If the 32-Bit Disk Access option is greyed out, it probably means your configuration is not compatible with the option.
There are 3rd party 32-Bit Disk Access drivers which may allow it to function on larger disks, but have not been tested in combination with DOSBox-X. Most 3rd party drivers only work in combination with specific hardware, but the Ontrack ontrackw.386 driver works in DOSBox-X, but seems to have similar restrictions.
Enabling networking
This only applies to Windows for Workgroups (WfW). To enable networking functionality you will need to create a disk image with real DOS, and install WfW into that. You cannot run the networking components of WfW in the emulated DOS environment that DOSBox-X provides by default. For instance, if you install WfW inside DOSBox-X with networking support, your supposed to run C:\WINDOWS\NET START
before starting Windows. This command will however return a Error 73: (null)
if run from the DOSbox-X emulated DOS.
Windows for Workgroups by default only supports SMB networking over NBF or IPX. There is no support by default for TCP/IP.
There were 3rd party WinSock solutions, but those were meant for dial-up internet access, and are not specific to WfW.
You can however install Microsoft TCP/IP-32 to add TCP/IP support to WfW.
Enabling sound
DOSBox-X by default emulates a Creative Labs SoundBlaster 16. Download and install the SB16 driver package. This needs to be run from DOS.
Pay close attention during installation to the IRQ. The emulated SB16 in DOSBox-X defaults to IRQ7, while the SB16 driver package assumes IRQ5. So unless you changed the SB IRQ in your DOSBox-X config file, change the IRQ during installation to IRQ7.
Enabling external MIDI
By default the SB16 Windows 3.1x drivers will emulate MIDI playback using the OPL chip. However DOSBox-X has built-in support for General MIDI emulation (which is enabled by default), which sounds much better.
To set it up, first ensure the SB16 drivers are installed. Then in Windows 3.1x go to "Control Panel" and open "MIDI Mapper". Select the "SB16 All MIDI" option from the drop-down menu, and press the "Close" button.
The same can be accomplished with Windows 3.0a with Multimedia Extensions, but the "SB16 All MIDI" option will not be listed. Instead in the "MIDI Mapper" dialog box click on the "New…" button. You will be asked for a name and description. You can name it anything you like, for instance "SB16 External MIDI". You will then get a "MIDI Setup" window. The only thing you want to change here is the "Port Name". For each Source Channel ("Src Chan") line, change the "Port Name" to "SB MIDI Out". You may also notice that for each line the active checkbox gets checked, this is correct. Once finished click ok and confirm the save.
You should now be able to open the Windows 3.x Media Player and playback Canyon.mid.
Note: For "Windows 3.0a with Multimedia Extensions" the media files are located by default in C:\MWINDOWS\MMDATA
.
Enabling printing
Installing Win32s
Win32s is a 32-bit application runtime environment for Windows 3.1x. Some games and applications require it. Win32s version 1.30c is the latest version.
It installs and runs without problems. But be aware, that unless your running Windows 3.1x under real DOS, that DOSBox-X has an integrated fake SHARE.EXE function that is enabled by default. Win32s requires that SHARE.EXE is loaded, so your options are to either fake it, like DOSBox-X does by default, or install Windows 3.1x in real DOS in DOSBox-X.
Do note, as the name implies, this FAKES that SHARE.EXE is running. This is not safe and can lead some applications that really need it to experience data corruption. Office 4.3, Visual C++ and Visual Basic are examples of programs that should not be run without real SHARE.EXE support.
Starting a Windows game from DOS
If you want to silently start a Windows game, without seeing the Windows 3.x splash screen or program manager, and when you exit the game that it exits Windows, here are the steps to take:
First install the game normally in Windows.
You can then start the game from DOS simply by appending the Windows game executable behind the WIN.COM executable as such:
WIN \path\to\game\game.exe
This will prevent the Windows splash screen being shown, and will directly start the game without first going to the Program Manager (progman).
The second step you may want to take, is that when you exit the game, you also exit Windows 3.x. For this you need a 3rd party utility called "RUNEXIT.EXE", and place it in your PATH. Now simply start the game as follows:
WIN RUNEXIT \path\to\game\game.exe
Like before it will start the game without the Windows splash screen, but now when you Exit the game it will also Exit Windows. This way you can launch Windows games from a DOS batch file, or from a DOSBox launcher such as DBGL.
Outstanding issues
-
Using 32Bit Disk and File lowers performance
-
32Bit Disk and File, requires mounting the HDD image using drive number