The OS/2 Files

Main text

Printing

1. Hardware

The last years saw both a dramatic increase in printing quality and decrease in price. Even very low-cost printers offer a minimum resolution of 600dpi or 720dpi today and as soon as you are willing to spend a bit more 1200 or 1440 dpi are the standard, and all this in nice colors. While it certainly is a Good Thing(tm) to be able to print with photo quality there is a price you have to pay. And as you don't do it with money the printer manufacturers decided to get the price by reducing the functionality of the printers' hardware resulting in so-called GDI printers. The missing functionality is then taken over by the printer drivers, meaning that your computer has to handle it and thus the CPU load increases much during the printing process. For example it has been reported by several people that a Lexmark Z51 will simply block your system while printing unless your machine is equipped with a AMD K6/Intel Pentium 400 class CPU.

2. Drivers

As with other kinds of hardware, printer driver support for OS/2 is a bit critical. While IBM itself offers own drivers for most printers at their site Device Driver Pak Online most of those drivers for inkjet printers are restricted as far as functionality and printing quality are concerned. An exception are printers by EPSON and Lexmark, beginning with lower mid-class models. For these the manufacturers provide own OS/2 drivers that are well able to compete with their Windows counterparts in terms of functionality and quality.

3. Printer access

If the printer is connected to the parallel port, a good way to speed up printing in general is to edit the CONFIG.SYS file. Find the line that says

BASEDEV=PRINT01.SYS

Now edit it so that it reads

BASEDEV=PRINT01.SYS /IRQ

This dedicates an IRQ number to the printer, instead of polling for free IRQ numbers, which is much faster. You can also specify the IRQ directly by using /IRQ:x.

Edit your CONFIG.SYS file and find the line that says

PRINTMONBUFSIZE=134,134,134

The 134 represents a print buffer (like a cache) in bytes, one each for LPT1 through LPT3. Change the first 134 to read 2048 if you are only using LPT1. Reducing the values for LPT2 and LPT3 has no effect as 134 is the minimum used. If your machine hasn't much free RAM left try 1024 instead of 2048.

4. Spooler

If you are in dire need for more memory and you are using your printer to print only one thing at a time, or don't have a printer, then you can save some memory by disabling the print spooler. Go into your OS/2 system folder and go to System Setup. In there you will find the Spooler icon. Right click on this icon to bring up it's menu, from which you can disable the spooler function.
WARNING: Disabling the spooler will pretty much prevent you from multitasking while the printer is doing its job. If you're printing a large document you can go and make yourself some cups of coffee! So you'd better only disable the spooler if you really need the additional RAM.

You can influence the spooler's behaviour by adjusting its print priority. Lowering the priority may make your machine more responsive during printing while increasing it will speed up the printing process. Changes become effective on closing the object. The effect very heavily depends on your printer and its driver, so you should experiment a bit.

By default the spoolpath, i.e. the directory where the spooler saves temporary files, is placed on the bootdrive. The temporary files can get very large, so you should assign a drive with enough space going to the Spoolpath tab of the Spooler object.

5. Printing from Win-OS/2

When printing from Win-OS/2 keep the Win-OS/2 printmanager disabled, i.e. closed, unless you use a printer connected to a COM port. Choose LPTx.OS2 as printer port instead of LPT1. This will direct the printer output to the OS/2 spooler and ensure that printing is done in a seperate thread.