Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a friend that uses some really old business software and for whatever reason doesn't want to check out a new version (if one even exists, he's in a niche market). The software ran as a 16-bit DOS program and he'd like to upgrade his computer to something running Vista or 7 but still run this software. The machine that's currently running the software appears to be dying so I can't suggest to let him keep running it on that box.

Will NTVDM or DosBox give him the functionality he's looking for? I've never played with either, so I'm hesitant to recommend something for him and it not work.

And bonus points: which one will be better for this type of thing?


P.S. I wasn't sure if this was a serverfault question or one for here, so please move it appropriately.

share|improve this question
Does that business software interface with an external device, like for example a printer or a barcode scanner? – Saxtus Dec 14 '09 at 18:44
@Saxtus, that's a good question! I don't know, I'll need to call and find out. If yes, how does affect your answer? – mrduclaw Dec 14 '09 at 18:47
@Steve Rowe, thanks for the ntvdm tag. I couldn't add it myself since I'm <100 rep. :) – mrduclaw Dec 14 '09 at 19:15
up vote 8 down vote accepted

DOSBox is certainly up to the task; the tricky bit is driving USB printers and/or other peripherals, so it really depends on the software and what it is used for.

If I have to print something from a DOS program, I'll print to file (PRN) in DOSBox and then print it in Windows with PrintFile

enter image description here

PrintFile is freeware.

share|improve this answer
Sounds good, I'll update the question when I hear back from him. Thanks! – mrduclaw Dec 14 '09 at 18:49
It looks like he needs to print it to a real old parallel port-style printer. I imagine there's no drivers for this device, is he out of luck and should try to buy a new printer? This is apparently for their payroll. Thanks again for all your help. – mrduclaw Dec 21 '09 at 13:42
i don't think any of the usual virtualizers have throughput for old LPT ports, however, if the software supports print to file, then your friend should be able to print from Windows. – Molly7244 Dec 21 '09 at 19:41

He could use a VirtualBox, providing he has a copy of DOS. The overhead will be minimal, what with it being DOS and all :P

share|improve this answer
Does VirtualBox allow for device pass-through? That is, does using VirtualBox circumvent any potential issues with the software requiring the use of some external device? – mrduclaw Dec 14 '09 at 18:48
VBox, as good as it is otherwise, it's not quite the best with DOS, MS VPC faring much better. however, DOSBox beats both of them hands down. – Molly7244 Dec 14 '09 at 18:49
@mrduclaw: limited passthrough, COM & USB yes, LPT no, but USB for DOS is tricky at the best of times, nevermind virtualization. – Molly7244 Dec 14 '09 at 18:52
@Molly, sounds good. This has been a great help. Thank you! – mrduclaw Dec 14 '09 at 19:13
LPT might be in the current version. I heard some discussion about it. If it didn't make this version, expect it soon (very active project, new versions come out pretty quick). – Brian Knoblauch Dec 14 '09 at 20:08

This is the purpose of NTVDM. It isn't compatible with all DOS applications though so be sure to try out your particular application on Windows 7 before committing to that approach.

DosBox is another alternative, but is tuned a bit more to games and graphics and less to line of business scenarios than NTVDM. Again, YMMV so try it out and see.

Between these two alternatives, you are likely to find something that works.

share|improve this answer

Unless your Vista or Windows 7 (or XP/2000 for that matter) are the 64-bit version, then 16-bit executables will run fine. You might have to map shared printers to LPT ports, set environment variables and the like in CONFIG.NT/AUTOEXEC.NT and stuff like that, but nothing unsurmountable. The 64-bit flavours of Windows won't run 16-bit software but I don't see a mention of 64-bit in the original question.

share|improve this answer

I have an INFORMIX-SQL DOS 6.22 application working perfectly within Microsoft Virtual PC 2007 on a Windows Vista host, including printing to a dot matrix parallel printer on LPT1:, file sharing with USB storage devices and folders on Windows Vista.

I recommend you do this because:

  1. You can only create max partition sizes of 2GB on DOS 6.22 and you're not going to find new hard drives less than 30GB, and eventually IDE will no longer be around

  2. My DOS app runs 20 times faster under Virtual PC than a native DOS machine

  3. You can do backups to USB flash drives vs. diskettes

  4. You can even have your DOS virtual hard disk on a 2GB USB flash drive

  5. Virtual PC 2007 is free

share|improve this answer

I highly recommend an "enhanced" build of DOSBox for anything but games. There's the DOS Megabuild, and what I prefer: the SVN-Daum version of DOSBox from (installers for Windows, Mac, and Linux are all available there). Using the latter I've been able to print natively from DOS applications, specifically legacy business software.

share|improve this answer
Another good potential solution is using Oracle VirtualBox and installing FreeDOS, though some complications are having to use an FTP server to transfer files to and from the DOS virtual machine. – Derek R. Austin Jun 7 '14 at 4:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .