Back to the Microsoft Windows in DOSBox-X

Installing Microsoft Windows 1.0x in DOSBox-X

Overview

Editions this applies to

  • Windows 1.01

    • Initial US release version

  • Windows 1.02

    • International release

    • Support for international keyboards

    • Support for regional settings like time and date format

    • Support for A4 paper

  • Windows 1.03

    • Additional drivers

    • Adds support for Tandy graphics

  • Windows 1.04

    • Adds support for the IBM PS/2 (but no support for PS/2 mouse or VGA)

Windows 1.0x was the first versions of the Microsoft Windows line, available as both Retail and OEM editions. A runtime edition was also included with some applications.

Limitations

According to Microsoft: Windows 1.0 required a minimum of 256 kilobyte, two double-sided disk drives and a graphics adapter. A hard disk and 512KB memory are recommended for running multiple programs or when using DOS 3.0 or higher.

In actuality, it also needs at least DOS 2.0 (but lower than 4.0), and the two disk drives are not mandatory if there is a harddisk. It only supports up to 640KB base memory (no support for EMS/XMS/UMB memory).

The retail release of Windows 1.04 adds support for the IBM PS/2 but did not add support for the IBM PS/2 Mouse, or the newer VGA, MCGA or 8514/A video adapters. IBM distributed a special OEM version of Windows 1.04 as part of "Personal Publishing System" and "Collegiate Kit" bundles, which does have support for those features.

Unless this special IBM OEM version of Windows 1.04 is used, you must enable the serial mouse emulation in DOSBox-X and tell Windows during installation to configure a serial mouse. And likewise, you will be limited to EGA graphics.

DOSBox-X config file

It is recommended that you create a custom DOSBox-X config file for running Windows 1.0x. e.g.:

[sdl]
autolock=true

[dosbox]
title=Windows 1.0x

[dos]
ver=3.4

[parallel]
parallel1=printer

[printer]
multipage=true
timeout=5000

[render]
scaler=none

[autoexec]
@ECHO OFF
MOUNT C /home/users/myuser/winroot
C:
SET PATH=%PATH%;C:\WINDOWS;
IF EXIST C:\WINDOWS\IBMMOUSE.DRV GOTO WINDOWS.IBM
IF EXIST C:\WINDOWS\WIN.COM      GOTO WINDOWS
ECHO No Windows installation found
GOTO END

:WINDOWS
ECHO Starting Windows 1.0x with serial mouse
CONFIG -SET SERIAL SERIAL1=serialmouse
C:\WINDOWS\WIN.COM
GOTO END

:WINDOWS.IBM
ECHO Starting Windows 1.04 IBM OEM Release
C:\WINDOWS\WIN.COM
GOTO END

:END
EXIT

Copy the above config and save it as win1x.conf. If you don’t want DOSBox-X to close when exiting Windows 1.0x, remove the EXIT command.

Obviously adjust the MOUNT command to mount an appropriate path for your host system. This path will become the C: drive for the Windows 1.0x installation.

Preparing for installation

The installation will be into a mounted folder, and Windows 1.0x will run from the integrated DOS that DOSBox-X provides. You can optionally install real DOS into DOSBox-X and install Windows 1.0x in that, but there is no known advantage to doing so.

Start by creating a directory on your system that you’re going to use (mount) as your Windows 1.0x C: drive. Valid examples:

  • For Windows hosts

    • C:\winroot

    • C:\users\myuser\win1x

  • For Linux hosts

    • /home/myuser/winroot

    • /home/myuser/windows/win1x

Note
For users running Windows on their host computer, do NOT mount the root of your C: drive as the DOSBox-X C: drive! (e.g., MOUNT C: C:\ should NOT be done)

All Windows 1.0x versions were shipped on diskettes, requiring anywhere between 3 and 7 disks, depending on media-type and Windows version. And while it is possible to install Windows 1.0x from floppy images in DOSBox-X, the disk-swap process for this is rather tedious for substantial number of disks. As such it is recommended to make a directory such as "INSTALL" and copy the contents of ALL the diskettes into this directory. This way there is no need to swap disks during the installation process.

Example of extracting files from disk images

There are several ways to extract the contents of disk images, such as 7zip on Windows or "Disk Image Mounter" on Linux. In this example, DOSBox-X itself is used to mount a disk image, copy its contents into a folder, unmount the disk image and do the next.

MOUNT C /home/myuser/winroot
C:
MD INSTALL
IMGMOUNT A DISK01.IMG -U
XCOPY A:\. C:\INSTALL /S /Y
IMGMOUNT A DISK02.IMG -U
XCOPY A:\. C:\INSTALL /S /Y
IMGMOUNT A DISK03.IMG -U
XCOPY A:\. C:\INSTALL /S /Y
IMGMOUNT A DISK04.IMG -U
XCOPY A:\. C:\INSTALL /S /Y
IMGMOUNT A DISK05.IMG -U
XCOPY A:\. C:\INSTALL /S /Y
IMGMOUNT A -U

Your new INSTALL directory now holds the contents of all 5 floppy disks.

Installing in a mounted folder

You’re now ready to start DOSBox-X from the command-line, using the newly created win1x.conf config file. This assumes that the dosbox-x program is in your path and win1x.conf is in your current directory.

dosbox-x -conf win1x.conf

You now need to mount your new folder as the C: drive in DOSBox-X, and use SUBST to make the contents of the "C:\INSTALL" directory available on A: and start the installation.

MOUNT C /home/myuser/winroot
SUBST A C:\INSTALL
A:
SETUP

Adjust the path for mounting the C: drive as needed.

Note
If your path has spaces, you need to enclose it in quotes. e.g., MOUNT C "C:\Users\John Doe\winroot"

The Windows installation will now take place. See the Windows 1.0x setup program section below.

Windows 1.0x setup program

The setup program will ask several question relating to mouse, display and printer. If you have v1.02 or newer it will also ask you about the keyboard layout.

Note: Unless otherwise noted, the below screenshots are from the retail Windows 1.01 release, other releases can vary. In particular, OEM or Runtime versions may have a different number of disks and present other options.


Simply press Enter, or "C" to continue as prompted.

Windows 1.01 SETUP

Installation directory

You can optionally specify a different directory to install Windows into.

Simply press Enter to continue as prompted.

Windows 1.01 SETUP directory

This screen will vary depending on the release version, OEM and if it is a runtime version.

Simply press Enter, or "C" to continue as prompted.

Windows 1.01 SETUP

Keyboard selection

If you have version 1.02 or later, SETUP will ask for your keyboard layout.

Windows 1.04 SETUP

Mouse selection

If you have the special IBM OEM version of Windows 1.04, as shown below, you can select option 8 "IBM Personal System/2 Mouse" for PS/2 mouse. In which case you need to disable the serialmouse option in your DOSBox-X config file.

Windows 1.04 SETUP MOUSE PS2

Otherwise, select option 2 "Microsoft Mouse (Bus/Serial)" and press Enter to continue as prompted.

Windows 1.01 SETUP MOUSE

Graphics Adapter selection

If you have the special IBM OEM version of Windows 1.04, as show below, you can select option 2 "IBM Personal System/2 Model 50, 60, 80" for VGA.

Windows 1.04 SETUP GRAPHICS PS2

Otherwise, select option 6 "EGA (more than 64K) with Enhanced Color Display" as shown below, and press Enter to continue as prompted.

Windows 1.01 SETUP GRAPHICS

Build disk

SETUP now asks for the Build disk.

  • If you’re following the folder installation method, you can simply press Enter.

  • If you’re using disk images to install Windows, you need to now swap the disk using the menu item "DOS" followed by "Swap floppy". And then press enter.

Windows 1.01 SETUP Build Disk

Utilities disk

SETUP now asks for the Utilities disk.

  • If you’re following the folder installation method, you can simply press Enter.

  • If you’re using disk images to install Windows, you need to now swap the disk using the menu item "DOS" followed by "Swap floppy". And then press enter.

Windows 1.01 SETUP Build Disk

Printer setup

SETUP now asks if you want to set up a printer. You can press enter or "Y" to confirm, or you can press "N" to skip this step.

Windows 1.01 SETUP printer

Printer setup - select model

If you indicated wanting to set up a printer, SETUP now asks you which model.

For this guide we use option 2, the "Epson LQ-1500", and press Enter.

Later releases may have more options, such as a "Generic / Text Only" printer which can also be used.

Windows 1.01 SETUP printer

Printer setup - port select

If you indicated wanting to set up a printer, SETUP now asks you which port the printer is connected to.

Select the number for the "LPT1:" port and press Enter.

Note
In the version shown, it is option 1, but in some other releases it is option 2.
Windows 1.01 SETUP printer

Printer setup - another printer

SETUP now asks if you want to set up another printer.

Press Enter to continue without setting up another printer.

You can always change the installed printers afterwards by running CONTROL.EXE from within Windows 1.0x.

Windows 1.01 SETUP printer

Desktop Applications disk

SETUP now asks for the Desktop Applications disk.

  • If you’re following the folder installation method, you can simply press Enter.

  • If you’re using disk images to install Windows, you need to now swap the disk using the menu item "DOS" followed by "Swap floppy". And then press enter.

Windows 1.01 SETUP Applications Disk

Microsoft Write Program disk

SETUP now asks for the Microsoft Write Program disk.

  • If you’re following the folder installation method, you can simply press Enter.

  • If you’re using disk images to install Windows, you need to now swap the disk using the menu item "DOS" followed by "Swap floppy". And then press enter.

Windows 1.01 SETUP Write Program Disk

SETUP completed

Windows 1.01 SETUP finished

The setup program is now finished, and you’re ready to start Windows 1.0x.

But first type EXIT to close DOSBox-X.

Starting Windows 1.0x after installation

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

dosbox-x -conf win1x.conf

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

Windows 1.01 MS-DOS Executive

Video

By default, the best possible video option that DOSBox-X can offer is: - VGA 640x480 in 16 colours for the IBM OEM release of Windows 1.04 - EGA 640x350 in 16 colours for all other Windows 1.0x releases

While there are no Windows 1.0x drivers for any of the SVGA adapters that DOSBox-X emulates, there is a [patch available](http://www.seasip.info/DOS/Win1/vga.html) that can convert the Windows 1.0x EGA driver to VESA 800x600 in 16 colours. But note that this does not work with the IBM OEM release of Windows 1.04, as that release does not include the EGA drivers.

Mouse

Windows 1.0x does not use the DOS mouse driver that DOSBox-X provides. Instead it uses its own mouse driver, which must be selected during Windows SETUP. This has the effect that by default you will need to click in the DOSBox window to lock the mouse to the window area.

There is however experimental support in DOSBox-X for such seamless integration. To get this working take the following steps:

Go to doslib releases and download the latest binary release of doslib. Unpack the archive, and you will find a Windows 1.0 mouse driver with installation instructions in the windrv/dosboxpi/bin/win10 directory.

Follow the installation instructions, and in addition, set the following options in your DOSBox-X config file:

[sdl]
mouse emulation=integration

[cpu]
integration device=true

Now when you run Windows 1.0, you should have seamless mouse support.

Note
These old windows versions had no support for mice with scroll wheels. By default, DOSBox-X will simulate cursor up/down keypresses when you use the scroll wheel. This can be controlled by the mouse_wheel_key= setting in the [sdl] section of your DOSBox-X config file.