Make old DOS apps run on new hardware with DOSbox!
What is dosbox? DOSbox home page
It is a free/open-source DOS emulator that runs on many operating systems.
It runs DOS inside a virtual machine in a much more true native mode than running a DOS command window inside Windows XP.
What does this do? It allows for old original DOS software including radio programming interfaces to run on current computer operating systems or hardware.
The issue it fixes is that many old DOS applications relied on the speed of the machine running it for handling timing and interrupts. On current hardware, this means the old software runs too fast and is unreliable.
Also, old DOS software wasn’t aware of things like USB to serial adapters and other new hardware.
This software allows you to create virtual bridges between a new serial port USB device and old ‘com1’ only DOS software.
What have I tested it with so far?
I’ve used the CE14 software for Vertex LMR radios inside DOSbox and it make it work perfectly. Whereas with Windows XP on a 1+GHz laptop, it would run, but not function properly.
You can tell you have a problem this may fix, when the software runs, but you don’t get actual read/write performance to the device you are programming. This can cause a lot of errors with the hardware and possibly even brick the firmware if you aren’t careful.
So, go get it...
Go to http://www.dosbox.com/ and download whatever version you need for the platform you are running it on. Follow the basic download and install instructions.
After install…now what?
So you have it up and running now. These are the steps using a USB serial adapter and programming software.
First, you need to map your com port, using Windows XP as an example. The USB adapter is com4 , you can find this in Windows device mgr, right click on My Computer and select ‘manage’ and then ‘device manager’ and inside there, LPT and com ports. You will see your USB device in there if the driver is properly installed and the com port number it has.
So to set/map the com4 in Windows XP to com1 inside of dosbox while it is running do the following
This will make com1 inside dosbox map to com4 in Windows XP directly.
Next you have to ‘mount’ your path to your programming software. To make this very easy, I just copied my folders for CE14 into the root of C:\ as in C:\CE14\ that is where CE14.EXE lives.
The command to mount inside dosbox is
Z:\>mount c c:\ce14\
This is specific for me as c:\ce14\ is where my software is, replace this with whatever you have, wherever you put it.
Now to get to that location you just do
Now you see C:> as the prompt
Will show you what is in there. In my case I see all the CE14.* files so I do
Now the software runs.
The only thing left to know, is you need to go into whatever app you are using and tell it that the serial port to use is ‘com1’ as that is what we mapped earlier.
DOSbox allows you to map serial1 serial2 serial3 serial4 to four external serial devices, they are treated as com1 com2 com3 and com4 respectively.
You can also map multiple paths to multiple ‘local’ DOSbox ‘drives’
mount c c:\path1\
mount d c:\path2\
At the prompt to switch around you would just enter c: or d: and you’ll toggle between the paths. Just typing ‘mount’ will list what you have configured.
There are a bunch of neat features to control slow down and speed up within DOSbox so definitely check out the documentation links on their site and also try the
Z:\>info command as it has a bunch of on line help within the application itself.
The immediate applications for this are with old DOS based radio programming software for LMR radios, but I can imagine that many crusty DOS based packet radio apps and other things will run a lot better in it too. I’m not much of a gamer, but it’s evidently quite effective for that as well.
I think this should cover it.
73 de KC2RGW
blog comments powered by Disqus