Cool Vid Software: Virtual Environments & Emulators

There are a number of reasons why emulating a vintage device can be beneficial over working directly with hardware.  Reasons include convenience – old machines aren't exactly small; ability to reboot quickly, configure and test several different combinations and so on.

Emulators

Emulators provide an environment that closely resembles the original machine and modify the behaviour of modern hardware to work as though it was something older.

Emulators generally provide better compatibility with older software as they re-implement bugs in earlier CPUs that have been subsequently fixed.  Better compatibility comes at the cost of lower efficiency as some optimisations available in newer processors cannot be taken advantage of; however given the substantial performance gains in modern processors compared with those from the 1980s and 1990s this isn’t noticable for small numbers of emulated machines.

DOSBox

Thumbnail showing a view of DOSBox when running

An emulated MS-DOS environment that’s quick and easy to configure and is primarily targeted at getting older computer games running.  The environment provides the capability to select different CPU emulations (286/386) and provides an MS-DOS 5.00 compatible environment.  A sound emulator is included providing Sound Blaster compatibility.

DOSBox is Useful if you’re not concerned about emulating exact hardware combinations and want something to build or run apps against a generic DOS environment.  It also provides handy features to interact with the local filesystem as you can mount directories as virtual disc drives.

PCem

A machine-level emulator that provides detailed emulation of physical hardware.  Useful if you want to develop against something approximating real hardware as closely as possible without direct access to that hardware.  PCem is capable of emulating a wide range of hardware from machines based on the 8088 right up the the Pentium II with support for add-ons like the Voodoo 3D accelerator.

Configuration of PCem is a little more complex as it is necessary to obtain additional resources and disc drives need to be configured; however this allows multiple environments to be configured and run in parallel.

Download PCem and extract the archive (perhaps into "Program Files").  You will need to obtain ROM files from another source and copy them into the sub-directory "roms".  The app will then run and allow you to setup Virtual Machines.

Virtualisation Technologies

Rather than providing low-level emulation of older CPUs, Virtualisation Technologies use of the processer installed in the host machine.  This approach is more beneficial when running more complex, newer operating systems as they require more processing resources and are designed to work on newer CPUs.

Some particular known issues with virtualisation in general relate to Windows® versions from 3.1 (generally with Win32s installed) through to Windows® ME which relied on bugs in earlier CPUs in relation to cache operations.  These prevent the installation of Windows® in some cases.

Having said that Virtualisation technologies make it easier to map hardware through to the virtual machine being run; for example most USB devices can be passed through allowing development work to take place with these devices.  If you’re trying to run Windows® XP and newer then this may well be the preferred approach.

Oracle® VirtualBox

VirtualBox has been around for some time and provides an open source virtualisation platform that can be hosted on Windows®, Linux and even MacOS.  It has wide-range support for a number of guest operating systems.

Hyper-V

Hyper-V provides Microsoft's low-level Virtualisation solution.

Software e.g. DOS

If you don’t have access to a legitimate copy of MS-DOS, as an alternative FreeDOS provides an excellent open source alternative which has a high degree of compatibility with MS-DOS and has the benefit of additional features and is actively maintained.