PCL3 printers under VMS - Squaring the circle     (Or: Is he completely nuts now ?)

Never again !

... anything else but Postscript

Now that it had happened the old fax paid its debt to nature, a replacement had to be procured. It was the era when the first all-in-one machines became affordable. The prospect of being able to do coloured printing, copying and faxing as well as scanning seemed to be enticing... A HP PSC2510 was purchased - being well aware of the fact that printing from a VMS machine speaking Postscript would be difficult with a PCL3-oriented output device from the PC world.

But the device neither copied, nor faxed nor printed after unboxing it. The culprit obviously wasn't VMS but HP, say their insufficient final inspection of the device - it wasn't possible at all to power it on. A first visual inspection revealed that the display wasn't inserted correctly and that the device's top cover was mounted correctly neither.

To avoid bad curses, I refrain from a description of the disassembling process. Inside the device a ribbon cable was found which obviously belonged to the display but wasn't connected to it - because it was too short for the incorrectly mounted top cover. Hence both the top cover and the display were installed correctly, the cable was plugged in and... voila: The device awoke !

HP PSC2510

Since copying and faxing doesn't require a computer, these functions didn't need any attention... But scanning and printing... What is one expected to do with a CD containing Windows and MAC software in a VMS environment ?? And what is "software" meant for a printer good for at all ? This didn't fit my VMS-biased understanding of printer queues and related setup modules...

The initial challenge

was embedding the PSC2510 into the home network. Ridiculously enough, it wasn't possible to teach the printer a suitable IP address via its own keypad. This required a network cable and a browser to do this remotely, which required a temporary change of the network's address space (10.x.x.x simply won't talk to 192.x.x.x). Wonderful...

Having accomplished this less complicated (but superfluous and cumbersome) exercise of embedding the device into the network, also the issue of scanning was solved - the PSC2510's webserver provided for scanning via HTTP and a browser.

The next challenge

was a real one neither - at least not at first glance... since printing plain text files worked out of the box using FTP. Hence a queue was set up and printing also worked this way - but then... the printer had a completely different understanding of national characters than VMS and its multinational characterset ! I once had heard of "codepages" ... this hurdle was taken elegant by making use of VMS' ICONV utility. The usage of the latter is described in the instructions linked below (see incorporated command file).

The ultimate challenge

was printing pictures, say binary data. After just a little research and a few attempts which failed miserably, it took almost a whole year until I dived into this issue seriously.

Ghostscript (an application meant to display, process and convert Postscript data) was chosen as a point to start this project from. Since there were no Ghostscript images available for my IT environment and the sources refused to compile in VMS-land, I had to obtain a 'make'-like tool first. MadGoat's MMK (which is pretty similar to DEC's Module Management System) seemed to be a good choice - unfortunately, this one also had to be installed and configured.

MMK was presented with Ghostscript then and of course Murphy was around. The usual suspects... wrong or missing references for this compiler's version or some odd declarations... Some related modifications were applied to the code and eventually the compiler indeed produced a Ghostscript image which was able to turn PS into PCL3 - unfortunately, the printer wasn't very pleased with the data. It produced images looking like taken from a newspaper dating as of 17th of November 1858...

It took several further nightshifts until Postscript could be turned into fully useable PCL3 and satisfying printouts on the PSC2510.

Additional module (gdevcd8.c) for Ghostscript