Beginning with version 1.29, Kent Dickey's KEGS Apple IIgs emulator offers the option of configuring each of its two (2) Apple IIgs emulated serial ports to connect (as a client) to a TCP/IP server by specifying the server's IP address and port number.
While this new feature can be employed for several purposes, its primary use is for Direct Serial-to-IP Printing, which enables applications running on the emulated Apple IIgs, both under 8-bit DOS 3.3 and ProDOS 8 and also under 16-bit GS/OS, to print jobs to either of the emulated serial ports and then have KEGS forward those jobs over TCP/IP for direct printing on a network printer available to the host machine.
KEGS automatically performs the serial-to-IP conversion and manages the TCP/IP connection to the printer server contained in that network printer.
The result is that printing from the KEGS emulated Apple IIgs to a network printer mimics printing from a real Apple IIgs to a printer connected directly to one of its real serial ports, or in some cases, to an AppleTalk printer connected to an AppleTalk/LocalTalk port on the Apple IIgs.
Unlike the printing solutions offered by some other Apple II emulators, KEGS forwards print jobs directly to the printer from the Apple II, with no intervening filtering, print format conversion or user interaction.
The foremost requirement for using the Direct Serial-to-IP Printing feature in KEGS is having a network printer available to the host machine that supports a printer page description language that the Apple IIgs 'speaks.'
Most modern network laser printers will interpret at least one, and usually several, page description languages, including ones that applications on the Apple II can generate. Moreover, most multi-language printers also support 'auto-switching', which allows the printer to examine each incoming job, automatically recognize the language used and then use that language to generate the page.
The two (2) most common page descriptions languages built into modern network laser printers are:
In addition, some modern network inkjet printers also support these two (2) page description languages.
NOTE 1: Configuring the printer to 'Auto-Switching' mode allows printing from both ProDOS 8 applications, which typically send PCL (or ASCII text), and from GS/OS applications, which typically send PostScript, without requiring user intervention when changing languages.
NOTE 2: On the very low end of the price scale (less than $125 street price) are printers that contain no real internal printer language, nor built-in fonts, and require for the printed image to be built on the host machine and then sent to the printer as rendered graphics. This type of printer typically claims that its page description language is 'PCL3 GUI', which is not to be confused with the much more capable 'PCL 3.' This language does NOT support Apple II printing.
Hewlett Packard PCL (and emulated versions)
The first common built-in page description language, called here simply 'PCL', supports printing straight ASCII text characters from Apple II applications that generate text output, such as most DOS 3.3 and ProDOS 8 BASIC apps, most DOS and ProDOS 8 machine language apps, and even some GS/OS apps that print output as ASCII text such as ProSel 16. {Note: DOS 3.3 applications usually print ASCII with the high bit set, so tell KEGS to mask off the high bit in the Serial Port Configuration settings}.
PCL, though, is not limited to printing straight unadorned ASCII text in a single font and size. PCL printers contain numerous built-in fonts, and PCL allows using multiple fonts, special characters, vector graphics, and bit-mapped graphics in a print job.
Some Apple II programs are able to take advantage of these extra capabilities of PCL, including the 8-bit AppleWorks 3/4/5, which contains two PCL printer drivers -- one called 'DeskJet 500 Portrait', and the other 'DeskJet 500 Landscape.'
Also able to use the PCL page description language are most GS/OS Desktop programs, provided one of the PCL drivers included in the 'Harmonie' printer driver package from Vitesse is selected. Those drivers were written by 'Burger' Becky Heineman for Vitesse back in the early 1990's.
Concerning the Harmonie PCL drivers for use when printing from GS/OS applications -- included with the files on the disk image referenced below are two of the Harmonie PCL drivers -- one called LaserJetIII.HAR, a PCL black and white laser printer driver, and one called DeskJet500C.HAR, a PCL color inkjet / color laser printer driver.
Installation and selection of either one of these Harmonie PCL drivers is the same as it is for installation of the DCPostScript driver, which is discussed below.
Adobe PostScript (and emulated versions)
The second common built-in page description language is 'PostScript', a very sophisticated page description language designed from the start to generate complex graphics and text. PostScript was the page description language that Apple selected for its LaserWriter printers in the 1980's to support the desktop publishing applications that it promoted for its Macintosh line of computers.
Apple also offered the LaserWriter printer for use with its Apple II line of computers. As a result, Apple wrote a PostScript printer driver for the LaserWriter to be used from GS/OS desktop applications on the Apple IIgs. The driver generated very-high quality black and white text and graphics from the Apple II, and was also lauded for its compactness and speed when compared to drivers for other page description languages.
Unfortunately, the LaserWriter driver that Apple supplied for GS/OS required that the Apple IIgs and the LaserWriter be attached to an AppleTalk network, which drastically limits its usefulness with modern network printers that have generally have no support for AppleTalk.
Moreover, the LaserWriter driver that Apple supplied, even if used from GS/OS to print to an AppleTalk capable printer, had trouble communicating with non-Apple branded printers and later versions of both genuine and emulated PostScript.
Fortunately, a driver based on the original LaserWriter driver that overcomes these limitations is available. It works well when printing from GS/OS applications from a 'real' Apple IIgs connected to a non-AppleTalk modern PostScript printer, and it works well with KEGS when printing directly to a network printer that supports the PostScript page description language.
It is called the Direct Connect PostScript Printer Driver (DC.PostScript) and it is included in the files on this disk image. {See Direct Connect PostScript Printer Driver for a more complete discussion of this driver}.
To use and select the DC.PostScript driver from the KEGS emulated Apple IIgs, first copy the driver to the /System/Drivers directory on the startup volume.
Next, copy an appropriate serial port driver to the same directory. Included in the files on this disk are serial port drivers for both Slot 1 and Slot 2, in speeds ranging from 57,600 baud to 230,400 baud. KEGS seems able to use the 230,400 baud driver without problem, you may wish to choose it to start.
Finally, restart the emulated Apple IIgs, select the Apple menu in the upper left corner of the Finder desktop and then choose Control Panels. From here, open the DC Printer control panel and under 'Select a Port' select the appropriate port driver (e.g. Port1Dvr230400). Then under 'Select a Printer Type' select the appropriate printer driver (e.g. DC.PostScript).
NOTE: the 8-bit ProDOS 8 application 'PublishIt!4' also will print to a PostScript-capable printer. It is not necessary to have any GS/OS driver selected in this case, as PublishIt!4 includes its own PostScript driver. Also, when printing PostScript from the PublishIt!4 application, it is suggested that the dedicated PostScript mode be pre-selected on the network printer (not auto-switching) because PublishIt!4 deviates slightly from the industry standard in how it sends its PostScript code.
KEGS must be configured to enable Direct Serial-to-IP Printing.
To accomplish this, first access the KEGS Configuration Menu via the 'F4' key and then select the 'Serial Port Configuration' sub-menu.
You will need to know the IP address of the network printer you will be using.
NOTE: It is suggested that you configure your network printer with a static IP address so that the address you enter into KEGS will not change. For example, a common IP address for a network printer attached to the local computer network is 192.168.1.170.
In the 'Main Setting' field for your choice of Slot 1 or Slot 2, choose 'Use Remote IP below.'
In the 'Remote IP' field enter the IP address of your printer.
In the 'Remote Port' field enter '9100.' This is the port on most network print servers accept 'RAW' unfiltered print jobs.
Hit the
After years of using both Bernie ][ the Rescue on PowerPC Macs and GSPort under Windows 10, I find that Kent Dickey's KEGS Apple IIgs emulator has become my preferred emulator on both MacOS and Windows, particularly since Kent added his direct IP printing feature.
Download Kent's Emulated GS (KEGS) - Sourceforge Page
Download either an archived (ShrinkIt) '.shk' file, or a ProDOS disk image '.po' file.
Either will contain not only the Direct Connect PostScript Printer Driver, but also two PCL printer drivers from the Vitesse Harmonie package, several high-speed GS/OS serial port drivers and a 'ReadMe' file.
Download KEGS Direct IP Printing Support Files (ShrinkIt Archive)
Download KEGS Direct IP Printing Support Files (ProDOS disk image)
See the Home Page for other AppleWorks and Apple II related items, as well as software for MacOS / Mac OS X from both Hugh Hood and Mark Lim that enables one better to interact with Apple II content, disk images and archives:
This information may be freely distributed and posted elsewhere without charge or other permission.