I have a good old DOS application which is still required to run. Unfortunately the PC is dying and needs to be replaced. The PC was running Windows 98 and the software was executed in a MS Dos Command line. When we would order a new PC you would at least get a Windows XP which has the Win 2000 (NT) Kernel and is not DOS based. Now I need a strategy to be able to run a that DOS application on a new age PC. What I was thinking is to buy a standard office box and have a virtual PC or VMware setup which is running MS DOS and my DOS application? Would this be a way to go? Any concerns? What about 16Bit/32Bit… So any opinion, experiances or tip would be great …. Thanks


What resources that the program need? Windows 2000 and XP can still execute MS-DOS Applications, even (32-Bit) Vista and Win7 can still run VisiCalc just fine. Just make sure to not run any 64-Bit Version of Windows.

But if your DOS Application relies on direct hardware access or runs as a TSR, you may run into issues with VMWare as well.

Did you try it on an existing Windows XP Installation already?

  • No, did not tryed that yet. The Software supplier said: Win98 is possible but not XP. Didn't said why though.. Don't know what it needs it relies on LPT1 and a matrix printer... (the good old times =)...) – user11010 Jun 29 '09 at 9:56
  • Then the LPT1 Port may be an issue, many PCs don't have a standard printer port anymore :) But I successfully ran a DOS Application on Windows 2000, using HP Laserjet printers. I only needed a Batch-File that sent some initialization commands to the printers (to set Font etc., but that was specific to those printers) and they worked fine on LPT1. – Michael Stum Jun 29 '09 at 12:14
  • In the end after taking all other possibilities I went with the commandline in XP. – user11010 Jul 18 '09 at 6:52

Yes, VMWare or Virtual PC can be a solution. But it's somewhat 'fat' for just one application. Try to check DOSBox Project, perhaps it would be the way to go.

  • 1
    For a small definition of "fat", an MS-DOS guest wouldn't need many resources. It should also work if the host system is running a 64bit OS. – Richard Jun 29 '09 at 9:47

Have you considered using FreeDOS?



For LTP1 support, there are devices which will convert an USB port to a printer port. It would allow you to attach an old matrix printer to your newest hardware. About DOS support, any Windows XP system should be good enough for this application. I have been able to play some very antique DOS games on an old WinXP computer. Things get nasty, though, when the DOS application is doing some things based on the hardware. Even if Windows would provide access to those hardware components, your DOS application might not be able to handle the lightning speed of current hardware.

For example, I used to write software in Turbo/Borland Pascal. To write to the console, a special "CRT" unit was included which would write the characters straight into the memory of the graphics card. While this is still allowed on XP, the code itself had a nasty bug when calculating the CRT speed. The processor would be so fast that an overflow would occur, thus giving some rather unexpected results.

As an alternative, check out e-bay or other sites like it to find some more antique hardware to replace your current computer. While the DOS application might work on Windows XP, there's no guarantee that something written for a 33 MHz Intel 80486 processor will still behave nicely on current 2.66 GHz dual-core Pentium systems. Or even on something half as good... Personally, I think modern hardware might be just too good to be practical.

However, consider having that application rewritten or order an upgrade. As I mentioned before, LTP1 can still be supported through an USB device so old Matrix printers could still be supported. Remember, this problem will likely occur again a few years from now when your new box will die.


VMWare is one answer. Other options are FreeDOS (which I have used for firmware flashing on a few occasions) or DOSEmu, which is a DOS compatibility layer that runs on Linux.


Without getting carried away, you could install VirtualPC on an existing workstation, create a VM & install win98 to it, then copy over the DOS app (the joy of no registry) and see if it works as expected.

Yes, your existing workstion will run somewhat slowly while this test VM is running, but to test the process, it's simple, quick, and free.

  • If it runs "somewhat slowly" with a small Win98 VM, you need a new workstation too, IMHO. – user1686 Jun 29 '09 at 19:46
  • haha, truth. I suppose I may have overestimated, having never created a '98 image. ;) – Kara Marfia Jun 29 '09 at 20:05

it sounds like the vendor is not interested in keeping this software functional.

compare the cost of replacement vs. the cost of supporting it; if you factor in the cost of your time, it may be cheaper to find alternative software rather than continue to support this antique!

[another option may be to purchase the source code from the vendor and rebuild the application for a more modern environment]


Make sure your new hardware has PS/2 ports on the motherboard - DOS applications may be confused by USB keyboards and mice.

For the same reason, it is probably better to have IDE HDDs instead of SATA and AGP/PCI video card instead of PCI-E

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.