Running Early Operating Systems under OS/2

The original IBM PC came with a choice of three different operating systems that it could run. These were PC-DOS, CP/M-86, and USCD-p. Of course of these DOS was the one that was supplied with the system and it therefore was the operating system that almost everyone ran. Most of the other microcomputers of the time ran a version of CP/M so there was an enormous amount of CP/M software out there (far more than was available for the new DOS operating system) that could be run on the PC if only people took the trouble to install CP/M-86. USCD-p was a Pascal based operating system that could also run on the Apple ][ but which never really caught on on any platform.

So what relevance does this have to OS/2 over twenty years later?

Well while these operating systems are now so old, there is a lot of software still around that was written for these old operating systems. Much of that software wont run on the much newer operating systems that we run today. Even a lot of the early DOS based programs were written in such a way that later changes to the operating system meant that the hacks used to squeeze the program into the smallest possible space meant that the program was tied to running on a specific version of DOS. Much of this software is now so old as to be of historical interest.

Perhaps you are trying to help preserve some of this old software or maybe you just have a program from back in those days that you wish that you could run occasionally. You can't install the old operating system on a current PC as the current PC is total overkill for the operating system's requirements and you want to run a more modern operating system as well without having to use a boot menu. What you can do is to create a Virtual Dos Machine under OS/2 and install the old operating system there. A VDM is an OS/2 emulation of an 8086 based PC and, despite its name, any of the old operating systems that were capable of running on an early PC can be installed and run in an OS/2 VDM. OS/2 will manage the VDM so as to provide the opportunity via the property settings to configure the virtual machine to suit your requirements. You can even run multiple VDMs running the same or different operating systems at the same time.

A VDM can be used to run many (but not all) of the old programs that wont run in a regular OS/2 DOS session either because the software is version specific or it runs on CP/M or USCD-p. Programs that expect to directly access hardware at certain addresses may not run due to the hardware addresses on the modern machines being different (plus OS/2 restricting this access anyway).

To be able to run a VDM you must first create a boot floppy for the specific operating system that you want to run. If the only copy of the operating system that you have is on an old 5-1/4" floppy and you no longer have an old drive capable of reading it then you will need to locate someone with such a drive who can copy it onto a 3-1/2" floppy for you, of course if you still have 5-1/4" floppies then you have probably kept a drive as well so this might be just the excuse your looking for to install it back into your machine.

The easiest way to run a VDM is straight from the floppy. Your OS/2 operating system has an option in the operating system list for running a VDM directly from the A: drive.

If you are actually running a specific version of DOS rather than one of the other operating systems then you can give the VDM access to the HPFS partitions on your system even though DOS doesn't normally understand HPFS. To do this you need to copy FSFILTER.SYS from the os2/mdos directory onto your floppy and add a DEVICE=FSFILTER.SYS statement into the CONFIG.SYS file on the floppy.

So what if the operating system you want to run in the VDM is on a 5-1/4" floppy and that drive is your B: drive. Well we can quickly copy the run VDM from A: option and tweak it to run from B: instead. To do this go into the properties notebook and look in the "Other DOS Settings" for an entry called DOS_STARTUP_DRIVE. This entry identifies where OS/2 will look for the operating system to run in the VDM so all we need do is change the value from A: to B: and press SAVE. Because the operating system expects to boot from the A: drive, changing it so it really boots from B: loses us access to the A: drive from this VDM (but not from elsewhere in OS/2). We can get access to the A: drive back in this instance if we are running a version of DOS by renaming the A: drive to B: (which itself has already been relabelled to A: by the operating system we are running from there. To do this we copy the FSACCESS.EXE file from the os2/mdos directory onto your floppy and add FSACCESS B:=A: into the AUTOEXEC.BAT on the floppy.

So if we can change to run from a different drive, can we change this to run the operating system from the hard drive? Well the answer is yes but it requires a little more work to set it up. First, if you are running a version of DOS, you probably want to get back access to your A: drive. You do this the same way as described for booting a VDM from the B: except that if you also have a B: drive in the system, you may want to select a different drive letter to remap your A: drive to so as to keep access to all of your existing drives.

To load an operating system that you want to run in a VDM to your hard drive, you need to create an image of the floppy disk on the hard drive. If you are going to save several different operating systems then you probably want to create an IMAGES directory to store them all in so you will be able to find them all easily. To create a floppy disk image we use the VMDISK command. To create an image of the floppy in the A: drive and store it as C:\IMAGES\DOS33.IMG we would enter the command VMDISK A: C:\IMAGES\DOS33.IMG at the OS/2 command prompt.

Having created the image on your hard drive, you can then copy the VDM from A: option and update the DOS_STARTUP_DRIVE entry in the properties to point to the appropriate image file.


This article written by Stephen Chapman, Felgall Pty Ltd.

go to top

FaceBook Follow
Twitter Follow