The Direct Connect PostScript Printer Driver [DCPPD] is a moderately patched version of Apple's LaserWriter Printer Driver that allows a user of Apple IIgs GS/OS Desktop software to print directly to any PostScript-capable printer, and unlike Apple's Driver, requires none of the following:
A PostScript printer can now be connected to the Apple IIgs via either built-in serial port (Printer or Modem), via a parallel printer card, or via an Uthernet TCP/IP card. The latter is important because while not many modern printers still include a serial or parallel interface, almost all modern network printers have an Ethernet TCP/IP connection.
This new driver is a moderately patched version of Apple's LaserWriter printer driver released as part of GS/OS System 6.0.1 in May of 1993.
The patches, detailed below, free Apple's standard LaserWriter driver from being used exclusively on an AppleTalk network with a printer supporting the AppleTalk/EtherTalk protocol on an AppleTalk interface, and include changes to the generated PostScript code to provide better compatibility with Level 1, Level 2 and Level 3 PostScript printers, with printers utilizing automatic emulation switching (e.g. receiving and discriminating between both PostScript and PCL jobs), and with printers from manufacturers other than Apple, whose variant or emulation of the PostScript language may differ from Apple's.
Unlike Apple's LaserWriter driver, which requires the user to select the AppleTalk port driver in the Net Printer Control Panel, the Direct Connect PostScript Printer Driver is selected in the Direct Connect Control Panel and allows the selection of any of several printer port drivers, including, but not limited to, the following drivers, all of which were tested:
The Apple Port Drivers are included with GS/OS System 6.0.1 and are available here on Alex Lee's site:
The Vitesse Port Drivers are included with the Harmonie print utility and are also available here on Alex Lee's site:
The TreeHugger TCP/IP RAW Port Driver was written by Daniel Krüe and is available here:
I do offer the following comments regarding some of the port drivers:
The Uthernet Link Layer was written by Ewen Wannop and is available here, alongside his vast library of outstanding software written for GS/OS:
Uthernet Link Layer Version 1.0.4
The Marinetti TCP/IP Control Panel is maintained by the Marinetti Open Source Project and is available here:
Marinetti TCP/IP Control Panel
The GSPort Apple IIgs emulator is maintained by David Schmidt and is available here:
Finally, since the Direct Connect PostScript Printer Driver is uni-directional and not bi-directional, it does not query the printer for information regarding its built-in fonts nor its status. This is advantageous not only because it eliminates communications errors that might occur due to timing issues between data requested and data received by the driver, but also permits print jobs successfully to be sent over a uni-directional communications path, such as with slot-based parallel printer cards.
To select the Direct Connect PostScript Printer Driver, open the DC Printer Control Panel. Then in the Select a Port box choose a compatible Port and in the Select a Printer Type box select DC.PostScript and close the Control Panel window.
The driver should work with any program that uses GS/OS desktop printing, that being programs containing menu-based File -> Print... and File -> Page Setup... dialog boxes.
Some of the programs with which the Direct Connect PostScript Printer Driver has been successfully tested include:
This list is not exhaustive.
One exception, however, is the popular program Print Shop GS, which does not employ standard GS/OS desktop printing, but rather has its own printer drivers, concentrating on supporting the dot-matrix variety. Thus, it contains no driver to support PostScript printing. One workaround might be to persistently download a specially-modified copy of Apple's ImageWriter Emulator (IWEM) beforehand to the PostScript printer, and then to specify that the Print Shop GS is to print to an ImageWriter printer. This workaround is offered untested, however.
So, in general, to print from a GS/OS desktop application to a PostScript laser printer using this driver, first select File -> Page Setup... to enter the Page Setup Dialog window:
Notice that the Vertical Sizing option has been set to Intermediate by the driver, as this setting has proven to render the most accurately-sized text when printed on a modern PostScript printer.
Feel free to change the Vertical Sizing along with the Paper size, Orientation (portrait vs. landscape), printer effects (Smoothing and Font Substitution) and scale to suit your preferences. For example, documents composed in the AppleWorks GS application show the best fidelity when printed with the Vertical Sizing option set to Condensed.
Next select File -> Print... to enter the Print Dialog Window:
Here, specify the pages to be printed, along with the number of copies and whether the job will be sourced from the printer's paper tray or from its manual feed.
Finally, know that just like the case with the LaserWriter driver, instead of sending the print job directly to the printer, you may save the PostScript print job to a file in the System/Drivers folder on the boot disk. This is done by pressing <Command-F> at the same time you click OK. This file will be a $04/TXT file saved in the System/Drivers folder with a name in the form PostScript.GSnn.
Be aware that this shortcut is not always recognized on IIgs emulators running at very high speed. In that case, you may wish to (i) slow your emulation speed down and try again, (ii) use the Vitesse Harmonie port driver FilePort [a $06/BIN file saved in the folder of the current application with a name in the form PrintDump.nnnn], (iii) use the patched version of FilePort, called PS.FilePort, and included with the downloads below [a $04/TXT file saved in the folder of the current application with a name in the form PScptDump.nnn], or (iv) use a different printer driver altogether, such as Eric Shepherd's SweetPrinter PostScript driver from his Sweet16 Apple IIgs emulator, which automatically saves the file to the System/Drivers folder without requiring the <Command-F> shortcut.
The Direct Connect PostScript Printer Driver patches Apple's LaserWriter driver in several areas. Among them are:
To install it, merely copy (or drag) the file 'DC.PostScript' (with FileType $BB and AuxType $0001) to the 'SYSTEM/DRIVERS' subdirectory on your boot disk and restart GS/OS. That's all.
To uninstall it, merely delete (or drag to Trash) the file 'DC.PostScript' (with FileType $BB and AuxType $0001) from the 'SYSTEM/DRIVERS' subdirectory on your boot disk and restart GS/OS. That's all.
If you have any questions about any of this, or suggestions for improvements, please post them in comp.sys.apple2 with the subject 'Direct Connect PostScript Printer Driver'. This will allow for idea exchange and improvements.
1. Direct Connect PostScript Printer Driver - [Version vD33]
First Public Release - February 18, 2021
2. Direct Connect PostScript Printer Driver - [Version vD34]
Minor Update - May 21, 2021
Once again I express my thanks to Ewen Wannop for conceiving and writing his superb GS/OS Desktop utility programs, those being the disassembly program 'BrkDown', and the file byte viewer and editor 'ChewBagger'. The ability of both programs to understand and work with OMF multi-segment files made the job of understanding and patching the LaserWriter driver much, much simpler than it otherwise might have been.
Next, I thank long-time Apple II guy Geoff Weiss for both his 'PostScript Printing on the Apple IIgs' presentation from KansasFest 2018, and his article in the March 2019 issue of Juiced.GS - Tech-torial: Laser Transmutation
I incorporated his version 3.4b improvements to the LaserWriter driver PostScript GSDict code and included them in the Direct Connect PostScript Driver. See his driver here: Geoff Weiss' LaserWriter 3.4b driver
I am also grateful for the work of the unnamed kind souls who obtained and released the original source code (in MPW/ORCA format) for the LaserWriter Driver, and who continue to this day in their efforts to update GS/OS System 6.0.1.
Without reviewing and studying Apple's commented source code itself, I doubt that I would have invested the time required to develop a patched version of the driver. Had I been more familiar with the MPW/ORCA assembly process, and had the tools in place to use it, I might have just built the Direct Connect PostScript Printer driver from the modified source. But, being a Merlin32 guy, I decided it was just simpler to patch the existing driver on the byte level.
Finally, I must mention that I have no idea whether many in the Apple II community will find this patched driver useful. I know I have. For almost 30 years I have had a PostScript-capable printer on my desk right next to my Apple IIgs, and until now, I was never able to print to any of them from my GS/OS Desktop programs. That problem is no more!
Not only is PostScript output better in quality than are the dot-matrix and bitmapped graphics styles produced by other IIgs printer drivers, the code is also much shorter, which makes printing times much speedier.
The downloads consist of both an archived (ShrinkIt) '.shk' file and a ProDOS disk image '.po' file.
Each file contains not only the Direct Connect PostScript Printer Driver, but also a short 'ReadMe' file.
Visit my home page for other offerings, including The AppleWorks InitPack, TimeOut Edit BASIC, and AppleIIWorks Envoy (for Mac OS X).
See them here:
The Direct Connect PostScript Printer Driver, being but a patched version of Apple's LaserWriter Driver, is not my original work. I can therefore neither authorize nor prohibit its redistribution.