Windows 98 for dosbox

Windows 98 splash screen

Table of Contents

  • Installing Microsoft Windows 98 in DOSBox-X
  • Overview
    • Windows editions this guide applies to
    • External links
  • DOSBox-X config file
  • Dynamic vs Normal core
  • Turbo mode
  • Creating a Harddisk image
  • Installation Method 1: Boot from CD-ROM image
    • Requirements
    • Starting the installation
    • Transfer Windows 98 install files to your HDD image
  • Installation Method 2
    • Requirements
    • Starting the installation
    • Copying the contents of the CD-ROM
    • Running SETUP.EXE
  • Booting Windows 98 after installation
  • Steps to take after installation
  • Mounting CD or Diskette images
  • Enabling networking
    • Enabling NE2000 in your DOSBox-X config file
    • Setting up NE2000 networking in Windows 98
  • Emulated video adapter and video mode
    • VESA driver
  • Emulated sound card
  • Enabling General MIDI
  • Enabling printing
    • Print to PostScript
    • Epson emulation
  • 3dfx Voodoo
    • Glide pass-through
  • Hard Disk Read-ahead optimization
  • Host Folder mounts
  • Known limitations
  • Outstanding issues

Overview

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

Windows editions this guide applies to

  • Windows 98 (RTM; Original release) — Retail Full

  • Windows 98 (RTM; Original release) — OEM Full

  • Windows 98 Second Edition (98SE) — Retail Full

  • Windows 98 Second Edition (98SE) — OEM Full

Note

Windows 98 or 98SE Upgrade editions have additional requirements and are not covered by this guide.

If you don’t know which Windows 98 edition to install, we recommend that you install Windows 98SE.

DOSBox-X config file

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

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=128


vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.1
hard drive data rate limit=0
floppy drive data rate limit=0

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

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

[render]
scaler=none

[autoexec]

Copy the above config and save it as win98.conf

Note

You can increase the allocated RAM up to the Windows 98 maximum of 512MB by setting memsize=512.
Larger values may be possible with tweaks but are not covered here.

Dynamic vs Normal core

The dynamic_x86 core, which should perform much better, has been sufficiently enhanced that it can now be used for most use-cases with Windows 98.

However, for now we still recommend that you do the installation of Windows 98 using core=normal until issue #2215 is resolved.

But after the installation is finished you should be able to change to core=dynamic_x86.

Should you run into problems such as application crashes or a Windows 98 blue-screen that cannot be reproduced with core=normal, please report the problem on the DOSBox-X Git issues page.

Turbo mode

Some parts of the installation, but also starting Windows 98 can take a considerable amount of time.

You may be able to speed this up considerably (depending on the host CPU) by using the DOSBox-X Turbo mode, which can be enabled from the drop-down menu bar by selecting «CPU» followed by «Turbo (Fast Forward)».
This turbo mode is not like the old Turbo button on retro PCs, but functions more like a fast-forward, and therefore should not be used when interacting with the guest OS.

By default, the moment you press a key on the keyboard, turbo mode will disengage.

Warning

Using the mouse not disengage turbo mode, and double-clicks will be almost impossible to achieve as long as turbo mode is active.

You may also want to enable turbo mode by default to allow Windows 98 to startup quicker by merging the following settings into your DOSBox-X config file.

Note

This will cause some audio distortion on Windows 98 startup, if you have the Windows startup sound enabled.

Creating a Harddisk image

Note

In addition to the below DOSBox-X command line utility, it is possible to create harddisk images from the DOSBox-X menu.
Go to the «DOS» menu and select «Create blank disk image…​».
This option allows for various common harddisk types to be created, for less common types you need to use the command line utility.

Note

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.
  • Diskette (floppy) images are always created as FAT12.

  • If your reported DOS version is 7.1 or higher, then harddisk images up to 512MB will use FAT16 by default.

  • Larger size harddisk images will use FAT32 by default (larger than 2GB can only be 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 harddisk size).

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

dosbox-x -conf win98.conf

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

This example uses an 8GB hard disk image with a single FAT32 formatted partition.
Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 98 cannot handle volumes greater than 128GB.
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 later exFAT.

Note

Creating a 128GB volume will cause a «SU0650 Out of Memory» warning during install, you can however continue the installation.
IMGMAKE hdd.img -t hd_8gig

Or if you want to create a larger disk, you can create a custom type.
This is an example of a 16GB (16*1024=16384 MB) disk, which due to its size, will be formatted as FAT32.

IMGMAKE hdd.img -t hd -size 16384

Installation Method 1: Boot from CD-ROM image

Starting with Windows 98, it is possible to boot directly from the CD-ROM, as long as you have the «OEM Full» edition, in which case no separate bootdisk is needed.

This installation method allows both FAT16 (up to 2GB) and FAT32 volumes, which can be up to 128GB for Windows 98.

Requirements

This method only works with the Windows 98 OEM Full edition CD-ROM image (named «Win98.iso» in the example below).

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

Starting the installation

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

First mount the harddisk image you created earlier:

Now let’s boot from the CD-ROM and start the installation.

IMGMOUNT D Win98.iso
IMGMOUNT A -bootcd D
BOOT A:

Note

If the second IMGMOUNT command gives an error «El Torito CD-ROM boot record not found«, your CD-ROM image is not bootable, and you will have to use either a different installation method or a different Windows 98 CD-ROM image.

You will first get a Startup menu, where you need to select «Boot from CD-ROM».

At this point it should format the harddisk and the installation process should start.

When the Windows installer reboots, and your back at the DOSBox-X Z:\> prompt.
Close DOSBox-X and edit your win98.conf config file, and add the following lines in the [autoexec] section at the end of the file:

IMGMOUNT C hdd.img
IMGMOUNT D Win98.iso
BOOT C:

Now start DOSBox-X as follows to continue the installation process:

dosbox-x -conf win98.conf

Transfer Windows 98 install files to your HDD image

This is an optional step. It is to prevent Windows from asking for the CD-ROM whenever it needs additional files.

Boot Windows 98 with the CD-ROM image mounted. In Windows 98, copy the \WIN98 directory and its contents from the CD-ROM to your C: drive.
You can copy it to any directory you want, but we assume here that you copied it to C:\WIN98

Once the files are copied, start REGEDIT and navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup and change SourcePath= to the location where you copied the files. e.g., SourcePath=C:\WIN98

In the case of Windows 98SE, copying the entire directory will require roughly 174MB of diskspace.
The \WIN98\OLS and \WIN98\TOUR sub-directories can however be skipped which will save roughly 54MB, bringing the total to roughly 120MB.

Installation Method 2

This method will start the installation from DOSBox-X and does not require a bootable CD-ROM image.

Requirements

A Windows 98 CD-ROM image (named «Win98.iso» in the example below).

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

Starting the installation

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

First mount the harddisk image you created earlier:

You will also need to mount the Windows 98 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 98 CD-ROM as an ISO (or a cue/bin pair), you can mount it as follows:

Copying the contents of the CD-ROM

While not strictly necessary, as it is possible to run SETUP.EXE directly from the CD-ROM (if 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 WIN98 directory on the CD-ROM) to your HDD image, as it will prevent Windows 98 from asking for the CD-ROM when it needs additional files later.

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

The files in the above example are copied to the C:\WIN98 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.

Windows 98 SETUP.EXE Select Directory

If you get the above screen during SETUP, select «Other directory» to change it back to C:\WINDOWS

Running SETUP.EXE

You can now run SETUP.EXE.

Windows 98 SETUP.EXE Welcome

Now run through the installation process.
The actual steps will not be covered in this guide but are pretty self-explanatory and detailed guides on the Windows 98 install process can be found online such as YouTube.

When the installer reboots DOSBox-X, and you’re back at the DOSBox-X Z:\ prompt, type EXIT.

Now edit your win98.conf config file.
At the end of the file, in the [autoexec] section, add the following lines:

IMGMOUNT 0 empty -fs none -t floppy
IMGMOUNT 1 empty -fs none -t floppy -size 512,15,2,80
IMGMOUNT C hdd.img -ide 1m
IMGMOUNT D empty -t iso -ide 2m
BOOT C:

Note

The current DOSBox-X release seems to have a bug where Win98 will only see the first floppy drive.

Save the config file, and at the command-prompt of your host PC you can type the below command to continue with the next phase of the installation process.
This is also the command you use, after the installation is finished, to start Windows 98 in DOSBox-X.

dosbox-x -conf win98.conf

Booting Windows 98 after installation

After the installation is finished, you can start Windows 98 from the command-prompt of your host PC, with the following command:

dosbox-x -conf win98.conf

You can optionally create a shortcut on your desktop to start Windows 98 directly.

Steps to take after installation

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

  • Install Microsoft .NET framework version 1.0, 1.1 and 2.0

  • Install Microsoft Visual C++ 2005 runtime

  • Update to Microsoft Internet Explorer 6.0 (rarely needed)

  • Update to Microsoft DCOM 4.71.1015.0

  • Update to Microsoft DirectX 9.0c

  • Install Microsoft Windows Installer 2.0

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

  • Install Microsoft GDI+ re-distributable

  • Install Adobe Acrobat Reader 6.0

  • Install/Update to Adobe Flash Player 9.0.47.0

  • Install Adobe PostScript driver 4.2.6

  • Install Apple QuickTime 6.5.2

Mounting CD or Diskette images

DOSBox-X supports mounting CD and diskette (floppy) images, and making those available to an OS booted in DOSBox-X.

To do so, an empty diskette or CD drive needs to be attached before booting a guest OS such as Windows 98, or diskette or CD images need to be attached (which will automatically cause an appropriate drive type to be emulated).

  • Disks can be changed after booting a guest OS from the drop-down menus under «DOS» → «Change current floppy image…​»

  • CDs can be changed after booting a guest OS from the drop-down menus under «DOS» → «Change current CD image…​»

For example, to specifying multiple image files with the IMGMOUNT command:

IMGMOUNT A disk1.img disk2.img disk3.img
IMGMOUNT D cd1.iso cd2.iso cd3.iso

You can then swap between disk images with the «DOS» → «Swap floppy drive» or «Swap CD drive» option from the drop-down menus, or using the hot-key.

Enabling networking

To enable networking, you first need to enable NE2000 adapter emulation in your win98.conf config file and select an appropriate back-end for the NE2000 emulation.

Enabling NE2000 in your DOSBox-X config file

There are two different back-ends to the NE2000 adapter emulation.
The default is backend=auto, which implies backend=slirp if SLIRP support is available, otherwise backend=pcap is implied if PCAP support is available.

backend=pcap

The PCAP back-end uses something called «Promiscuous mode».
This has the advantage that DOSBox-X can support various legacy network protocols, such as IPX and NetBIOS Frames (aka NetBEUI) in addition to TCP/IP.
This mode not only allows communication between DOSBox-X instances on the same network, but also with legacy PCs on the same network.

However, for this to work DOSBox-X needs to have very low-level access to your real network adapter.
In some cases, this is not possible, such as:

  • Network Adapter or Driver not supporting Promiscuous mode (most wireless adapters fall into this category).

  • Your Ethernet switch not allowing multiple MAC addresses on a single port or doing any kind of MAC address whitelisting.

  • Sandboxed versions of DOSBox-X (e.g., Flatpak) not allowing the required low-level access.

To enable NE2000 emulation with the pcap back-end, add the following to your win98.conf config file:

[ne2000]
ne2000=true
nicirq=10
backend=pcap

[ethernet, pcap]
realnic=list

The list value for realnic= will need to be replaced by a value representing your actual network adapter.
See Guide: Setting up networking in DOSBox-X for more information.

backend=slirp

Unlike the PCAP back-end, the SLIRP back-end does not require Promiscuous mode.
As such it will work with wireless adapters, and it will work in most sandboxed environments.

But obviously, it has its own limitations.

  • It is not supported in all platforms, such as Windows Visual Studio builds.

  • It only supports the TCP/IP protocol (other protocols must be TCP/IP encapsulated).

  • It is effectively behind a NAT (Network Address Translation) gateway, meaning that you can communicate outbound, but no systems on the LAN can instantiate a new connection to it. Which means that two DOSBox-X instances on the same LAN using backend=slirp cannot communicate with each other.

To enable NE2000 emulation with the slirp back-end, add the following to your win98.conf config file:

[ne2000]
ne2000=true
nicirq=10
backend=slirp

Setting up NE2000 networking in Windows 98

If you enabled NE2000 support in the DOSBox-X config file, Windows 98 should detect it during installation, and you should get a screen like the following.

Windows 98 SETUP.EXE NE2000 Properties

Change the Interrupt (IRQ) to 10 to match the nicirq= value set in your win98.conf file.

If Windows 98 did not detect the adapter during installation, or you enabled NE2000 emulation after you did the installation.
Go to «Start», «Settings» and «Control Panel» and double-click on «Add New Hardware», and let the wizard detect hardware.
It should find the emulated Novell NE2000 adapter and install the drivers.

Note

By default, TCP/IP will try to get its network configuration over DHCP, if you need to manually specify the settings you can do so, in «Control Panel», double-click «Network».
Once it opens, highlight «TCP/IP», and click the «Properties» button to modify the TCP/IP settings.

Note

In the Network settings, there will also be a «Dial-Up Adapter» listed, which you can safely remove.

Note

If you don’t want the Windows logon dialog on startup, and don’t care for file and printer sharing, you can remove the «Client for Microsoft Networks» component from the Network configuration settings (although, it will complain that «Your network is not complete», which you can ignore).

Note

If you want to share files between Windows 98 and Windows 10 on the network, have a look at this blog: SMB File Sharing between Win10 and Win98, but apparently this fails with the latest Win10 builds 2004 and 20H2.

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.
In addition, this video adapter is supported out-of-the-box in Windows 98, simplifying the installation process.

The available video modes with the S3 Trio64 driver are:

  • 4-bit colour (16): 640×480

  • 8-bit colour (256): 640×480, 800×600, 1024×768, 1152×864, 1280×1024 and 1600×1200

  • 16-bit colour (65536): 640×480, 800×600 and 1024×768

  • 32-bit colour (16.7M): 640×480 and 800×600

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 than 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 98 with the S3 video driver due to driver limitations.
There is no updated S3 Trio64 video driver available for Windows 98 (not even via installing DirectX 9c).
As such you will be limited to the above video modes with this driver.

VESA driver

First add the following lines to your DOSBox-X config file in the 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 1920×1080 in 32bit colour, or 1920×1440 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 an ISA PnP card, and therefore automatically detected by Windows.
There is no other real advantage of using the emulated SB16 Vibra over the SB16.

Both Windows 98 and 98SE include SB16 driver version 4.37.00.1998.
An optional driver update to 4.38.14 is available on the VOGONS Vintage Driver Library.

Note

One often heard complaint of the real SB16 Vibra is its 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 it uses the same OPL3 emulation as for the regular SB16 model.
Therefore, the CQM sound quality issues with the real SB16 Vibra do not apply to DOSBox-X.

Enabling General MIDI

If you have a working DOSBox-X General MIDI setup, either emulated or real, you can use that in Windows 98.

Go to «Start», «Settings» and open «Control Panel», and then double-click on «Multimedia Properties».

Now on the «MIDI» tab, change the «Single instrument» option to «SB16 MIDI Out [330]», and click OK to close the window.

Windows 98 MIDI setup

Enabling printing

Print to PostScript

For the best print quality, you will want to print to a PostScript printer in Windows 98.

First, set up your DOSBox-X config to print to a file as such:

[dosbox]
captures=capture

[parallel]
parallel1=file timeout=2000

You can either use the PostScript driver bundled with Windows 98, or alternatively install the newer Adobe PostScript 4.2.6 driver.

If using the bundled driver, select any PostScript printer such as the «QMS ColorScript 100 Model 30», during printer setup connected to LPT1.

Once the printer is installed, open the printers properties, and on the «Details» tab click on the «Spool Settings…​» button.
In the «Spool Settings», you must select «Print directly to the printer» and click OK.

Windows 95 - QMS ColorScript Spool Settings

Warning

Failing to change the spool setting, when printing to a file, will result in corrupted PostScript files!

Note

If two files end up being generated instead of just one for a printjob, you will want to revert the above spool setting.
And perhaps try changing the spool setting to «Start printing after last page is spooled».

When you print, a .prt file in your captures= directory will be created, which despite the extension, is actually a PostScript file.

On Linux and macOS, PostScript files are natively supported and can be viewed and printed.
On a Windows host, it is necessary to install a separate PostScript viewer such as GSview.

Epson emulation

As an alternative, you can use the integrated Epson printer emulation, but the output quality will be significantly less compared to PostScript.

First, set up your DOSBox-X config to emulate an Epson printer as such:

[parallel]
parallel1=printer

[printer]
printer=true
printoutput=ps
multipage=true
timeout=2000

Next in Windows 98, select any Epson dot-matrix printer, such as the «Epson LQ-860+» option during printer setup connected to LPT1

Warning

Make sure that you do not configure the Epson printer driver for a graphics resolution other than 180×180, or the output will be corrupted.

Windows 95 - Epson Graphics Properties

When you print, a PostScript file with the .ps extension will be created in your current working directory.
The emulated Epson printer settings can be adjusted as documented on the above linked wiki printing guide.

3dfx Voodoo

The emulated 3dfx Voodoo PCI device is enabled by default in DOSBox-X, and both Windows 98 and 98SE include a driver and will automatically detect it.

Windows 98SE includes a driver dated 4-23-1999. There is a 3.01.00 update available.
After the update it will show a date of 4-29-1999.

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

Glide pass-through

Glide pass-through is an optional DOSBox-X feature, and not required to use a 3dfx Voodoo game with Windows 98.
It can provide better performance, but can also be rather tricky to get working properly. As such it is not recommended for most users.

If you decide to try this method, first ensure the game works without glide pass-through using the standard 3dfx Voodoo emulation.

There are a few points you need to be aware of.

  • The DOSBox-X and glide-wrapper installed on the host need to be the same architecture.
    So, if you’re using a 64bit DOSBox-X, you need to use a matching 64-bit glide-wrapper.

  • The Linux SDL2 DOSBox-X does not work with OpenGlide, this is a limitation of OpenGlide (see OpenGlide issue #20).
    The work-around is to use the SDL1 DOSBox-X instead.

You need to set the following DOSBox-X config option:

You will also need a specially patched GLIDE2X.DLL file which you can place in either the C:\Windows\System directory of Windows 98, or in the game directory.
But be aware that some games come with their own GLIDE2X.DLL, which typically gets installed in the game directory.
If so, you will have to remove this DLL file for glide pass-through to work.

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.

Host Folder mounts

Starting with DOSBox-X 2022.08.0, there is optional support to dynamically convert a host folder mount to an emulated FAT harddisk for use when you need to boot a guest OS, such as Windows 98.
This can be accomplished in one of two ways. Either when you issue the boot command, you add the option -convertfat. e.g. boot c: -convertfat.

Or by setting the following option in your DOSBox-X config file:

[sdl]
convertdrivefat = true

When you now boot from a real image file, it will attempt to convert ALL folder mounts at the time of booting to emulated FAT Harddisks.

Note

You cannot boot from such an emulated FAT harddisk. You will still need some other bootable image file to actually boot a guest OS.

Note

This conversion is dynamic, effectively creating an emulated FAT harddisk out of a folder mount.
This converted FAT harddisk is not automatically stored permanently.
You can however, store it as a permanent image file that you can later mount with IMGMOUNT, using the «Drive» > «drive letter» > «Save to disk image» option from the menus.
Please see the «Creating harddisk images from folder mounts» section in the Guide: Managing image files in DOSBox-X for more information.

Note

There is currently no support for creating emulated CD-ROM or Floppy drives out of folder mounts with this method. Any CD-ROM or Floppy folder mounts will also be converted to harddisk folder mounts, and may not actually work for the intended purpose.

One thing to note, is that there is no way to specify the FAT type to use for the conversion.
The FAT type will be automatically selected based on the aggregate size of files in the folder, plus 250MiB (this can be adjusted with the convert fat free space option in the DOSBox-X config file).
If the total space of files + 250MiB does not exceed 2GiB, it will convert it into a FAT16 disk. Otherwise, it will become a FAT32, which in turn will require a guest OS with FAT32 support.

Alternatively, you can also make the emulated FAT drive read-only by using the -convertfatro option with the boot command. Or by setting convert fat free space=0 option in the DOSBox-X config file.

Known limitations

  • If you intend at any point to use a Floppy or CD during your usage of Windows 98, you must attach either a floppy and/or CD image before starting Windows 98, or an empty floppy or CD-ROM drive.
    If a floppy or CD drive is not present when starting Windows 98 the drive is simply missing, and you cannot add it without rebooting the guest OS.

  • When mounting a CD-ROM image using imgmount, before booting Windows 98, you may have to specify the IDE device to attach it to for it to work properly in Windows 98. e.g. imgmount d game_cd.iso -ide 2m to make the CD-ROM drive appear as the master device on the secondary IDE controller.

Outstanding issues

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

NOTE: THIS IS NOT A VIABLE SUBSTITUTE FOR VIRTUAL MACHINES.

Lovely Time Traveling

To transfer files to Win98 you’ll need WinImage (DL Page) Installed or Portable, DosBox-x has to be closed for it to work.

Open WinImage;
Inside WinBox 98 SE folder drag Windows98.img into the WinImage window;
Pick a directory where you want to drop the files and then drag them into the WinImage window.

Addeddate
2021-08-17 00:59:24
Identifier
windows-98-in-dosbox-x
Scanner
Internet Archive HTML5 Uploader 1.6.4

comment

Reviews
(7)

There are 7 reviews for this item. .

Installing Microsoft Windows 98 in DOSBox-X

Windows 98 splash screen

Table of Contents

  • Installing Microsoft Windows 98 in DOSBox-X
  • Overview

    • Windows editions this guide applies to
    • External links
  • DOSBox-X config file
  • Dynamic vs Normal core
  • Turbo mode
  • Creating a Harddisk image
  • Installation Method 1: Boot from CD-ROM image

    • Requirements
    • Starting the installation
    • Transfer Windows 98 install files to your HDD image
  • Installation Method 2

    • Requirements
    • Starting the installation
    • Copying the contents of the CD-ROM
    • Running SETUP.EXE
  • Booting Windows 98 after installation
  • Steps to take after installation
  • Mounting CD or Diskette images
  • Enabling networking

    • Enabling NE2000 in your DOSBox-X config file
    • Setting up NE2000 networking in Windows 98
  • Emulated video adapter and video mode

    • VESA driver
  • Emulated sound card
  • Enabling General MIDI
  • Enabling printing

    • Print to PostScript
    • Epson emulation
  • 3dfx Voodoo

    • Glide pass-through
  • Hard Disk Read-ahead optimization
  • Host Folder mounts
  • Known limitations
  • Outstanding issues

Overview

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

Windows editions this guide applies to

  • Windows 98 (RTM; Original release) — Retail Full

  • Windows 98 (RTM; Original release) — OEM Full

  • Windows 98 Second Edition (98SE) — Retail Full

  • Windows 98 Second Edition (98SE) — OEM Full

Note

Windows 98 or 98SE Upgrade editions have additional requirements and are not covered by this guide.

If you don’t know which Windows 98 edition to install, we recommend that you install Windows 98SE.

DOSBox-X config file

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

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=128


vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.1
hard drive data rate limit=0
floppy drive data rate limit=0

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

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

[render]
scaler=none

[autoexec]

Copy the above config and save it as win98.conf

Note

You can increase the allocated RAM up to the Windows 98 maximum of 512MB by setting memsize=512.
Larger values may be possible with tweaks but are not covered here.

Dynamic vs Normal core

The dynamic_x86 core, which should perform much better, has been sufficiently enhanced that it can now be used for most use-cases with Windows 98.

However, for now we still recommend that you do the installation of Windows 98 using core=normal until issue #2215 is resolved.

But after the installation is finished you should be able to change to core=dynamic_x86.

Should you run into problems such as application crashes or a Windows 98 blue-screen that cannot be reproduced with core=normal, please report the problem on the DOSBox-X Git issues page.

Turbo mode

Some parts of the installation, but also starting Windows 98 can take a considerable amount of time.

You may be able to speed this up considerably (depending on the host CPU) by using the DOSBox-X Turbo mode, which can be enabled from the drop-down menu bar by selecting «CPU» followed by «Turbo (Fast Forward)».
This turbo mode is not like the old Turbo button on retro PCs, but functions more like a fast-forward, and therefore should not be used when interacting with the guest OS.

By default, the moment you press a key on the keyboard, turbo mode will disengage.

Warning

Using the mouse not disengage turbo mode, and double-clicks will be almost impossible to achieve as long as turbo mode is active.

You may also want to enable turbo mode by default to allow Windows 98 to startup quicker by merging the following settings into your DOSBox-X config file.

Note

This will cause some audio distortion on Windows 98 startup, if you have the Windows startup sound enabled.

Creating a Harddisk image

Note

In addition to the below DOSBox-X command line utility, it is possible to create harddisk images from the DOSBox-X menu.
Go to the «DOS» menu and select «Create blank disk image…​».
This option allows for various common harddisk types to be created, for less common types you need to use the command line utility.

Note

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.
  • Diskette (floppy) images are always created as FAT12.

  • If your reported DOS version is 7.1 or higher, then harddisk images up to 512MB will use FAT16 by default.

  • Larger size harddisk images will use FAT32 by default (larger than 2GB can only be 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 harddisk size).

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

dosbox-x -conf win98.conf

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

This example uses an 8GB hard disk image with a single FAT32 formatted partition.
Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 98 cannot handle volumes greater than 128GB.
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 later exFAT.

Note

Creating a 128GB volume will cause a «SU0650 Out of Memory» warning during install, you can however continue the installation.
IMGMAKE hdd.img -t hd_8gig

Or if you want to create a larger disk, you can create a custom type.
This is an example of a 16GB (16*1024=16384 MB) disk, which due to its size, will be formatted as FAT32.

IMGMAKE hdd.img -t hd -size 16384

Installation Method 1: Boot from CD-ROM image

Starting with Windows 98, it is possible to boot directly from the CD-ROM, as long as you have the «OEM Full» edition, in which case no separate bootdisk is needed.

This installation method allows both FAT16 (up to 2GB) and FAT32 volumes, which can be up to 128GB for Windows 98.

Requirements

This method only works with the Windows 98 OEM Full edition CD-ROM image (named «Win98.iso» in the example below).

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

Starting the installation

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

First mount the harddisk image you created earlier:

Now let’s boot from the CD-ROM and start the installation.

IMGMOUNT D Win98.iso
IMGMOUNT A -bootcd D
BOOT A:

Note

If the second IMGMOUNT command gives an error «El Torito CD-ROM boot record not found«, your CD-ROM image is not bootable, and you will have to use either a different installation method or a different Windows 98 CD-ROM image.

You will first get a Startup menu, where you need to select «Boot from CD-ROM».

At this point it should format the harddisk and the installation process should start.

When the Windows installer reboots, and your back at the DOSBox-X Z:\> prompt.
Close DOSBox-X and edit your win98.conf config file, and add the following lines in the [autoexec] section at the end of the file:

IMGMOUNT C hdd.img
IMGMOUNT D Win98.iso
BOOT C:

Now start DOSBox-X as follows to continue the installation process:

dosbox-x -conf win98.conf

Transfer Windows 98 install files to your HDD image

This is an optional step. It is to prevent Windows from asking for the CD-ROM whenever it needs additional files.

Boot Windows 98 with the CD-ROM image mounted. In Windows 98, copy the \WIN98 directory and its contents from the CD-ROM to your C: drive.
You can copy it to any directory you want, but we assume here that you copied it to C:\WIN98

Once the files are copied, start REGEDIT and navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup and change SourcePath= to the location where you copied the files. e.g., SourcePath=C:\WIN98

In the case of Windows 98SE, copying the entire directory will require roughly 174MB of diskspace.
The \WIN98\OLS and \WIN98\TOUR sub-directories can however be skipped which will save roughly 54MB, bringing the total to roughly 120MB.

Installation Method 2

This method will start the installation from DOSBox-X and does not require a bootable CD-ROM image.

Requirements

A Windows 98 CD-ROM image (named «Win98.iso» in the example below).

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

Starting the installation

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

First mount the harddisk image you created earlier:

You will also need to mount the Windows 98 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 98 CD-ROM as an ISO (or a cue/bin pair), you can mount it as follows:

Copying the contents of the CD-ROM

While not strictly necessary, as it is possible to run SETUP.EXE directly from the CD-ROM (if 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 WIN98 directory on the CD-ROM) to your HDD image, as it will prevent Windows 98 from asking for the CD-ROM when it needs additional files later.

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

The files in the above example are copied to the C:\WIN98 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.

Windows 98 SETUP.EXE Select Directory

If you get the above screen during SETUP, select «Other directory» to change it back to C:\WINDOWS

Running SETUP.EXE

You can now run SETUP.EXE.

Windows 98 SETUP.EXE Welcome

Now run through the installation process.
The actual steps will not be covered in this guide but are pretty self-explanatory and detailed guides on the Windows 98 install process can be found online such as YouTube.

When the installer reboots DOSBox-X, and you’re back at the DOSBox-X Z:\ prompt, type EXIT.

Now edit your win98.conf config file.
At the end of the file, in the [autoexec] section, add the following lines:

IMGMOUNT 0 empty -fs none -t floppy
IMGMOUNT 1 empty -fs none -t floppy -size 512,15,2,80
IMGMOUNT C hdd.img -ide 1m
IMGMOUNT D empty -t iso -ide 2m
BOOT C:

Note

The current DOSBox-X release seems to have a bug where Win98 will only see the first floppy drive.

Save the config file, and at the command-prompt of your host PC you can type the below command to continue with the next phase of the installation process.
This is also the command you use, after the installation is finished, to start Windows 98 in DOSBox-X.

dosbox-x -conf win98.conf

Booting Windows 98 after installation

After the installation is finished, you can start Windows 98 from the command-prompt of your host PC, with the following command:

dosbox-x -conf win98.conf

You can optionally create a shortcut on your desktop to start Windows 98 directly.

Steps to take after installation

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

  • Install Microsoft .NET framework version 1.0, 1.1 and 2.0

  • Install Microsoft Visual C++ 2005 runtime

  • Update to Microsoft Internet Explorer 6.0 (rarely needed)

  • Update to Microsoft DCOM 4.71.1015.0

  • Update to Microsoft DirectX 9.0c

  • Install Microsoft Windows Installer 2.0

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

  • Install Microsoft GDI+ re-distributable

  • Install Adobe Acrobat Reader 6.0

  • Install/Update to Adobe Flash Player 9.0.47.0

  • Install Adobe PostScript driver 4.2.6

  • Install Apple QuickTime 6.5.2

Mounting CD or Diskette images

DOSBox-X supports mounting CD and diskette (floppy) images, and making those available to an OS booted in DOSBox-X.

To do so, an empty diskette or CD drive needs to be attached before booting a guest OS such as Windows 98, or diskette or CD images need to be attached (which will automatically cause an appropriate drive type to be emulated).

  • Disks can be changed after booting a guest OS from the drop-down menus under «DOS» → «Change current floppy image…​»

  • CDs can be changed after booting a guest OS from the drop-down menus under «DOS» → «Change current CD image…​»

For example, to specifying multiple image files with the IMGMOUNT command:

IMGMOUNT A disk1.img disk2.img disk3.img
IMGMOUNT D cd1.iso cd2.iso cd3.iso

You can then swap between disk images with the «DOS» → «Swap floppy drive» or «Swap CD drive» option from the drop-down menus, or using the hot-key.

Enabling networking

To enable networking, you first need to enable NE2000 adapter emulation in your win98.conf config file and select an appropriate back-end for the NE2000 emulation.

Enabling NE2000 in your DOSBox-X config file

There are two different back-ends to the NE2000 adapter emulation.
The default is backend=auto, which implies backend=slirp if SLIRP support is available, otherwise backend=pcap is implied if PCAP support is available.

backend=pcap

The PCAP back-end uses something called «Promiscuous mode».
This has the advantage that DOSBox-X can support various legacy network protocols, such as IPX and NetBIOS Frames (aka NetBEUI) in addition to TCP/IP.
This mode not only allows communication between DOSBox-X instances on the same network, but also with legacy PCs on the same network.

However, for this to work DOSBox-X needs to have very low-level access to your real network adapter.
In some cases, this is not possible, such as:

  • Network Adapter or Driver not supporting Promiscuous mode (most wireless adapters fall into this category).

  • Your Ethernet switch not allowing multiple MAC addresses on a single port or doing any kind of MAC address whitelisting.

  • Sandboxed versions of DOSBox-X (e.g., Flatpak) not allowing the required low-level access.

To enable NE2000 emulation with the pcap back-end, add the following to your win98.conf config file:

[ne2000]
ne2000=true
nicirq=10
backend=pcap

[ethernet, pcap]
realnic=list

The list value for realnic= will need to be replaced by a value representing your actual network adapter.
See Guide: Setting up networking in DOSBox-X for more information.

backend=slirp

Unlike the PCAP back-end, the SLIRP back-end does not require Promiscuous mode.
As such it will work with wireless adapters, and it will work in most sandboxed environments.

But obviously, it has its own limitations.

  • It is not supported in all platforms, such as Windows Visual Studio builds.

  • It only supports the TCP/IP protocol (other protocols must be TCP/IP encapsulated).

  • It is effectively behind a NAT (Network Address Translation) gateway, meaning that you can communicate outbound, but no systems on the LAN can instantiate a new connection to it. Which means that two DOSBox-X instances on the same LAN using backend=slirp cannot communicate with each other.

To enable NE2000 emulation with the slirp back-end, add the following to your win98.conf config file:

[ne2000]
ne2000=true
nicirq=10
backend=slirp

Setting up NE2000 networking in Windows 98

If you enabled NE2000 support in the DOSBox-X config file, Windows 98 should detect it during installation, and you should get a screen like the following.

Windows 98 SETUP.EXE NE2000 Properties

Change the Interrupt (IRQ) to 10 to match the nicirq= value set in your win98.conf file.

If Windows 98 did not detect the adapter during installation, or you enabled NE2000 emulation after you did the installation.
Go to «Start», «Settings» and «Control Panel» and double-click on «Add New Hardware», and let the wizard detect hardware.
It should find the emulated Novell NE2000 adapter and install the drivers.

Note

By default, TCP/IP will try to get its network configuration over DHCP, if you need to manually specify the settings you can do so, in «Control Panel», double-click «Network».
Once it opens, highlight «TCP/IP», and click the «Properties» button to modify the TCP/IP settings.

Note

In the Network settings, there will also be a «Dial-Up Adapter» listed, which you can safely remove.

Note

If you don’t want the Windows logon dialog on startup, and don’t care for file and printer sharing, you can remove the «Client for Microsoft Networks» component from the Network configuration settings (although, it will complain that «Your network is not complete», which you can ignore).

Note

If you want to share files between Windows 98 and Windows 10 on the network, have a look at this blog: SMB File Sharing between Win10 and Win98, but apparently this fails with the latest Win10 builds 2004 and 20H2.

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.
In addition, this video adapter is supported out-of-the-box in Windows 98, simplifying the installation process.

The available video modes with the S3 Trio64 driver are:

  • 4-bit colour (16): 640×480

  • 8-bit colour (256): 640×480, 800×600, 1024×768, 1152×864, 1280×1024 and 1600×1200

  • 16-bit colour (65536): 640×480, 800×600 and 1024×768

  • 32-bit colour (16.7M): 640×480 and 800×600

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 than 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 98 with the S3 video driver due to driver limitations.
There is no updated S3 Trio64 video driver available for Windows 98 (not even via installing DirectX 9c).
As such you will be limited to the above video modes with this driver.

VESA driver

First add the following lines to your DOSBox-X config file in the 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 1920×1080 in 32bit colour, or 1920×1440 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 an ISA PnP card, and therefore automatically detected by Windows.
There is no other real advantage of using the emulated SB16 Vibra over the SB16.

Both Windows 98 and 98SE include SB16 driver version 4.37.00.1998.
An optional driver update to 4.38.14 is available on the VOGONS Vintage Driver Library.

Note

One often heard complaint of the real SB16 Vibra is its 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 it uses the same OPL3 emulation as for the regular SB16 model.
Therefore, the CQM sound quality issues with the real SB16 Vibra do not apply to DOSBox-X.

Enabling General MIDI

If you have a working DOSBox-X General MIDI setup, either emulated or real, you can use that in Windows 98.

Go to «Start», «Settings» and open «Control Panel», and then double-click on «Multimedia Properties».

Now on the «MIDI» tab, change the «Single instrument» option to «SB16 MIDI Out [330]», and click OK to close the window.

Windows 98 MIDI setup

Enabling printing

Print to PostScript

For the best print quality, you will want to print to a PostScript printer in Windows 98.

First, set up your DOSBox-X config to print to a file as such:

[dosbox]
captures=capture

[parallel]
parallel1=file timeout=2000

You can either use the PostScript driver bundled with Windows 98, or alternatively install the newer Adobe PostScript 4.2.6 driver.

If using the bundled driver, select any PostScript printer such as the «QMS ColorScript 100 Model 30», during printer setup connected to LPT1.

Once the printer is installed, open the printers properties, and on the «Details» tab click on the «Spool Settings…​» button.
In the «Spool Settings», you must select «Print directly to the printer» and click OK.

Windows 95 - QMS ColorScript Spool Settings

Warning

Failing to change the spool setting, when printing to a file, will result in corrupted PostScript files!

Note

If two files end up being generated instead of just one for a printjob, you will want to revert the above spool setting.
And perhaps try changing the spool setting to «Start printing after last page is spooled».

When you print, a .prt file in your captures= directory will be created, which despite the extension, is actually a PostScript file.

On Linux and macOS, PostScript files are natively supported and can be viewed and printed.
On a Windows host, it is necessary to install a separate PostScript viewer such as GSview.

Epson emulation

As an alternative, you can use the integrated Epson printer emulation, but the output quality will be significantly less compared to PostScript.

First, set up your DOSBox-X config to emulate an Epson printer as such:

[parallel]
parallel1=printer

[printer]
printer=true
printoutput=ps
multipage=true
timeout=2000

Next in Windows 98, select any Epson dot-matrix printer, such as the «Epson LQ-860+» option during printer setup connected to LPT1

Warning

Make sure that you do not configure the Epson printer driver for a graphics resolution other than 180×180, or the output will be corrupted.

Windows 95 - Epson Graphics Properties

When you print, a PostScript file with the .ps extension will be created in your current working directory.
The emulated Epson printer settings can be adjusted as documented on the above linked wiki printing guide.

3dfx Voodoo

The emulated 3dfx Voodoo PCI device is enabled by default in DOSBox-X, and both Windows 98 and 98SE include a driver and will automatically detect it.

Windows 98SE includes a driver dated 4-23-1999. There is a 3.01.00 update available.
After the update it will show a date of 4-29-1999.

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

Glide pass-through

Glide pass-through is an optional DOSBox-X feature, and not required to use a 3dfx Voodoo game with Windows 98.
It can provide better performance, but can also be rather tricky to get working properly. As such it is not recommended for most users.

If you decide to try this method, first ensure the game works without glide pass-through using the standard 3dfx Voodoo emulation.

There are a few points you need to be aware of.

  • The DOSBox-X and glide-wrapper installed on the host need to be the same architecture.
    So, if you’re using a 64bit DOSBox-X, you need to use a matching 64-bit glide-wrapper.

  • The Linux SDL2 DOSBox-X does not work with OpenGlide, this is a limitation of OpenGlide (see OpenGlide issue #20).
    The work-around is to use the SDL1 DOSBox-X instead.

You need to set the following DOSBox-X config option:

You will also need a specially patched GLIDE2X.DLL file which you can place in either the C:\Windows\System directory of Windows 98, or in the game directory.
But be aware that some games come with their own GLIDE2X.DLL, which typically gets installed in the game directory.
If so, you will have to remove this DLL file for glide pass-through to work.

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.

Host Folder mounts

Starting with DOSBox-X 2022.08.0, there is optional support to dynamically convert a host folder mount to an emulated FAT harddisk for use when you need to boot a guest OS, such as Windows 98.
This can be accomplished in one of two ways. Either when you issue the boot command, you add the option -convertfat. e.g. boot c: -convertfat.

Or by setting the following option in your DOSBox-X config file:

[sdl]
convertdrivefat = true

When you now boot from a real image file, it will attempt to convert ALL folder mounts at the time of booting to emulated FAT Harddisks.

Note

You cannot boot from such an emulated FAT harddisk. You will still need some other bootable image file to actually boot a guest OS.

Note

This conversion is dynamic, effectively creating an emulated FAT harddisk out of a folder mount.
This converted FAT harddisk is not automatically stored permanently.
You can however, store it as a permanent image file that you can later mount with IMGMOUNT, using the «Drive» > «drive letter» > «Save to disk image» option from the menus.
Please see the «Creating harddisk images from folder mounts» section in the Guide: Managing image files in DOSBox-X for more information.

Note

There is currently no support for creating emulated CD-ROM or Floppy drives out of folder mounts with this method. Any CD-ROM or Floppy folder mounts will also be converted to harddisk folder mounts, and may not actually work for the intended purpose.

One thing to note, is that there is no way to specify the FAT type to use for the conversion.
The FAT type will be automatically selected based on the aggregate size of files in the folder, plus 250MiB (this can be adjusted with the convert fat free space option in the DOSBox-X config file).
If the total space of files + 250MiB does not exceed 2GiB, it will convert it into a FAT16 disk. Otherwise, it will become a FAT32, which in turn will require a guest OS with FAT32 support.

Alternatively, you can also make the emulated FAT drive read-only by using the -convertfatro option with the boot command. Or by setting convert fat free space=0 option in the DOSBox-X config file.

Known limitations

  • If you intend at any point to use a Floppy or CD during your usage of Windows 98, you must attach either a floppy and/or CD image before starting Windows 98, or an empty floppy or CD-ROM drive.
    If a floppy or CD drive is not present when starting Windows 98 the drive is simply missing, and you cannot add it without rebooting the guest OS.

  • When mounting a CD-ROM image using imgmount, before booting Windows 98, you may have to specify the IDE device to attach it to for it to work properly in Windows 98. e.g. imgmount d game_cd.iso -ide 2m to make the CD-ROM drive appear as the master device on the secondary IDE controller.

Outstanding issues

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


14 minutes to read

As a DOS emulator, DOSBox is theoretically capable of running DOS-based
versions of Windows, like Windows 3.1, 95, and 98. Certainly, the
compatibility list on DOSBox official website classifies
Windows 3.1 and 95 as supported; but for Windows 98, it is just rated
runnable – even lower than the intermediate
playable tier. Perhaps for this reason, most people would just resort to
other DOSBox forks that offer better support for Windows 98, like
DOSBox-X, when they want to run this version of Windows.

But, I did not give up getting Windows 98 to run in vanilla DOSBox and
discovered that only a little special care would be required to bring it to at
least the playable territory, if the ability to run games like Solitaire and
3D Pinball would justify a “playable” rating. So, I decided to write this
tutorial for people who wish to try it out.

Solitaire on Windows 98 in vanilla DOSBox

3D Pinball on Windows 98 in vanilla DOSBox

Prerequisites

To follow this tutorial’s instructions, these things are required:

  • DOSBox version 0.74-3 on Windows
    • The instructions to install Windows 98 in this tutorial have only been
      verified to work on DOSBox for Windows. If Windows 98 is installed in
      DOSBox on another platform, like GNU/Linux and macOS on Apple silicon, then
      Windows 98 might not be able to boot into the desktop after installation
      completes. It is still possible to run Windows 98 in DOSBox on GNU/Linux
      though, as long as the installation is performed in DOSBox on Windows. For
      more information, please consult the On Non-Windows
      Platforms
      section below.
  • An ISO image of the Windows 98 CD from a full version (rather than an upgrade
    version)

    • An ISO for an upgrade version might work but is out of this tutorial’s
      scope
    • Both the original release (“first edition”) and the Second Edition can be
      used
    • Both retail versions and OEM versions can be used
  • A disk image of an MS-DOS or Windows 9x boot disk
    • This tutorial uses the Windows 98 Second Edition Startup Disk as an
      example; an image for it is available on
      WinWorld

Modify DOSBox Configuration for Windows 98

The following configuration options should be present in the DOSBox
configuration file:

[cpu]
core=dynamic
cputype=pentium_slow
cycles=max

[dosbox]
machine=svga_s3
  • The core=dynamic and cputype=pentium_slow options play the most important
    role in allowing Windows 98 to run without major issues in vanilla DOSBox.
    If they are not set like this, then Windows 98 might not boot into the
    desktop after it is installed in DOSBox.

    • Note that as long as DOSBox’s dynamic core is available, setting core to
      auto (which is the default) is also fine.
  • Setting cycles to max is not required, but it greatly improves the
    performance of Windows 98 in DOSBox, particularly during the operating
    system’s boot process. max lets DOSBox’s emulated CPU run at the maximum
    speed at all times. The default auto setting starts emulation at a
    significantly lower speed of 3000 cycles/ms before it automatically switches
    to the maximum speed after Windows 98 boots, which is why Windows 98 takes
    longer time to start under this setting.

  • machine=svga_s3 (which is also the default) provides great graphics
    experience and performance with Windows 9x. Windows will be able to
    automatically install the graphics driver for it, which supports 32-bit true
    color at 800 × 600 screen resolution. Other options might work but are out
    of this tutorial’s scope.

Prepare a Hard Disk Image

A bootable hard disk image is mandatory for running Windows 98 in DOSBox.
Windows 98 needs to be booted via its own MS-DOS 7.1-based bootloader, which
must be installed to a hard disk’s MBR. The only way to provide an MBR’s
functionality in DOSBox is to use a bootable hard disk image.

This tutorial assumes that only one primary partition will be created on the
hard disk image. Creating and using additional partitions might be possible
but is out of this tutorial’s scope.

File System: FAT16 vs. FAT32

Unless auxiliary tools are used, the hard disk image’s primary partition must
be initially formatted with FAT16. It can be converted to FAT32 after
Windows 98 is installed though.

Before installing Windows 98, the Setup files under the Win98 folder on the
Windows 98 CD must be copied to the hard disk image. This is because there is
no known way to start Windows 98 Setup with CD-ROM support in vanilla DOSBox,
so the Setup files cannot be read from the ISO during the Setup process proper
and thus must be transferred to the hard disk image in advance.

DOSBox can be used to copy the files from the ISO to the hard disk image
only if the file system on the image is FAT16. As of version 0.74-3,
DOSBox has issues with writing files to a FAT32 file system.

If another tool will be used to copy the files to the hard disk image, and that
tool supports FAT32, then FAT32 can be used as the initial file system. Use of
these tools is out of this tutorial’s scope.

Size of the Image

The hard disk image’s size is recommended to be at least 0.5 GiB so it has
enough space for both the Windows 98 installation and the Setup files.

The image’s size must also be within 2 GiB. As of version 0.74-3, DOSBox has
issues with booting from hard disk images whose size exceeds 2 GiB. Such
images will appear to mount successfully, but the mounted virtual hard disk
will be gone once an operating system boots in DOSBox.

Obtaining an Image

Vanilla DOSBox does not provide the functionality to create a hard disk image,
meaning that users must either download an image created by others or use
another tool to create a custom image.

A pre-created hard disk image with a 2 GiB FAT16 partition was kindly
provided by user DosFreak on vogons.org,
which can be downloaded with this link. This
image has the following geometry:

  • Cylinders: 1023
  • Heads: 64
  • Sectors: 63

Users who want to create their own image can use tools like
DOSBox-X to do it. For instance, the following
command lets DOSBox-X create a 2 GiB FAT16 image at path D:\hdd.img on the
host system:

imgmake D:\hdd.img -t hd_2gig -fat 16

When using such a tool, be sure to note down the cylinder-head-sector (CHS)
geometry reported by the tool for the new image, as shown in the example below.
This information will be needed later.

DOSBox-X reporting CHS geometry for new image

Copy Windows 98 Setup Files

As discussed previously, Windows 98 Setup files must be
copied to the hard disk image. The following instructions only rely on vanilla
DOSBox for this task to avoid unnecessarily requiring use of additional tools
and thus assume that the file system on the image is FAT16. If another tool is
chosen to copy those files, then please ignore these instructions and take
whatever steps needed to copy the files using that tool instead.

Launch DOSBox, and run the following commands in the DOS prompt:

  1. Mount the hard disk image and the ISO image of the Windows 98 CD. Replace
    D:\hdd.img and D:\win98.iso with the actual paths to those image files
    respectively.

    imgmount C D:\hdd.img
    imgmount D D:\win98.iso -t iso
  2. Create a directory for Windows 98 Setup files on the hard disk image, and
    enter the directory. In the following example, the directory is named
    Win98.

  3. Start copying the Setup files from the Win98 folder on the ISO. Note that
    DOSBox will freeze for a moment when the files are being copied, which is OK
    – just wait for the operation to complete.

  4. Unmount both images.

    imgmount -u C
    imgmount -u D

Install Windows 98

When the hard disk image and Windows 98 Setup files are ready, the installation
process can start.

  1. Mount the hard disk image in DOSBox as a bootable disk. The mount command’s
    syntax is:

    imgmount 2 <image-path> -fs none -size <sector-size>,<sectors>,<heads>,<cylinders>

    The sector size is normally 512 bytes. The sectors, heads, and cylinders
    parameters are determined by the image’s CHS geometry. For example, if the
    pre-created image was downloaded and used, then the following DOSBox command
    should be used to mount it:

    imgmount 2 2GB.img -fs none -size 512,63,64,1023
  2. Boot from the MS-DOS or Windows 9x boot disk image. Replace
    D:\bootdisk.img with the actual path to the boot disk image file.

    This step is necessary because Windows 98 Setup relies on the environment
    that the boot disk provides. If Setup is started directly from DOSBox
    instead, the SU0013 error will occur.

    Error message from Setup when it is started directory from DOSBox

  3. If the boot disk presents an option to boot with CD-ROM support, do not
    select that option. Choose any option that boots without CD-ROM support
    instead.

    Boot from Windows 98 Startup Disk without CD-ROM support

    If an option with CD-ROM support is chosen, an error will occur, which will
    cause the system in DOSBox to halt.

    Error when booting with CD-ROM support

  4. Change to the directory in which Windows 98 Setup files reside.

  5. If the Second Edition of Windows 98 is being installed, and the Setup files
    were copied to the hard disk image using DOSBox, then it is recommended that
    ScanDisk is run manually before starting Setup to automatically fix file
    system problems caused by DOSBox during the file transfer:

    When ScanDisk prompts to create an Undo disk, choose “Skip Undo”. At this
    point, the hard disk image should only contain Windows 98 Setup files, so
    there should be no precious data to preserve, hence an Undo disk is
    unnecessary.

    Let ScanDisk skip Undo disk

    When ScanDisk finishes, it shows a summary of problems it detected and
    fixed:

    ScanDisk reporting fixed errors

    Although Windows 98 Setup can also run ScanDisk, in that scenario, ScanDisk
    will ask, for every problem it finds, whether the problem should be
    fixed, and there will not be a “Fix All” option. Therefore, running
    ScanDisk manually with the /autofix option prevents the need to select
    “Fix It” 63 times.

    ScanDisk prompting for action for every problem it finds

  6. Start Windows 98 Setup, and complete the first stage of Setup.

    Windows 98 Setup is started in DOSBox

    In general, the installation process in this stage on DOSBox is the same as
    on a physical computer or virtual machine. A few points are worth noting:

    1. If the file system on the hard disk image is FAT16, then in the “Windows
      Components” step of the Setup Wizard, it is recommended that the Drive
      Converter (FAT32)
      under System Tools is selected, so the file system
      can be converted to FAT32 using this component after Windows 98 is
      installed.

      1. When prompted, select “Show me the list of components so I can
        choose.”

        Opt to choose Windows 98 components

      2. Select “System Tools” on the left, then click the “Details” button on
        the right.

        Select “System Tools”

      3. Ensure the check box next to “Drive Converter (FAT32)” is selected,
        then click “OK”.

        Select “Drive Converter (FAT32)”

    2. At the “Startup Disk” step, skip creating a startup disk.

      Skip creating a startup disk

      A startup disk cannot be created at this point in DOSBox anyway.
      Doing so would result in a “disk initialization error”:

      A startup disk cannot be created

  7. After the first stage of Setup completes, Setup will request a reboot, and
    DOSBox will exit. Restart DOSBox, and mount the hard disk image as bootable
    again:

    imgmount 2 <image-path> -fs none -size <sector-size>,<sectors>,<heads>,<cylinders>

    Then, boot from the hard disk image to continue Setup:

    Windows 98 is booting for the first time

    The installation process in this stage is also straightforward, except that
    if the Second Edition is being installed, an “illegal operation” error will
    be reported for Rundll32 before this stage concludes. This error can be
    ignored.

    “Illegal operation” error for Rundll32 during Setup

    When Setup reboots the computer again, DOSBox will seem to freeze at the
    “Windows is shutting down” screen. This is normal: Windows 98 sent an
    APM event to trigger a reboot, but vanilla DOSBox does not
    support APM, hence it cannot handle the event. Wait for about 5 seconds,
    and manually close DOSBox to complete the reboot.

    DOSBox stuck at Windows 98’s shut-down screen

  8. Restart DOSBox, mount the hard disk image, and boot from it again:

    imgmount 2 <image-path> -fs none -size <sector-size>,<sectors>,<heads>,<cylinders>
    boot -l C

    On the Second Edition, the “illegal operation” error for Rundll32 will be
    reported again three times before Windows 98 loads the desktop, all of which
    can be ignored as well.

    “Illegal operation” error for Rundll32 after Setup

    The installation is complete when the “Welcome to Windows 98” window
    appears.

    The “Welcome to Windows 98” window

Boot Windows 98

After Windows 98 is installed, the DOSBox commands to boot the operating system
are the same as the ones used during the installation process:

imgmount 2 <image-path> -fs none -size <sector-size>,<sectors>,<heads>,<cylinders>
boot -l C

To avoid having to type these commands every time, they can be added to the
[autoexec] section of the DOSBox configuration file. The following example
not only lets the commands be executed automatically when DOSBox starts but
also extracts the imgmount arguments into variables for better explanation
and easier modification in the future.

[autoexec]

set BOOT_IMAGE=D:\hdd.img
set SECTOR_SIZE=512
set SECTORS=63
set HEADS=64
set CYLINDERS=1023

imgmount 2 "%BOOT_IMAGE%" -fs none -size %SECTOR_SIZE%,%SECTORS%,%HEADS%,%CYLINDERS%
boot -l C

Optional: Convert File System to FAT32

After Windows 98 is installed, the file system on the hard disk image can be
converted to FAT32 without affecting the ability to boot Windows 98 from it in
vanilla DOSBox. As the -fs none argument to imgmount suggests, DOSBox will
only create a virtual hard disk per se from the image without trying to read
and mount the file system on the image, so the file system on the image no
longer needs to be one supported by vanilla DOSBox.

Keeping the file system as FAT16 does not have any functional drawbacks, so the
conversion is optional. However, converting the file system to FAT32 usually
makes additional disk space available. On a file system with a new Windows 98
Second Edition installation and its Setup files, the file system conversion can
yield around 60 MB of free space.

Disk usage before FAT32 conversion

Disk usage after FAT32 conversion

To convert the file system, from the Start menu, open Programs >
Accessories > System Tools > Drive Converter (FAT32), then follow the
Drive Converter wizard’s prompts.

Launching the Drive Converter

On Non-Windows Platforms

In general, more issues are expected with Windows 98 in vanilla DOSBox when the
host platform where DOSBox runs is not Windows. Users who are on these
platforms are recommended to either install Windows 95 in vanilla DOSBox
instead or switch to a DOSBox fork that offers better support for Windows 98.
For those who still want to give Windows 98 in vanilla DOSBox a try, please pay
attention to information in this section.

On non-Windows platforms, like GNU/Linux and macOS, the following additional
settings are needed in the DOSBox configuration file in addition to the
ones listed above:

[serial]
serial1=disabled
serial2=disabled

By default, serial1 and serial2 are both set to dummy, which will cause a
black screen of death when Windows 98 boots in vanilla DOSBox on these
platforms.

First Install on Windows, then Run Elsewhere

Users who want to run vanilla Windows 98 in DOSBox on a non-Windows platform,
including but not limited to GNU/Linux, should install Windows 98 and
complete the first boot into the Windows 98 desktop in DOSBox on Windows.
Then, the hard disk image may be copied to the non-Windows environment to run
Windows 98 in DOSBox there.

If Windows 98 is installed in vanilla DOSBox on the non-Windows platform, then
the system might freeze upon the first boot into Windows 98 desktop after the
Setup process proper. After this first boot is complete, Windows 98 might no
longer freeze. Based on my testing, this first boot can only complete in
vanilla DOSBox on Windows.

Platform-specific Notes

Fedora

Fedora has replaced its official DOSBox package with DOSBox
Staging, but I was able to install and run the last official
build of the vanilla DOSBox package, which was for
Fedora 34, on Fedora 37. As long as the first boot into the Windows 98 desktop
is complete, the hard disk image can be used with this last official build of
vanilla DOSBox without obvious issues on Fedora 37.

Gentoo

Even after the first boot into the Windows 98 desktop is complete, with
games-emulation/dosbox-0.74.3, Windows 98 often
freezes after it has been up for a few minutes, so it is basically unusable.

For this reason, Gentoo users who want to run Windows 98 in a DOS emulator are
recommended to use a DOSBox fork instead. Personally, I have been using
DOSBox-X on Gentoo to run Windows 98 for a while, and stability has been
impressive. There is not an official DOSBox-X package for Gentoo yet, which is
why I have created and been maintaining ebuilds for DOSBox-X myself. These
ebuilds are now available as games-emulation/dosbox-x in
GURU; interested Gentoo users are welcome to try them out.

macOS on Apple silicon

As of macOS 13.1 and DOSBox 0.74-3-3, regardless of whether the first boot into
the Windows 98 desktop is complete, Windows 98 often gives “illegal operation”
errors for various processes including Explorer and sometimes even crashes with
blue screen of death, rendering it completely unusable.

Known Issues

Besides the known issues of Windows 98 in vanilla DOSBox on non-Windows
platforms mentioned above, this section documents additional known issues that
may happen even in DOSBox on Windows.

DOSBox Does Not Exit after Windows 98 Is Shut Down

DOSBox stays on a screen saying “it’s now safe to turn off your computer” after
Windows 98 is shut down from the Start menu:

Message displayed after Windows 98 is shut down in DOSBox

This is also because Windows 98 sent an APM event to power off the machine,
which vanilla DOSBox does not support, and this fallback message is shown
instead.

The DOSBox window needs to be closed manually. It is safe to do so as long as
this screen is displayed.

Broken Sound in Microsoft Return of Arcade Games

The sound in Microsoft Return of Arcade games might not play properly on
Windows 98 in vanilla DOSBox. The following resolutions are recommended:

  • Turn off the sound in those games.
  • Install and play these games on Windows 95 in vanilla DOSBox, where the
    games’ sound can play normally.
  • Install and play these games on Windows 98 in DOSBox-X, where the games’
    sound can play normally.

References

  • Windows 9x DOSBox Guide by DosFreak on
    vogons.org

This guide will be a step-be-step guide of how to setup Window 98 on a modern computer.

First download the application DOSBox-X (The download link is to the lower left, 32/64-bit Setup (XP+)):

https://dosbox-x.com/

I choose to install mine at C:\DOSBox-X (The reaming of the instrucstion will refere to this path), follow the settings as below:

After the installation has finished, place a Windows 98 ISO file as well as any other application or game ISO file in the directory: C:\DOSBox-X

Create a configuration file at C:\DOSBox-X\win98.conf (source DOSBox-X config file):

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=128


vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.1
hard drive data rate limit=0
floppy drive data rate limit=0
keyboardlayout=dk

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

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

[render]
scaler=none

[config]
COUNTRY=45

[autoexec]

Now create a shortcut on the desktop, right-click followed by selecting New -> Shortcut

Insert the following in the Text Box "C:\DOSBox-X\dosbox-x.exe -conf C:\DOSBox-X\win98.conf"

And set a reasonable name like "Windows 98"

Now double-click on the shortcut

Execute the following commands in DOSBox-X

  • IMGMAKE hdd.img -t hd_8gig
  • IMGMOUNT C hdd.img
  • IMGMOUNT D Win98.iso
  • IMGMOUNT A -bootcd D
  • BOOT A:

Select "Boot from CD-ROM"

Select "Start Windows 98 Setup from CD-ROM"

When the installation is done, close down DOSBox-X and change the configuration file C:\DOSBox-X\win98.conf to the following.

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=128


vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.1
hard drive data rate limit=0
floppy drive data rate limit=0
keyboardlayout=dk

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

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

[render]
scaler=none

[config]
COUNTRY=45

[autoexec]
IMGMOUNT C hdd.img
IMGMOUNT D "Windows 98 Second Edition.iso"
BOOT C:

Now start DOSBox-X again with the newly edited configuration file and finish the Windows installation.

When the installation finalize, do the following steps

  • Create a directory inside Windows 98 at "C:\WIN98"
  • Copy all content (except ols and tour) from "D:\WIN98" to the newly created directory "C:\WIN98" (pro tip: might need to right-click on the D:\ drive and select explorer to pass by the auto-run function)
  • Start "REGEDIT" from Run (Click on Start in the lower left corner and select the application Run)

Navigate to "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup" and change "SourcePath=" to the location where you copied the files "SourcePath=C:\WIN98"

Congratulations 👏

If you made it this far you have now sucessfully installed an old operating system on your computer.

Next Step

An game ISO is placed in the root directory C:\DOSBox-X\Gys Paa Regneslottet.iso (note, without the character å), to access this contain inside Windows 98 extended the C:\DOSBox-X\win98.conf to the following.

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=128


vmemsize=8
vesa modelist width limit=0
vesa modelist height limit=0

[dos]
ver=7.1
hard drive data rate limit=0
floppy drive data rate limit=0
keyboardlayout=dk

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

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

[render]
scaler=none

[config]
COUNTRY=45

[autoexec]
IMGMOUNT C hdd.img
IMGMOUNT D "Windows 98 Second Edition.iso"
IMGMOUNT E "Gys Paa Regneslottet.iso"
BOOT C:

Furthermore, fullscreen might be desirable, add the following to the [sdl] of C:\DOSBox-X\win98.conf like so

[sdl]
autolock=true
fullscreen=true

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Виртуальный рабочий стол windows 10 программа
  • Del c windows system32 drivers haspflt sys
  • Ati radeon hd 4770 драйвер windows 10
  • Hp laserjet 1320n driver for windows 7
  • Удалится ли майнер после переустановки windows