1

my father is still using a very old DOS application and I'm in charge to make it run on newer systems. Right now I have the problem that I want to print, but the program only supports direct printing to LPT1-3.

I installed an DosBOX SVN (ykhwong, as recommended here) and used this guide to connect the LPT1 with my local USB-Printer.

Right now I can print from the DOS app (the normal Windows printer dialog appears), but the printed output is a total chaos. It should print only one page, but does print a multitude of pages with all the letters one bellow the other like:

R

e

c

e

i

p

t

The config file for ykhwongs DosBOX contains options like:

dpi=360
width=85
height=110

For the printer output, but I have no idea what they do.

Has someone encountered something similar, or knows a different approach to solve my problem? It's important that it runs automatic, so printing to a file and then printing to USB is no option.

Rincewind
  • 11
  • 1
  • 2
  • In your first Q&A link, there is a screenshot with `dir > lpt1` This redirects a directory listing to LPT1. Have you tried that or something similar to ensure that it is/is not the application itself rather than a DosBox-to-hostOS issue? A lot of times, DOS applications would try to handle RAW output and so it may be that the extra EOL is coming from the printing routine. Also, check your printers port settings for RAW mode or try print to file. – Yorik Sep 09 '15 at 16:36

1 Answers1

1

You need to trick the application in thinking there is a LPT1 port

  1. The printer that is on USB you need to share it. Call it "printer".
  2. Start DOS
  3. Prior to running old DOS application type following:

    net use lpt1: \\127.0.0.1\printer /Persistenst:Yes

  4. Start old DOS application

This will redirect the LPT1 port to the share and print to the USB printer. You can put this in a script to prior to starting the application.

GeekyDaddy
  • 418
  • 2
  • 7