Installing Microsoft Windows 95 in DOSBox-X

Overview

This guide will give a general description of installing Windows 95 in DOSBox-X, in addition to addressing some common issues.

CD-ROM editions this applies to

  • Windows 95 (RTM; Original release)

  • Windows 95 OSR1 (aka 95A)

  • Windows 95 OSR2 (aka 95B)

  • Windows 95 OSR2.1 (aka 95B)

  • Windows 95 OSR2.5 (aka 95C)

Note
This guide will not work with the Windows 95 diskette versions, as those use a special format (DMF) which is not supported by DOSBox-X.

This guide also assumes a Full Retail or OEM version of Windows 95. Upgrade editions have additional requirements not covered by this guide.

If you don’t know which Windows 9x version to install, we recommend that you install Windows 98SE. If you want to stick with Windows 95, we recommend to use Windows 95 OSR2 or later.

There are other guides to installing Windows 95 in DOSBox that may be more or less applicable to DOSBox-X:

DOSBox-X config file

You first need to create a DOSBox-X config file.

[sdl]
autolock=true

[dosbox]
title=Windows 95
memsize=64
vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
# Set this to 7.1 if using Win95 OSR2 or later
ver=7.0

[cpu]
cputype=pentium_mmx
core=normal
cycles=60000

[sblaster]
sbtype=sb16vibra
irq=5

[ne2000]
# If you want networking in Windows, set ne2000=true.
# This also requires that you set realnic= to a suitable value for your PC
ne2000=false
nicirq=10
realnic=list

[fdc, primary]
int13fakeio=true
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

[ide, secondary]
int13fakev86io=true
cd-rom insertion delay=4000

[render]
scaler=none

[autoexec]

Copy the above config and save it as win95.conf

Notes

  • If using Windows 95 OSR2 with FAT32 volumes, be sure to change the DOS version to 7.1 (ver=7.1 or from the DOSBox-X prompt: ver set 7.1) or else you will get errors mounting the FAT32 volume

  • While Windows 95 should support up to 2048MB RAM, in reality more then 480MB can cause problems, as such memsize=480 is the largest safe value.

  • The [autoexec] section will need lines added later.

  • If you want networking in Windows, you need to set ne2000=true and change the realnic= value to one suitable for your PC. See: Guide: Setting up networking for more information.

    • By default if Windows 95 detects a network adapter during installation, it will only setup Novell’s IPX/SPX protocol with Windows Login, which is pretty useless nowadays. You will probably want to change this afterwards in the Network settings to TCP/IP, by adding the TCP/IP protocol.

  • Setting cycles=60000 gives significantly better video and disk performance, but slightly worse CPU performance compared to cycles=auto or cycles=max.

  • Do not change the core=normal setting. In particular the dynamic core, while generally faster, is incompatible with Windows 95 non-recursive page fault handling, and will cause stability problems and crashes such as General Protection Faults (GPF).

General installation 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.

  • When creating your HDD image with IMGMAKE, instead of specifying a custom size, you can choose a pre-defined template. The pre-defined HDD templates can be seen by running IMGMAKE without arguments.

  • If you get a prompt stating that C:\WINDOWS already exists, ignore it, and continue the installation.

  • During the installation it may ask you if you have a CD-ROM, Network card or sound card that you want it to scan for. If you have NE2000 enabled in your DOSBox-X config file, you may want to check the Network adapter check box. Your DOSBox-X CD-ROM and Sound Card will be detected regardless if you check it’s box or not.

  • In case you installed Windows 95 OSR2.5 you may have noticed that you did not get IE4 and the Active Desktop features. This is because this is an optional install. On the CD, simply run \WIN95\IE4SETUP.EXE to install it. While there is no real advantage to either feature, installing it does bring some new and updated libraries such as MSVCRT.DLL and COMCTL32.DLL that some programs need.

Creating a Harddisk image

The IMGMAKE command supports creating diskette or harddisk images with FAT12, FAT16 or FAT32 filesystems. Harddisk images greater than 2GB are always created with the FAT32 filesystem. If your reported DOS version is set to 7.10 or greater, then harddisk images of 512MB or greater are also created as FAT32.

Alternatively, you can use the -fat option to instruct IMGMAKE to create a certain FAT type (assuming that is possible for the FAT type).

Note
Only Windows 95 OSR2 or later supports FAT32, for older Windows 95 releases you can only use FAT16 up to 2GB.

First you need to start DOSBox-X from the command-line, using the newly created win95.conf. This assumes that dosbox-x is in your path and win95.conf is in your current directory.

dosbox-x -conf win95.conf

Then in DOSBox-X you need to create a new harddisk image file with IMGMAKE.

This example uses a 2GB harddisk formatted to FAT16, which is the maximum for FAT16, and supported by all Windows 95 versions.

IMGMAKE hdd.img -t hd_2gig -fat 16

Or if your using Windows 95 OSR2 or later, you can create a FAT32 volume. Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 95 cannot handle volumes greater than 32GB. Larger partition sizes may be possible with 3rd party drivers, but are not covered here.

In later Windows versions, starting with Windows 2000, Microsoft won’t let you format a volume bigger than 32GB with FAT32 using its built-in formatting tool, this was presumably to push migrations to NTFS and exFAT.

Or if you want to create a larger disk, you can create a custom type. This is an example of a 16GB (16*1024=16384MB) disk.

IMGMAKE hdd.img -t hd -size 16384

Installation Method

Other installation methods are possible than the one described below. It is however considered to be the quickest method with the least amount of steps.

Requirements

  • DOSBox-X 0.83.3 or later, it will NOT work with earlier versions or other DOSBox forks.

  • Windows 95 CD-ROM image (named "Win95.iso" in the example below).

Getting the image file is outside the scope of this guide.

Starting the installation

This assumes you have already started DOSBox-X with the win95.conf config file and created your harddisk image.

First mount the harddisk image you created earlier:

IMGMOUNT C hdd.img
Note
If you get an error saying that "This operation requires DOS version 7.10 or higher", than your trying to mount a FAT32 volume, and have not set your reported DOS version in your DOSBox-X config to 7.1. FAT32 volumes are only supported if your installing Windows 95 OSR2 or later.

You will also need to mount the Windows 95 CD-ROM. There are a few ways of doing so, but this guide assumes you have a ISO image.

If you have a copy of the Windows 95 CD-ROM as an ISO (or a cue/bin pair), you can mount it as follows:

IMGMOUNT D Win95.iso

Copying the contents of the CD-ROM

While not strictly necessary, as it is possible to run SETUP.EXE directly from the CD-ROM (as long as you have the CD-ROM automatically mounted in your [autoexec] section of the config file), it is recommended to copy the installation files (contents of the WIN95 directory on the CD-ROM) to your HDD image, as it will prevent Windows 95 from asking for the CD-ROM when it needs additional files later.

XCOPY D:\WIN95 C:\WIN95 /I /E

The files in the above example are copied to the C:\WIN95 directory. You may want to use "C:\WINDOWS\OPTIONS\CABS" instead, as that is the directory that OEM installs normally use. But if you do, be aware that the installer will attempt to install into C:\WINDOWS.000 as C:\WINDOWS already exists. You will want to change this back to "C:\WINDOWS".

Running SETUP.EXE

We can now run SETUP.EXE.

C:
CD \WIN95
SETUP

Now run through the install process, until it reboots and your back at the DOSBox-X Z:\ prompt. At this point close DOSBox-X, and edit your win95.conf config file. At the end of the file, in the [autoexec] section, add the following two lines:

IMGMOUNT C hdd.img
BOOT C:

Save the config file, and at the command-prompt you can type the following to continue the installation process. This is also the command you use, after the installation is finished, to start Windows 95 in DOSBox-X.

dosbox-x -conf win95.conf

Booting Windows 95 after installation

After the installation is finished, you can start Windows 95 from the command-prompt with the following command:

dosbox-x -conf win95.conf

Steps to take after Installation

Once Windows 95 is installed, here is some additional software you may want to install or update:

  • Install Microsoft .NET framework version 1.0 and 1.1 (includes Visual C++ 2003 runtime)

  • Install Unofficial Windows 95 OSR2 Service Pack 1.05

  • Install/Update to Internet Explorer 5.5SP2 (rarely needed)

  • Install WinG 1.0 (needed by just a few games, and those games typically include it)

  • Install/Update to DirectX 8.0a (this will also update your video and audio drivers)

  • Install/Update to Windows Media Player 6.4

  • Install/Update to Adobe Flash Player 7.0.73

  • Install Apple Quicktime 5.0.5

  • Install the 3dfx Voodoo 3.01.00 reference drivers

Enabling networking

If you enabled NE2000 support in the DOSBox-X config file, you will probably want to enable TCP/IP. Go to "Start", "Settings" and "Control Panel" and double-click on "Network". On the Configuration tab, you should see a "NE2000 Compatible" network adapter listed.

If this is not the case, close the Network settings, and in "Control Panel", double-click "Add New Hardware", and let the wizard detect hardware. It should find the NE2000 adapter and install the drivers. Once it is finished, open the "Network" settings again.

In the Network settings, you can optionally remove the "IPX/SPX-compatible Protocol" that was automatically installed, as your unlikely to need it nowadays. Now click the Add button, and select "Protocol" and click "Add…​". In the "Select Network Protocol" window, select "Microsoft" as the Manufacturer and "TCP/IP" as the protocol, and click OK.

By default it will try to get it’s network configuration over DHCP, if you need to manually specify the settings, highlight "TCP/IP", and click the "Properties" button.

Once your finished, Click OK to close the Network settings window, and the TCP/IP driver will be installed, and Windows will prompt you to restart your computer. Confirm, and Windows 95 will reboot. After the reboot you should have working TCP/IP networking.

If networking does not work, see Guide: Setting up networking in DOSBox-X

Emulated video adapter and video mode

The default video adapter that DOSBox-X emulates is the S3 Trio64, which is the best emulated video adapter that DOSBox-X offers, with the widest range of resolutions and colour depths.

If you installed Windows 95 RTM (original release), or Windows 95 OSR1 (aka Win95A), there is a newer S3 video driver with additional supported resolutions. This video driver is v2.02.04 and dated April 18 1996. It can typically be found online as w9520204.zip. If you installed Windows 95 OSR2 or later, you already have the latest video driver installed.

A few enhancements have been made to the emulated S3 Trio64, compared to a real S3 Trio64:

  • No real S3 Trio64 was ever produced with more then 4MB video memory, under DOSBox-X you can optionally configure 8MB.

  • The real cards never supported wide-screen resolutions, wide-screen VESA modes can optionally be enabled in DOSBox-X.

However, these enhancements cannot be used in Windows 95 with the S3 video driver due to driver limitations. As such you will be limited to 640x480 in 32bit colour, 1024x768 in 16bit colour or 1280x1024 in 8bit (256) colour.

These restrictions can be overcome by switching to the Universal VESA/VBE Video Display Driver (VBEMP). First add the following lines to your DOSBox-X config file in the [dosbox] section:

allow high definition vesa modes=true
allow unusual vesa modes=true
allow low resolution vesa modes=false

Download and extract the latest VBEMP driver package and install the driver from the 032MB directory.

With these settings modes up to 1920x1080 in 32bit colour, or 1920x1440 in 16bit colour are possible.

Note
Using the VBEMP driver does have a negative graphics performance impact, which when measured in WinBench96 Graphics WinMark, can be a reduction of up to 59%.

Emulated sound card

The emulated sound card used in this guide is the SB16 Vibra, instead of the default SB16. This is simply because the SB16 Vibra is a ISA PnP card, and therefore automatically detected by Windows. There is no other real advantage of using the emulated SB16 Vibra over the SB16.

One often heard complaint of the real SB16 Vibra is the CQM synthesis, which was used as a low-cost replacement of the OPL3 chip found on earlier cards. However DOSBox-X does not really emulate the CQM, instead if uses the same OPL3 emulation as for the regular SB16 model. Therefore the CQM sound quality issues with the SB16 Vibra do not apply to DOSBox-X.

However, for Windows 95 it is necessary to force the IRQ to 5 to prevent Window from complaining about a (non-existent) resource conflict.

An optional driver update to 4.38.14 is available on the VOGONS Vintage Driver Library (ignore that the download claims it is for Windows 98, the update is for both Windows 95 and 98).

Enabling General MIDI

If you have a working DOSBox-X General MIDI setup, either emulated or real, you can use that in Windows 95. Open the "Control Panel", and then double-click on "Multimedia Properties".

Now on the "MIDI" tab, change the "Single instrument" option to "MPU-401 Compatible", and click OK to close the window.

For more information about setting up MIDI support, see Guide: Setting up MIDI in DOSBox-X

Enabling printing

To enable printing support in Windows 95, see Guide: Setting up printing in DOSBox-X

3dfx Voodoo

The emulated 3dfx Voodoo PCI device is enabled by default in DOSBox-X, but Windows 95 lacks drivers for it by default. As such a "PCI Multimedia Video Device" will show in Device Manager with a yellow exclamation mark.

A driver package is available here (v3.01.00) to enable support.

If for some reason you do not want 3dfx Voodoo emulation, it can be disabled by adding the following lines to your DOSBox-X config:

[voodoo]
voodoo_card=false
Note
Do not enable glide pass-through (glide=true) support with Windows 95. Glide pass-through only works with DOS Glide games that utilize GLIDE2X.OVL.

Hard Disk Read-ahead optimization

In "System Properties", select the "Performance" tab, and click the "File System…​" button. A separate "File System Properties" window will open. On the "Hard Disk" tab you can specify the Read-ahead optimization.

Based on benchmark results (WinBench 96), it seems that setting this to "None" gives the best performance in combination with DOSBox-X, although the difference is marginal. This is no doubt because the host system is better at caching then the Windows 98 cache function.

Outstanding issues

  • Resolve "Drive A is using MS-DOS compatibility mode file system"