Third party dot matrix impact printers need to receive a Carriage Return within
a control code in order to set print densities to certain values.
Unfortunately, when a CR is sent from an Apple IIc or a Super Serial Card, the
interface automatically sends a Line Feed as well. Temporarily turning off the
interface's automatic LF can be done with a Control-I K. To turn automatic LF
back on, use Control-I L.
The problem is, these characters may be ignored by the interface and
sent to the printer instead.
There are other ways of getting back to default conditions on a printer,
such as sending a 'RESET' code, or turning off/turning on the printer.
The problem with this is that some printers take a long time resetting.
This can be noisy and sometimes very time consuming, especially if done
often.
Here is why this happens (and a solution):
The Super Serial Card (and its Apple IIc serial port equivalent) will
forward control characters if preceded by a Control-I. While it's true
that Control-I is the command to send to set up specific functions, in
order to send the command to the card without it forwarding said command
to the printer, you must send the command preceded by TWO Control-I's.
- The first Control-I alerts the card that a command it needs to operate
on is forthcoming.
- The second Control-I is used by the card, along with its attendant
characters, as the command string, to change interface functions.
If what follows the first Control-I is not a control character, the card
(firmware) forwards the next characters to the printer.