Windows 3.x on Mac OS X using DOSBox

Software

Windows 3.1 on Mac OS X: DOS Nostalgia on Intel Mac Hardware!

As I mentioned in the previous post in this mini-series, one of the options for running Windows 3.x on Mac OS X is using the excellent little DOSBox DOS emulator. While it is akin to comparing minnows to sharks in features, the latest Mac build of DOSBox (0.72) weighs in at 10MiB, compared to VirtualBox 2.0.4's 34.6MiB or VMware Fusion's 247.6MiB.

DOSBox also has some distinct advantages other than filesize if you just want to run DOS. You don't need to worry about setting up your own copy of DOS from scratch, saving you the trouble of configuring AUTOEXEC.BAT and CONFIG.SYS, and all the graphics and audio for a huge slew of devices is already set up. For people interested in running Windows 3.x, DOSBox provides generic emulated hardware that you can easily install software for.

Setting it up

  1. Grab yourself a copy of DOSBox and install it.

  2. Create a folder in your home directory that will serve as you C: drive in DOSBox. Alternatively if you want to keep things neat and tidy, you can create a dedicated disk image using Disk Utility.

  3. Create another folder within your dosbox folder or your disk image called setup for example, then copy the contents of each Windows 3.x floppy disk into it.

  4. If you created a disk image, mount it in Mac OS X, then fire up DOSBox and map your image to c:. Obviously if you created a folder, reference that instead:
    mount c /Volumes/[NAME OF IMAGE]
  5. Now you can navigate to your Windows installation files and start the setup process:
    z:\> c:\ 
    c:\> cd setup
    c:\setup\setup.exe
    

Installing Windows

When you see this, you're home free!
When you see this, you’re home free!

The Windows 3.x installation process is fairly self explanatory, but just a few helpful pointers:

  1. Choose "Custom Installation" with your arrow keys during the DOS-based part of the installation.
  2. When you're asked, don't worry about using the option to search your drive for existing applications, there aren't any! Leave the option to install printers checked though.
  3. When you're asked about virtual memory, leave it with the default "Temporary" option. Because we're dealing essentially with a folder not a real file system, "Permanent" virtual memory won't work.
  4. You'll be asked if you want to make any changes to AUTOEXEC.BAT and CONFIG.SYS. Choose "Let you make the modifications later", because DOSBox won't use any boot files Windows creates anyway.
  5. When you get to the printer installation step, click the "Generic / Text Only" option and hit [Install…]. Windows in the day needed a printer, any printer, to display some fonts properly.

Creating a preferences file

To save yourself the trouble of writing out that nasty mount line each time you start DOSBox, and to allow yourself to tweak some performance options it's best to create a preferences file.

  1. Within DOSBox, enter the following (in one line):
    config -writeconf "/Users/[YOUR-USER-NAME]/Library/Preferences/DOSBox Preferences" 

  2. Quit DOSBox then open the file you just created in your favourite text editor. At the very end of the file is where your custom AUTOEXEC.BAT code can be written. Enter the exact line you entered above to map your disk image or folder to drive c:.

  3. Under this, enter the following line to help Windows and DOSBox locate files:
    SET PATH=%PATH%;C:WINDOWS

  4. If you intend to use DOSBox just to run Windows 3.x, add these lines right after your mount line so Windows starts when you start DOSBox, and DOSBox quits when Windows does:
    WIN
    EXIT
    

Starting Windows 3.x

Now you have a basic Windows 3.x installation running on your Mac! It's somewhat of a surreal sight:

Windows 3.1 on Mac OS X
Windows 3.1 on Mac OS X!

Drivers

It is possible to drivers to get better performance, graphics, sound etc. DOSBox emulates a generic SoundBlaster card and a custom S3 Trio graphics card. The VOGONS (Very Old Games On New Systems) forum has a thread dedicated to this. If I have time this week I'll elaborate further in a separate post, keep an eye on the dosonmac tag.

Author bio and support

Me!

Ruben Schade is a technical writer and infrastructure architect in Sydney, Australia who refers to himself in the third person. Hi!

The site is powered by Hugo, FreeBSD, and OpenZFS on OrionVM, everyone’s favourite bespoke cloud infrastructure provider.

If you found this post helpful or entertaining, you can shout me a coffee or send a comment. Thanks ☺️.