WARNING: The binaries here are generally considered to be safe, but I cannot guarantee them to be free from tampering and malware. Further, the software contained therein may have unforeseen issues which can risk damage to your computer or printer, especially when used with -dUNSAFEMARGINS. Use at your own risk.
These binaries are intended exclusively for authorized testers. Please, as a courtesy to me (and also to avoid licensing violations), do not redistribute these binaries to others, nor share this website without contacting me first.
You’ll need to be comfortable issuing commands and specifying file paths in a command-line environment in order to use this software, as well as having one of the supported printers connected to a Linux, macOS or Windows based computer. (VMS and others may work also, but are untested.)
For those new to ghostscript, it is a legendary application for handing, converting and rendering Adobe PostScript and Portable Document Format (PDF) files. Among drivers for numerous other printers is user community contributed support for all of Apple’s dot matrix printers (at least) that goes back to possibly 1988. The old driver worked and was updated over the years, but had some problems and was only monochrome. I have improved and enhanced and colorized the driver and hope you enjoy! Please make sure to let me know right away of any questions or concerns!
Eventually, this updated driver is likely to be included with ghostscript. For now, however, in order to use the version ][ release candidate driver you must either compile ghostscript with the sources available here or you can also obtain below a precompiled binary with the updated driver built-in.
Download this file into the root of the source tree directory created after you extract the ghostscript source archive and extract the contents, overwriting the original source files with the gdevadmp-][ release candidate.
Note: you must use one of the -contrib build profiles (which add WITH_CONTRIB=1 to the build toolchain arguments) when building on Windows, in order to include gdevadmp-][ release candidate. (Other platforms tend to have WITH_CONTRIB=1 by default.)
If you need more instructions...
Compiled on Ubuntu 23.04.3 LTS with Linux 5.15.153.1-microsoft-standard-WSL2 and without X.
Built with macOS High Sierra 10.13.6 (x86-64). Due to bugs in that EoL operating system's compiler toolchain, these binaries may be less safe to run than the Linux and Windows binaries that were built on up to date systems.
Built with Visual Studio 2022, using unmodified project files (other than the files listed above) from the release sources tarball.
The Apple Dot Matrix Printer is parallel and its configuration is not covered here, due to the author’s ignorance of parallel ports. (If you have an Apple DMP or are familiar with parallel ports, please feel free to send the relevant configuration command(s) for inclusion.) For ImageWriter users, you’ll need to configure your serial port for 9,600 or 19,200 baud (depending on printer model), no parity, 8 data bits, 1 stop bit and hardware flow control. For example (for an ImageWriter LQ on UN*X – untested):
stty -f /dev/$tty 19200 crtscts cs8 -cstopb -parenb
or (on Windows):
mode %PORT%: baud=19200 parity=n data=8 stop=1 octs=on idsr=on odsr=on
Also, you’ll need to configure the printer(s) for the same (possibly by adjusting DIP switches) and also for carriage returns and line feeds for new lines. You’ll need a cable wired for hardware flow control, also.
To briefly test the connection between your printer and your computer after configuration, you may run a command like the following after loading some paper and a ribbon (on UN*X):
echo "Hello World. The sun is shining." > /dev/$tty
or (on Windows):
echo "Hello World. The sun is shining." > %PORT%:
Briefly, select your ghostscript device name (rightmost value) from this list:
Then:
executable -sDEVICE=devicename -q -dBATCH -dNOPAUSE -sOutputFile=outputfile.devicename -f inputfile.ext
Where executable is your ghostscript executable (the name varies by platform), devicename is the ghostscript device name from the list above and also the output file devicename. inputfile.ext is your input file (PostScript or PDF.) For example (on UN*X):
./gs -sDEVICE=iwlqc -q -dBATCH -dNOPAUSE -sOutputFile="/path to/outputfile.iwlqc" -f "/path to/inputfile.pdf"
or (on Windows):
.\gswin64c.exe -sDEVICE=iwlqc -q -dBATCH -dNOPAUSE -sOutputFile="C:\path to\outputfile.iwlqc" -f "C:\path to\inputfile.pdf"
Then send the output file to your printer’s serial port (on UN*X):
cat "/patho to/outputfile.iwlqc" > /dev/$tty
or (on Windows):
print /D:%PORT%: "C:\path to\outputfile.iwlqc"
Note that it’s probably possible to print directly to the printer from ghostscript by specifying your COM port or TTY line with the -f flag, but that has not been tested.
The type on this page is set in ImgWriter Pica, by John H. Isles (QXZ), under the Creative Commons Attribution, Non-commercial and No Derivatives license. This page (but not the software contained herein -- excepting any page associated JavaScript) is Copyright 2024 (or possibly other years) by Josh Moyer, with all rights reserved.