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
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.
Have you considered using FreeDOS?
http://www.freedos.org/
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?
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.
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