NODOMAIN.NET Terms of Service

TLDR; By selecting this option I agree to the requirements that I share my information and waive my rights as explained below. Selecting this option will reveal the site's content and dismiss these Terms, which can be subsequently viewed and opted-out of at any time by visiting NODOMAIN.NET and selecting Terms from the navigation chevron.

NODOMAIN.NET (a not-for-profit and voluteer-run organization) Terms of Service are different than those of most websites. In order to access NODOMAIN.NET services, you must agree a) to our use of your Shared Information, b) to waive the below rights which may be available to you in your jurisdiction and c) to abide by and honor our Terms of Use by checking each of the 5 boxes below. If you can not or do not agree, then you may not use or access NODOMAIN.NET systems or services and must leave immediately.

Shared Information

Information that you choose to share with NODOMAIN.NET for processing and collection:

What NODOMAIN.NET uses your information for:

How NODOMAIN.NET shares your information and who gets to see it:

I consent to the collection and use of my Shared Information.

Notice and Waiver of Rights and Idemnification

In the event that your Shared Information is compromised, you agree to a) waive the right to be notified of the breach and b) to waive any claims of liability or damages that may result from the breach.

I waive my right to be informed of data breaches and agree to indemnify NODOMAIN.NET from liability and damages that may result.

NODOMAIN.NET will not make acessible to IP packet originators their archived packets. It is the responsibility of the originator to archive their packets at the time of origination and also to be aware of their contents.

I waive my right to access and review my Shared Information that is stored on NODOMAIN.NET systems.

NODOMAIN.NET reserves the right to delete your Shared Information from its systems at its sole discretion.

I waive my right to be forgotten or erased.

Other Terms

By accessing NODOMAIN.NET systems and services you also agree to abide by the following additional terms:

I agree to abide by and be subject to these Terms of Use.

Copyright 2019-2024, NODOMAIN.NET of Seattle (Salish lands), County of King, Washington State (with POPs in Oregon and California), United States of America, Planet Earth. All rights reserved. All trademarks and tradenames are the property of their respective holders. Revised January 2020. Contact us.

gdevadmp-][: the (color!) ghostscript printer driver for Apple's dot matrix printers

WARNING: Any binaries here are generally considered to be safe, but I cannot guarantee them to be free from tampering and malware. Further, the software herein may have unforeseen issues which can risk damage to your computer or printer, especially when used with -dUNSAFEMARGINS. Use at your own risk.


Table of contents

Introduction

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!

This updated driver is included with ghostscript 10.06.0 and later. A precompiled Linux binary is avaiable from the official download site. Windows users must compile from source with the "-contrib" option. (I may make a precompiled Windows binary avilable here in the future.)

Documentation and Credits

Compiling

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-][. (Other platforms tend to have WITH_CONTRIB=1 by default.)

  1. Get the ghostscript source.
  2. Pass WITH_CONTRIB=1 to the build toolchain.
  3. Run the executable with -h and look for appledmp, iwlo, iwlow, iwhi, iwhic, iwlq and iwlqc. If you see them, you’re good to go!

If you need more instructions...

Configuration

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 and configuration), no parity, 8 data bits, 1 stop bit and hardware flow control. For example (for an ImageWriter II on UN*X – untested):

stty -f /dev/$tty 9600 crtscts cs8 -cstopb -parenb

or (on Windows):

mode %PORT%: baud=9600 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%:

Printing

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 (color ImageWriter II print on UN*X):

./gs -sDEVICE=iwhic -q -dBATCH -dNOPAUSE -sOutputFile="/path to/outputfile.iwhic" -f "/path to/inputfile.pdf"

or (on Windows):

.\gswin64c.exe -sDEVICE=iwhic -q -dBATCH -dNOPAUSE -sOutputFile="C:\path to\outputfile.iwhic" -f "C:\path to\inputfile.pdf"

Then send the output file to your printer’s serial port (on UN*X):

cat "/patho to/outputfile.iwhic" > /dev/$tty

or (on Windows):

print /D:%PORT%: "C:\path to\outputfile.iwhic"

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.

License

AGPLv3 Logo

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-2025 (or possibly other years) by Josh Moyer, with all rights reserved.