Nibble mode
This is a uni-directional interface. Only data transfers from periperal to host are possible. Data is
send from the e.g. printer to the PC in a nibbles (4 bits). Combined with the Compatibility mode this is what Hewlett Packard calls "Bi-tronics".
For the Nibble-mode speeds of up to 50 kbps @ 6 meter (20 t) are possible. With a CC-cable this can be increased to up to 150 kbps @ 10 meter (32.6 ft).
Byte mode
Byte mode makes it possible to send data from the peripheral to the host in bytes (8 bits). Combined with the Compatibility mode you have a "Bidirectional port".
Speeds are possible up to 500 kbps @ 10 meter (32.8 ft) when CC-cables are used.
EPP mode
This is a mode in which data can be transfered from host to peripheral or vice versa, but not at the same time, so this is a half-duplex connection (mostly used by CD-ROMs, tape-drives, harddisks).
Speeds can range from 500 kbps to up to 2 Mbps @ 6 meter (20 ft) or 10 meter (32.8 ft) when CC-cables are used.
ECP mode
This is a mode in which data can be transfered from host to peripheral or vice versa, but not at the same time, so this is a half-duplex connection (mostly used by printers and scanners).
Speeds can range from 500 kbps to up to 1 Mbps @ 6 meter (20 ft) or 10 meter (32.8 ft) when CC-cables are used.
Every device can only be in one mode at a time. So the IEEE 1284 workgroup invented a way of
determining which mode should be used with which device, that is called Negotiation. The Negotiation part doesn't affect older devices, but IEEE 1284 compliant devices can tell the host what
they are and which mode to use.
Cables and Connectors
The IEEE defined three types of connectors and six types of cables. The type A connector is the
parallel port connector (Sub-D25) found on most computers. The type B connector is what is usually called the Centronics connector. And there is a new connector that is called MDR36 and which is
called type C. The pinning for the Centronics and Sub-D25 is not changed.
The different cables that are defined are: