Yes, finding a suitable printer can be an issue. A few points:
– Generally speaking, all HP Laserjets will work.
– For other makes, inspect the specs carefully. You are looking for the printer languages supported, and PCL (HP’s Printer Control Language) is what you must find. If it’s not there, then you can be 99% sure the printer won’t work with a DOS program. If PCL is listed, the version doesn’t matter.
– It’s possible to print from DOS though a USB port. I’ve done it. Once. Other attempts failed for no good reason (I get cryptic Windows errors when issuing the NET USE command, or no error message, but no output either.) The time I did get it to work was maybe a fluke, but it was on my home machine (XP) with a Laserjet 3300. It worked great for about a year then stopped working. After hours of hair-pulling I gave up and hooked the printer up with a parallel cable and it’s been fine since then. (It’s been suggested that an otherwise benign Windows update clobbered my DOS/USB printing capability, but life is too short to ever know for sure.)
Lesson learned: Buy an HP Laserjet and use a parallel port hookup. You *may* get a USB connection to work, but don’t count on it.