Burk Autopilot, DOS version

We have been doing work at a particular radio station for a few years now. Every time I go there, I look at this… thing:

Burk DOS Autopilot/CDL running on Windows 98
Burk DOS Autopilot/CDL running on Windows 98

It is a very old PC running Windows 98 and Burk Autopilot/CDL 4.6 for DOS.  The autopilot program is running from a windows DOS prompt and seems to be working okay; my concern is about the age of the hardware and the potential for failure.  The Autopilot is what controls the AM station’s power levels, which vary from 1,000 watts daytime to 4 watts nighttime.  We have all read about AM stations fined by the FCC for running daytime power levels at night.  Failure of the ancient autopilot computer could lead to exactly this scenario.

I attempted to purchase the newer, Windows XP version of Autopilot, only to be told “that item is not in this year’s budget.”  Apparently, it was not in the budget for the following year or the one after that.  Thus, when the hard drive on the old Windoze 98 machine began making a terrible grinding noise, I knew the end was near.  I made an attempt to run the Autopilot from a Windows XP DOS prompt, at which time I was informed: “The program cannot start or run due to incompatibility with 64-bit versions of windows…” GAK!  I kind of knew this already.

I began daydreaming about running a DOS virtual machine inside of a Ubuntu or Lubuntu operating system.  Then I found a DOS emulator program for Linux called “DOSemu” which looked like exactly what the doctor ordered.  Using the carcasses of several old HP desktop computers, I came up with one working PC that had two organic serial ports.  This is actually not a bad unit, as it has a 1.6 GHz dual-core processor and 2 GB RAM.  On this machine, I loaded the 32-bit version of Ubuntu 12.04 desktop.  Naturally, the original Autopilot/CDL 4.6 disks were nowhere to be found so I had to copy the directory off of the old computer.  It was also understood that this project was simply going to suck.  Therefore, the superannuated Windoze 98 machine had no network interface or any USB ports.  My only option was to copy the files onto a 3 1/2-inch floppy disk.  Fortunately, I have a USB 3 1/2 floppy drive, which I was able to use to copy the files onto the new computer into the /home/ARC16 directory.

Downloading and setting up Dosemu was fairly straightforward.  There were a few configuration steps that needed to be completed before the Autopilot software would work and communicate with the ARC-16 remote control:

  • In the DOSemu configuration file, the hardware serial port needs to be configured to work with the DOS emulator.  This is located at /etc/dosemu/doseum.conf.  The default conf file has all of the serial ports commented out.  Remove the comment and change the serial port source:  $_com1 = “/dev/ttyS0” or $_com2 = “/dev/ttyS1”  The serial ports available can be determined by the following terminal command: dmesg | grep tty  The output should look something like this:

    paul@engineeringIII:~$ dmesg | grep tty
    [ 0.000000] console [tty0] enabled
    [ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    [ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 3) is a 16550A
    [16206.667112] usb 2-1.3: pl2303 converter now attached to ttyUSB0
    paul@engineeringIII:~$

    For USB to serial port converters, the serial port source may look something like this: $_com1 = “/dev/ttyUSB0”

  • The DOS emulator time can be synced to Linux time by: $_timemode = “linux” This is great because Linux can be synced to a NTP source, meaning Autopilot time will always be correct.
  • The logged-on user that will be running the DOS emulator needs to be added to the “dialout” group.  This can be done by sudo adduser [user name] dialout.  This will allow Autopilot software access to the comm port.
  • The DOS autoexec.bat file should be edited so that Burk autopilot loads automatically when DOSemu is started.  DOSemu automatically assigns the D drive to the Linux home directory.  Thus, simply adding:

    D:
    CD ARC16
    ARC16

    to the end of the autoexec.bat file will start the ARC16 program automatically when the DOSemu program is started.

  • DOSemu can then be added to the Ubuntu desktop startup.

The results:

DOS autopilot running on Linux machine
DOS autopilot running on Linux machine

Burk Autopilot/CDL (DOS version) running on a Linux (Ubuntu 12.04.4) machine.  The stupid thing will probably run forever now.

This computer is also used to program the satellite receivers, which are located at the transmitter site.  Thus, there are several manuals and program clocks stored in the documents folder.  I also installed the x11VNC server program, so that the computer desktop can be logged into remotely from the studio over the LAN link.

I noticed that the DOSemu program hits the processor fairly hard, with one core running about 45% most of the time.  That should be fine, as this machine is used very infrequently for other tasks.