IEEE 1284 is a standard that defines bi-directional parallel communications between computers and other devices. It was originally developed in the 1970s by Centronics, and was widely known as the Centronics port, both before and after its IEEE standardization.
In the 1970s, Centronics developed the now-familiar printer parallel port that soon became a de facto standard. Centronics had introduced the first successful low-cost seven-wire print head, which used a series of solenoids to pull the individual metal pins to strike a ribbon and the paper.
A dot matrix print head consists of a series of metal pins arranged in a vertical row. Each pin is attached to some sort of actuator, a solenoid in the case of Centronics, which can pull the pin forward to strike a ribbon and the paper. The entire print head is moved horizontally in order to print a line of text, striking the paper several times to produce a matrix for each character. Character sets on early printers normally used 7 by 5 "pixels" to produce 80-column text.
The complexity of printing a character as a sequence of columns of dots is managed by the printer electronics, which receives character encodings from the computer one at a time, with the bits transferred serially or in parallel. As printers grew in sophistication, and the cost of memory dropped, printers began adding increasing amounts of buffer memory, initially a line or two, but then whole pages and then documents.
The original port design was send-only, allowing data to be sent from the host computer to the printer. Separate pins in the port allow status information to be sent back to the computer. This was a serious limitation as printers became "smarter" and a richer set of status codes were desired. This led to an early expansion of the system introduced by HP, the "Bitronics" implementation released in 1992. This used the status pins of the original port to form a 4-bit parallel port for sending arbitrary data back to the host.
A further modification, "Bi-Directional", used the status pins to indicate the direction of data flow on the 8-bit main data bus; by indicating there was data to send to the host on one of the pins, all eight data pins became available for use. This proved adaptable, and led to the "Enhanced Parallel Port" standard, which worked like Bi-Directional mode but greatly increased the signalling speeds to 2 MByte/s, and later the "Extended Capability Port" version increased this to 2.5 MByte/s.