Printing from old, DOS based software

Posted on 2014-01-16
Last Modified: 2014-01-27
A client has an old DOS based software. We have it running in XP Mode for the most part and it is still working. So far we had a LaserJet 4050 setup using a PCI LPT card in one computer and the printer is shared. In XP mode the printer is mapped via net use LPT1 "\\computer\printername" and it works.

Now we had the request to make another printer available, a Lexmark T632, since there are slowness issues. The Lexmark is a network connected printer and we have installed the printer in XP mode and then created the same net use setup by mapping LPT2 to localhost.

We have been doing extensive research and I have been trying to learn the old software, and eventually came accross a printer setup menu, however, I am not entirely sure what "pitch codes" are, and whether they are unique to a printer and if so where to obtain them.

Please see the attached screenshot for reference. I remember a lot from my MS-DOS days, but pitch codes is a new one.
Question by:EMJSR
LVL 92

Assisted Solution

by:John Hurst
John Hurst earned 150 total points
ID: 39787392
The codes are to print 10 characters per inch (courier monospaced) (Ten pitch) and (normally) 16.67 characters per inch (condensed pitch). They are the codes sent out to set or change pitch.

They are not necessarily unique but different printers can use different codes.

The codes are normally supplied by the software to set its print style. I have not seen them as user codes.  

.... Thinkpads_User

Author Comment

ID: 39787398
Hm. That makes sense. I guess I will have to make the changes in the live environment eventually and see how it goes.
LVL 43

Assisted Solution

by:Steve Knight
Steve Knight earned 200 total points
ID: 39787718
As long as that printer supports PCL emulation it will work frankly.  the 15 and 18 codes for printer above are older codes used by Epson compatible dot matrix printers typically.

I have a reference here on my site of what the codes do:

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

LVL 38

Assisted Solution

hdhondt earned 150 total points
ID: 39787960
I agree with dragon-it: any PCL5 printer will probably work fine here.

However, according to the data sheet, the T632 has "PostScript 3 emulation standard, PCL 6 emulation standard". Neither of these bear any relationship to PCL5 - although PCL6 printers should also support PCL5. This would be the first one I've heard of that doesn't.

If it doesn't, and you need to use that printer, I recommend DOSPRN. It takes the output from the DOS program and feeds it through the Windows printer driver. That lets it print output from DOS to any printer, regardless of its type.
LVL 43

Expert Comment

by:Steve Knight
ID: 39788549
And worst case scenario, you can set the printer default font on it;s front panel or web interface to a suitable sized fonts and just get the DOS app to send text to it and it will use that font...
LVL 16

Expert Comment

ID: 39790708
Just to agree with and add to the comments already made by thinkpads_user, dragon-it and hdhondt:

The sequences which start with decimal code 027 (hexadecimal 1B), which is the (non-graphic) control-code Escape character (usually represented by <Esc> or <esc>) are:

<Esc>(s10H        Primary Font: Pitch (10 characters per inch)

Open in new window

<Esc>(s16.66H     Primary Font: Pitch (16.66 characters per inch)

Open in new window

which are both fairly common PCL5 escape sequences.

Note that these sequences are only relevant if the current font (as selected via PCL5 sequences, or defaulting to the one selected via the printer front panel or equivalent) is a scalable fixed-pitch font (e.g. Courier or Letter Gothic); most LaserJet fonts are proportionally-spaced (e.g. Arial, Times, Omega, Univers) and the pitch sequences have no effect on these fonts).

The decimal 18 (hexadecimal 12) code represents the Device-Control-2 (<DC2>) control-code character; this is not a PCL5 control code.

The decimal 15 (hexadecimal 0F) code represents the Shift-In (<SI>) control-code character, which is used within PCL5 to select the Primary font (when switching between selected Primary and Secondary fonts).
LVL 43

Expert Comment

by:Steve Knight
ID: 39790974
The 18 and 15 are for old ESC-P2 Epson codes.  ascii 15 was for condensed

Expert Comment

ID: 39801026
For the Lexmark T63x / old T Series printers you will find the technical reference, explaining the languages to control the printer at

Basically those printers support PCL5, PCL XL and PS and if explicitly activated even PPDS (Proprinter Datastream)

When you download the Technical Reference, have a look at page 2-38 where fonts, pitch etc, in general are described. Futher down at 2-60 the font control codes are explained and when you look at 2-62, you will find exactly the one sequence you have in your graphic of your setup window of the DOS program.

Mostly you can configure the printer to use PCL as it's default printer language and you can define inside the Configuration / PCL Emul Menu what Symbol Set, Pitch, Font etc, shall be used. So, basically, I'd expect to be mostly compatible to what you have configured for the HP, eventually you can switch the mode (there is "forward" and "backward" compatibility mode for the PCL fonts, as well explained in the reference manual.
Hope this will provide all necessary information you need.

Accepted Solution

EMJSR earned 0 total points
ID: 39801043
Thank you for everyone's input. I managed to get the issue resolved. I used the PCL5 drivers that is designed for XP (since the application is now being run in XP Mode due to its age). Additionally I configured it in the DOS software and then created a local share of the printer within XP Mode which I could then map to LPT2 (via net use). That allowed printing to work. DOSPRN wasn't even required.

It's always a little bit of a game of chance with older software. I will try and assign points fairly!

Author Closing Comment

ID: 39811509
Client testing lead to the solution. All the input definitely helped a lot though!

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using dates in 'DOS' batch files has always been tricky as it has no built in ways of extracting date information.  There are many tricks using string manipulation to pull out parts of the %date% variable or output of the date /t command but these r…
Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now