OpenStep on
Microsoft Windows PC Emulators

NeXT Logo
Purple Dot Introduction
Purple Dot OpenStep
Purple Dot VirtualBox
Purple Dot VirtualPC
Purple Dot VMware
Purple Dot Conclusion

Introduction

Caution Symbol The author offers the information on this page in good faith. However, he makes no warranty that the information on this page is accurate, complete, appropriate or up to date. He also does not accept any responsibility for direct or indirect loss resulting from following this information.

This page describes the author's experience in getting OpenStep 4.2 to run on three Microsoft Windows PC Emulators:

These products also run on other host OSs such as Linux and MacOS X. My experience with Microsoft Windows may not apply to these other OSs. OpenStep is not supported by these products, so the following experience does not reflect on their capabilities. Although I have not tried it, several people have reported success on getting OpenStep to run using Parallels.

I am solely responsible for the content of this page. However, I would like to thank the following:

OpenStep

To install OpenStep you may need:

It might seem that it is possible to load extra files onto OpenStep using only the floppy disc. In fact there are quite a number of solutions. If you create an emulated DOS PC with file sharing additions, it is possible to copy files from Windows to emulated DOS to OpenStep by mounting the DOS disc image under OpenStep as a second hard disc. If you have Windows administrative privileges, you can give OpenStep access to a physical volume as a second disc. This risks disc corruption in the event of an error, but I have managed to give OpenStep access to an IDE Zip drive in this way. With appropriate software (e.g. mkisofs) it is possible to create CD images that OpenStep can read (albeit with DOS 8.3 names). Networking also allows access to remote servers, using SMB (e.g. SharityLight or Rumba for OpenStep) or NFS (built into OpenStep).

VirtualBox

The following describes experiments conducted from 2010 onwards. Initially I was able to install VirtualBox 4.1.12 on a PC running Microsoft Windows XP Pro. Later I used Windows 7 Enterprise and Windows 10 Pro. A number of later versions of VirtualBox were then not compatible with the OpenStep network adapter drivers. However, this was corrected from version 4.3.30 or version 5.0.2 onwards. Currently I am using version 6.0.14 successfully on Windows 10 Pro.

I created a virtual PC using 192MB of RAM and a 4GB hard disc. I set the guest PC type as Other and the version as Other/Unknown.

Start up VirtualBox using the osinstall.img floppy disc image. The virtual PC will then load the OpenStep installation code. When it asks for the drivers floppy, use the osdrivers.img floppy disc image in place of this. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers).

VirtualBox is supplied with dedicated operating system additions, but these are not available for OpenStep since this is not a supported OS. Switching between window and full-screen mode, the host and OpenStep mouse cursors can get out of register with each other. If this happens, press the VirtualBox Host key twice to re-capture the mouse.

If OpenStep is saved and resumed later, the clock is not resynchronised. Clock synchronisation occurs only on boot-up. A work-around is to manually synchronise with a Network Time Server somewhere (on the host PC if necessary).

I set up an NFS server on a Raspberry Pi, allowing me to mount an NFS share on OpenStep. This lets me transfer files to/from OpenStep from the Windows host.

The following OpenStep and VirtualBox driver settings are the key ones I use:

Device OpenStep Configuration VirtualBox Configuration Observations
Audio SBSoundMidi for SoundBlaster32 PnP Windows Direct Sound, SoundBlaster 16 The standard OpenStep SoundBlaster drivers and the SoundBlaster Driver/Mixer by Stephen Brandon (University of Glasgow) work on Windows 10. (However, prior to VirtualBox 7 the sound did not work properly and would continually echo.)
Compact Disc EIDE and ATAPI Device Controller IDE Controller, IDE Secondary Master This does not seem to work on Windows 10.
Display VESA VBE 2.0 VBoxVGA, 9MB memory This works fine. By default, modes such as 640x480x8, 1280x1024x32 and 1600x1200x32 are available. However, it is possible to have higher resolutions and to use a second monitor full-screen by running the following commands from the VirtualBox installation directory ("OpenStep" is whatever the VM is called):
  VBoxManage setextradata OpenStep "CustomVideoMode1" "1920x1080x32"
  VBoxManage setextradata OpenStep "GUI/LastGuestSizeHint" "1920,1080"
  VBoxManage setextradata OpenStep "GUI/VirtualScreenToHostScreen0" "1"
Floppy Disc Floppy Disk Drive No longer supported? When the host floppy drive was empty, OpenStep complained it contained an unreadable disc that had to be ejected.
Hard Disc EIDE and ATAPI Device Controller IDE Controller, IDE Primary Master After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) No special configuration This works fine. I used the Preferences app to have the Ctrl key for commands (e.g. Ctrl-n for New) and the Caps Lock key for control functions (as per the traditional NeXT keyboard layout). However, doing (say) Caps Lock-C to interupt something causes the host PC to switch upper/lower case.
Mouse PS/2-Style Mouse (150dpi) No special configuration This works fine.
Network AMD PCnet-32 PCI Ethernet Adapter Bridged Adapter, PCnet-PCI II, Promiscuous Mode All This works fine. Using SimpleNetworkStarter I was able to give OpenStep an IP address on my subnet, using my real router and real DNS servers. This allowed OpenStep to be 'seen' on the subnet. Standard networking facilities such as FTP and NFS work. It may help to run the a command such as the following from the VirtualBox installation directory, where "OpenStep" is whatever you name the virtual machine and "192.168.1.0" depends on your local subnet:
  VBoxManage modifyvm OpenStep --natnet1 "192.168.1.0/24"
Serial Port Not investigated Port COM1, etc. Not investigated as I no longer use RS232 serial ports.
USB Not investigated Disable USB Controller Not investigated as OpenStep does not support USB.

Virtual PC

The following information is very outdated and is preserved only for historical reaons. It describes experiments conducted in 2000 and subsequently. Note that my experiments were done with what is now a very old version of Virtual PC. However, no later version of Virtual PC (e.g. 5.0, 5.2, 2007) seems to be compatible with OpenStep. Version 4.3.1 is the latest version I was able to use for OpenStep. However, this will not run on modern PCs with PAE (Physical Address Extension) enabled.

Note that my experiments were done with an old version of Virtual PC. The good news is that it works extremely reliably. The only oddity I have noted ia that very occasionally OpenStep acts as if it were randomly and rapidly receiving mouse clicks. I have seen something like this when running OpenStep on a real PC, so it may be some occasional OpenStep fault.

Virtual PC is supplied with dedicated operating system additions, but these are not available for OpenStep since this is not a supported OS. A minor consequence is that Virtual PC does not detect the OpenStep idle loop, so even if OpenStep is running in the background it still consumes up to 20% of the real CPU. A more problematic consequence is that Virtual PC additions are needed to synchronise the real and emulated clocks. The result is that the OpenStep clock drifts, perhaps up to 30 minutes per day. If OpenStep is saved and resumed later, the clock is not resynchronised as clock synchronisation occurs only on boot-up. A work-around is to manually synchronise with a Network Time Server somewhere (on the host PC if necessary).

I was able to install Virtual PC 4.3.1 on a PC running MS Windows 98 and also MS Windows XP Pro. (Windows 98 is not a supported host OS.) I created a virtual PC using 192MB of RAM and a 3GB hard disc. It does not seem to matter what type of guest OS is defined for OpenStep installation.

I could not get Virtual PC to read NeXT-format floppies. For installation, I therefore had to use already-created floppy images (.vfd).

Start up Virtual PC, capture the osinstall.vfd floppy disc image, and reset the virtual PC. The virtual PC will then load the OpenStep installation code. When it asks for the drivers floppy, drag the osdrivers.vfd floppy disc image over the floppy disc icon. Capturing the floppy disc image from the menu does not seem to work. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers).

The following OpenStep driver settings were the key ones I tried:

Device OpenStep Configuration Observations
Audio SoundBlaster 16 (8 and 16 bit DMA) This works to some extent, though it is erratic.
Compact Disc EIDE and ATAPI Device Controller This works fine.
Display Diamond Stealth 3D (S3 ViRGE, 1280x1024 or 1024x768, 60Hz, RGB:256/8) This works fine. The S3 Generic Display driver is also reported to work in RGB:888/32 and RGB:256/8 modes. The refresh rate does not seem to matter.
Floppy Disc Floppy Disk Drive The basics work fine. I could not read NeXT or Macintosh format floppies, though others have reported success. "Check for Disks" under OpenStep does not automatically capture the floppy; it needs a manual capture first using a Virtual PC menu item.
Hard Disc EIDE and ATAPI Device Controller After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) This works fine though I found some small problems. If the default hot key is used (Alt Gr), the keyboard does not work properly when returning to OpenStep. Pressing Ctrl under these circumstances restores the keyboard mapping. Virtual PC also seems to become slightly confused if I map the Ctrl key to the Caps Lock key (as per the traditional NeXT layout); the Caps Lock LED is momentarily illuminated when pressed.
Mouse PS/2-Style Mouse (150dpi) This works fine.
Network DECchip 21041 Based Adapter Standard networking facilities such as FTP and NFS work.
SCSI Not investigated Virtual PC 4.3.1 did not support SCSI devices, though later versions may.
Serial Port Serial Port, TTY Port Server Data rates above 38400 bps do not work.
USB Not investigated Not investigated as OpenStep does not support USB.

VMware

The following information is very outdated and is preserved only for historical reaons. It describes experiments conducted in 2000. Note that my experiments were done with what is now a very old version of VMware. More recent versions may work better or differently.

I was able to install VMware 3.0 on a PC running Microsoft Windows XP Pro. I configured the hard disc on the IDE primary channel (IDE0:0) and the CD-ROM on the IDE secondary channel (IDE1:0). I created a virtual PC using 64MB of RAM and 300MB of hard disc. It is essential to pretend that the guest OS is Linux otherwise the CD driver does not seem to work properly.

I was able to use the standard installation and driver floppies to install OpenStep. Select the Primary/Secondary Dual EIDE and ATAPI driver for both the CD-ROM and hard disc (choices 7, 7, 7, 5 when selecting installation drivers).

The following OpenStep driver settings were the key ones I tried:

Device OpenStep Configuration Observations
Audio None I could not get the OpenStep SoundBlaster drivers to work with VMware, despite having a real SoundBlaster Live sound card on my PC.
Compact Disc EIDE and ATAPI Device Controller This works fine.
Display Default VGA (640x480, 60Hz, BW) As reported by others, I could not get a better OpenStep display driver to work with VMware.
Floppy Disc Floppy Disk Drive This works fine.
Hard Disc EIDE and ATAPI Device Controller After basic installation, install the latest EIDE driver (version 4.03) and choose the Intel PIIX PCI EIDE/ATAPI Device Controller in place of the EIDE and ATAPI one. Select both Bus Master DMA and Multiple Sectors. This driver works much faster than the basic one that is initially installed.
Keyboard PS/2-Style Keyboard (102 keys) This works fine.
Mouse PS/2-Style Mouse (150dpi) This works fine.
Network AMD PCnet-32 Ethernet Adapter Standard networking facilities such as FTP and NFS work.
Parallel Port Not investigated Not investigated.
SCSI Inconclusive VMware supports SCSI devices. However I could not get the virtual SCSI controller to respond to the OpenStep BusLogic drivers, probably because I did not have a physical SCSI controller.
Serial Port Not investigated Not investigated.
USB Not investigated Not investigated as OpenStep does not support USB.

Conclusion

With appropriate choice of emulator version, it is commendable that VirtualBox, Virtual PC and VMware can all run OpenStep to some degree. A high standard of performance should not be expected. The performance limitations are more likely to be in I/O rather than in raw processing. Having run OpenStep on Virtual PC for about 10 years, my preferred choice is now VirtualBox.


Up one level to NeXTStep/OpenStep Utilities

Web Ken Turner Home   Email    Search Search Web Pages

Last Update: 12th January 2023
URL: https://www.cs.stir.ac.uk/~kjt/software/nextstep/openstep-win.html