Sunday, May 6, 2018

Connecting a VM to a serial port

So you've got an old DOS or Windows 98 program that you'd really like to run. Maybe it's radio programming software for amateur radio,  an old game that you've got fond memories of, an expensive printer that you can't afford to replace, or something else that you've used for years for business or fun that you just don't feel like giving up.
Well, a Windows 98 VM is a fairly effective solution, and certainly one that works better than Microsoft's built in "compatibility mode". My hypervisor of choice is Virtualbox. It's free and platform independent, which many of the competitors are not. There are some good tutorials for setting up Windows 98 VMs for gaming, but they don't really get into what you'd need to do to connect your VM to an outside device, and you really do need to do that if you're planning on doing anything that requires a connection between your VM, and a piece of hardware.

A short tutorial on connecting a serial device to your VM:

  1. From a "powered down" state click on settings
  2. Select "Serial Ports" on the left.
  3. Check the "Enable Serial Port" box.
  4. Under the Port Number drop down, select the port number you want for the COM port inside the VM. Note: DOS programs often will not recognize ports other than COM1 or COM2, so if you plan on utilizing a DOS program, such as Motorola's GP350 RSS, make sure to only use COM1 or COM1.
  5. In the "Path/Address" field, type in the name of the port that you want the VM to utilize. If you've got a permanent physical COM port on your computer, use that. If you do have to use a USB Serial adapter, be aware that the VM will only start when you have the adapter plugged into your computer, unless you disable the adapter, and that unplugging it while utilizing the VM will require rebooting if you wish to continue using the adapter.
  6. Start up the VM and bring up whatever program you wish to use. Make sure that the right serial port is selected.