Tuesday, February 4, 2014

Rambling 2014/6 - DOSEMU and the USB-LPT printer

Setup

DOSEMU on a Xubuntu, running an MS-DOS application, that would like to print to LPT1. All fine, but what happens if you don't have a parallel port on that PC?

Details

We happened to have a Xubuntu machine and an old Epson LX-300, but the PC did not have any LPT ports. So the only way to connect them was via an USB-LPT connector. With that inline, the system did see the Epson and printed anything.
However, the old MS-DOS application that runs in DOSEMU did not print anything. In fact, it printed but the bytes did not get to the printer.

Solution

The solution was hacking DOSEMU config (/etc/dosemu/dosemu.conf)
In the section "Printer and parallel port settings" there are several lines of lpr blahblah command, all commented out. Take the first one and edit it to include the name of the printer (you can find it on the CUPS config webpage localhost:631), right after the -P option. So the line now looks like:
$_lpt1 = "lpr -PEpson-LX-300+"
Save it and collect all acknowledgments :)

1 comment:

  1. Hi, I've tried this and it works fine, except in my case box-drawing characters don't print correctly. The character set is apparently not converted correctly, and accentuated characters come out instead of the lines. Any ideas how to correct this?

    ReplyDelete