Printer variations of the basic Centronics interface flourished in the decade following the introduction of the first MS-DOS compatible PC. Almost all of these printers claimed Centronics compatibility, but in many cases this was not strictly true. Typically, the “core” interface signals and basic handshaking remained the same, but signal timing and edge relations often differed. Most commonly, printer variations involved Busy signal timing, both at the leading edge (with respect to Strobe) and the trailing edge (with respect to Ack).The edge relationships of the other printer status signals (Online, Paper Empty, and Fault) have also varied widely, both among these signals and with respect to the Busy signal. These status signals, however, do not directly participate in the data transfer process, and it was generally well known to host software that they could change state asynchronously. Accordingly, although almost every possible combination of edge relations among these signals have been used, these typically had no effect on interface operation except in the rare cases where the edge-to-edge differences have become large).

These variations resulted from the lack of an industry standard specification for the interface. Without an authoritative specification, many printer vendors were forced to rely on the meager and inadequate docu-mentation published in user manuals. As the target market was often the rapidly expanding PC base, many printers were designed by studying how PC software used the interface, rather than by matching Centronics printer operation. Accordingly, while timing details varied widely, these printers typically worked well with most PCs. However, printers from different manufacturers were seldom “plug-compatible,” and often were not “plug-compatible” with Centronics, even when Centronics interface compatibility was claimed. The most common variations involved Busy signal timing. These included both when the Busy signal was asserted and when it was released. During data transfer, printers assert Busy upon receipt of a Strobe pulse and release Busy when an Ack pulse is issued.

The relationship of Busy to Strobe generally occurred in two ways:

However, the relationship of Busy to Ack generally occurred in three ways:

Of these Busy timing variants, Centronics printers used only Busy-after-Strobe and Ack-after-Busy. Peripherals supporting IEEE 1284 Compatibility Mode use the Busy-while-Strobe and Ack-in-Busy conventions.