Printer port
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, a parallel port is a type of
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Int ...
found on early computers (
personal Personal may refer to: Aspects of persons' respective individualities * Privacy * Personality * Personal, personal advertisement, variety of classified advertisement used to find romance or friendship Companies * Personal, Inc., a Washington, ...
and otherwise) for connecting peripherals. The name refers to the way the data is sent; parallel ports send multiple
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s of data at once ( parallel communication), as opposed to serial communication, in which bits are sent one at a time. To do this, parallel ports require multiple data lines in their cables and
port A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as H ...
connectors and tend to be larger than contemporary
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
s, which only require one data line. There are many types of parallel ports, but the term has become most closely associated with the printer port or Centronics port found on most personal computers from the 1970s through the 2000s. It was an industry ''de facto'' standard for many years, and was finally standardized as
IEEE 1284 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 ...
in the late 1990s, which defined the
Enhanced Parallel Port 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 ...
(EPP) and
Extended Capability Port 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 ...
(ECP) bi-directional versions. Today, the parallel port interface is virtually non-existent in new computers because of the rise of
Universal Serial Bus Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply (interfacing) between computers, peripherals and other computers. A broad ...
(USB) devices, along with network printing using
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1 ...
and
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wav ...
connected printers. The parallel port interface was originally known as the Parallel Printer Adapter on IBM PC-compatible computers. It was primarily designed to operate printers that used IBM's eight-bit extended ASCII
character set Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values tha ...
to print text, but could also be used to adapt other peripherals. Graphical printers, along with a host of other devices, have been designed to communicate with the system.


History


Centronics

An Wang An Wang (; February 7, 1920 – March 24, 1990) was a Chinese–American computer engineer and inventor, and cofounder of computer company Wang Laboratories, which was known primarily for its dedicated word processing machines. Wang was an impo ...
, Robert Howard and Prentice Robinson began development of a low-cost printer at
Centronics Centronics Data Computer Corporation was an American manufacturer of computer printers, now remembered primarily for the parallel interface that bears its name, the Centronics connector. History Foundations Centronics began as a division ...
, a subsidiary of
Wang Laboratories Wang Laboratories was a US computer company founded in 1951 by An Wang and G. Y. Chu. The company was successively headquartered in Cambridge, Massachusetts (1954–1963), Tewksbury, Massachusetts (1963–1976), and finally in Lowell, Massachuset ...
that produced specialty
computer terminal A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and ...
s. The printer used the
dot matrix printing Dot matrix printing, sometimes called impact matrix printing, is a computer printing process in which ink is applied to a surface using a relatively low-resolution dot matrix for layout. Dot matrix printers typically use a print head that moves ...
principle, with a print head consisting of a vertical row of seven metal pins connected to solenoids. When power was applied to the solenoids, the pin was pushed forward to strike the paper and leave a dot. To make a complete character glyph, the print head would receive power to specified pins to create a single vertical pattern, then the print head would move to the right by a small amount, and the process repeated. On their original design, a typical glyph was printed as a matrix seven high and five wide, while the "A" models used a print head with 9 pins and formed glyphs that were 9 by 7. This left the problem of sending the
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
data to the printer. While a
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
does so with the minimum of pins and wires, it requires the device to buffer up the data as it arrives bit by bit and turn it back into multi-bit values. A parallel port makes this simpler; the entire ASCII value is presented on the pins in complete form. In addition to the eight data pins, the system also needed various control pins as well as electrical grounds. Wang happened to have a surplus stock of 20,000
Amphenol Amphenol Corporation is a major producer of electronic and fiber optic connectors, cable and interconnect systems such as coaxial cables. Amphenol is a portmanteau from the corporation's original name, American Phenolic Corp. History Amphenol ...
36-pin micro ribbon connectors that were originally used for one of their early calculators. The interface only required 21 of these pins, the rest were grounded or not connected. The connector has become so closely associated with Centronics that it is now popularly known as the "Centronics connector". The Centronics Model 101 printer, featuring this connector, was released in 1970. The host sent ASCII characters to the printer using seven of eight data pins, pulling them high to +5V to represent a 1. When the data was ready, the host pulled the ''STROBE'' pin low, to 0 V. The printer responded by pulling the ''BUSY'' line high, printing the character, and then returning BUSY to low again. The host could then send another character. Control characters in the data caused other actions, like the CR or EOF. The host could also have the printer automatically start a new line by pulling the ''AUTOFEED'' line high, and keeping it there. The host had to carefully watch the BUSY line to ensure it did not feed data to the printer too rapidly, especially given variable-time operations like a paper feed. The printer side of the interface quickly became an industry ''de facto'' standard, but manufacturers used various connectors on the system side, so a variety of cables were required. For example, NCR used the 36-pin micro ribbon connector on both ends of the connection, early
VAX VAX (an acronym for Virtual Address eXtension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
systems used a DC-37 connector,
Texas Instruments Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globa ...
used a 25-pin card edge connector and
Data General Data General Corporation was one of the first minicomputer firms of the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation (DEC). Their first product, 1969's Data General Nova, was a 16-bit minicompute ...
used a 50-pin micro ribbon connector. When IBM implemented the parallel interface on the IBM PC, they used the DB-25F connector at the PC-end of the interface, creating the now familiar parallel cable with a DB25M at one end and a 36-pin micro ribbon connector at the other. In theory, the Centronics port could transfer data as rapidly as 75,000 characters per second. This was far faster than the printer, which averaged about 160 characters per second, meaning the port spent much of its time idle. The performance was defined by how rapidly the host could respond to the printer's BUSY signal asking for more data. To improve performance, printers began incorporating buffers so the host could send them data more rapidly, in bursts. This not only reduced (or eliminated) delays due to latency waiting for the next character to arrive from the host, but also freed the host to perform other operations without causing a loss of performance. Performance was further improved by using the buffer to store several lines and then printing in both directions, eliminating the delay while the print head returned to the left side of the page. Such changes more than doubled the performance of an otherwise unchanged printer, as was the case on Centronics models like the 102 and 308.


IBM

IBM released the
IBM Personal Computer The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
in 1981 and included a variant of the Centronics interface— only IBM logo printers ( rebranded from
Epson Seiko Epson Corporation, or simply known as Epson, is a Japanese multinational electronics company and one of the world's largest manufacturers of computer printers and information- and imaging-related equipment. Headquartered in Suwa, Nagano ...
) could be used with the IBM PC. IBM standardized the parallel cable with a DB25F connector on the PC side and the 36-pin Centronics connector on the printer side. Vendors soon released printers compatible with both standard Centronics and the IBM implementation. The original IBM parallel printer adapter for the IBM PC of 1981 was designed to support limited bidirectionality, with 8 lines of data output and 4 lines of data input. This allowed the port to be used for other purposes, not just output to a printer. This was accomplished by allowing the data lines to be written to by devices on either end of the cable, which required the ports on the host to be bidirectional. This feature saw little use, and was removed in later revisions of the hardware. Years later, in 1987, IBM reintroduced the bidirectional interface with its
IBM PS/2 The Personal System/2 or PS/2 is IBM's second generation of personal computers. Released in 1987, it officially replaced the IBM PC, XT, AT, and PC Convertible in IBM's lineup. Many of the PS/2's innovations, such as the 16550 UART (serial p ...
series, where it could be enabled or disabled for compatibility with applications hardwired not to expect a printer port to be bidirectional.


Bi-Tronics

As the printer market expanded, new types of printing mechanisms appeared. These often supported new features and error conditions that could not be represented on the existing port's relatively few status pins. While the IBM solution could support this, it was not trivial to implement and was not at that time being supported. This led to the Bi-Tronics system, introduced by HP on their LaserJet 4Si in April 1993. This used four existing status pins, ERROR, SELECT, PE and BUSY to represent a nibble, using two transfers to send an 8-bit value. Bi-Tronics mode, now known as nibble mode, was indicated by the host pulling the SELECT line high, and data was transferred when the host toggles the AUTOFEED low. Other changes in the handshaking protocols improved performance, reaching 400,000 cps to the printer, and about 50,000 cps back to the host. A major advantage of the Bi-Tronics system is that it can be driven entirely in software in the host, and uses otherwise unmodified hardware - all the pins used for data transfer back to the host were already printer-to-host lines.


EPP and ECP

The introduction of new devices like scanners and
multi-function printer An MFP (multi-function product/printer/peripheral), multi-functional, all-in-one (AIO), or multi-function device (MFD), is an office machine which incorporates the functionality of multiple devices in one, so as to have a smaller footprint in a ...
s demanded much more performance than either the Bi-Tronics or IBM style backchannels could handle. Two other standards have become more popular for these purposes. The Enhanced Parallel Port (EPP), originally defined by
Zenith Electronics Zenith Electronics, LLC, is an American research and development company that develops ATSC and digital rights management technologies. It is owned by the South Korean company LG Electronics. Zenith was previously an American brand of consumer e ...
, is similar to IBM's byte mode in concept, but changes details of the handshaking to allow up to 2 MB/s. The Extended Capability Port (ECP) is essentially an entirely new port in the same physical housing that also adds
direct memory access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is ...
based on ISA and run-length encoding to compress the data, which is especially useful when transferring simple images like
fax Fax (short for facsimile), sometimes called telecopying or telefax (the latter short for telefacsimile), is the telephonic transmission of scanned printed material (both text and images), normally to a telephone number connected to a printer o ...
es or black-and-white scanned images. ECP offers performance up to 2.5 MB/s in both directions. All of these enhancements are collected as part of the
IEEE 1284 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 ...
standard. The first release in 1994 included original Centronics mode ("compatibility mode"), nibble and byte modes, as well as a change to the handshaking that was already widely used; the original Centronics implementation called for the BUSY lead to toggle with each change on any line of data (busy-by-line), whereas IEEE 1284 calls for BUSY to toggle with each received character (busy-by-character). This reduces the number of BUSY toggles and the resulting interruptions on both sides. A 1997 update standardized the printer status codes. In 2000, the EPP and ECP modes were moved into the standard, as well as several connector and cable styles, and a method for daisy chaining up to eight devices from a single port. Some host systems or print servers may use a strobe signal with a relatively low voltage output or a fast toggle. Any of these issues might cause no or intermittent printing, missing or repeated characters or garbage printing. Some printer models may have a switch or setting to set busy by character; others may require a handshake adapter.


Dataproducts

Dataproducts introduced a very different implementation of the parallel interface for their printers. It used a DC-37 connector on the host side and a 50 pin connector on the printer side—either a DD-50 (sometimes incorrectly referred to as a "DB50") or the block shaped M-50 connector; the M-50 was also referred to as Winchester. Dataproducts parallel was available in a short-line for connections up to and a long-line version using
differential signaling Differential signalling is a method for electrically transmitting information using two complementary signals. The technique sends the same electrical signal as a differential pair of signals, each in its own conductor. The pair of conduc ...
for connections to . The Dataproducts interface was found on many mainframe systems up through the 1990s, and many printer manufacturers offered the Dataproducts interface as an option. A wide variety of devices were eventually designed to operate on a parallel port. Most devices were uni-directional (one-way) devices, only meant to respond to information sent from the PC. However, some devices such as
Zip drive The Zip drive is a removable floppy disk storage system that was introduced by Iomega in late 1994. Considered medium-to-high-capacity at the time of its release, Zip disks were originally launched with capacities of 100  MB, then 250 ...
s were able to operate in bi-directional mode. Printers also eventually took up the bi-directional system, allowing various status report information to be sent.


Historical uses

Before the advent of USB, the parallel interface was adapted to access a number of peripheral devices other than printers. One early use of the parallel port was for dongles used as hardware keys which were supplied with application software as a form of software copy protection. Other uses included optical disc drives such as CD readers and writers,
Zip drive The Zip drive is a removable floppy disk storage system that was introduced by Iomega in late 1994. Considered medium-to-high-capacity at the time of its release, Zip disks were originally launched with capacities of 100  MB, then 250 ...
s, scanners, external
modem A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by Modulation#Digital modulati ...
s,
gamepad A gamepad is a type of video game controller held in two hands, where the fingers (especially thumbs) are used to provide input. They are typically the main input device for video game consoles. Features Gamepads generally feature a set o ...
s, and joysticks. Some of the earliest portable MP3 players required a parallel port connection for transferring songs to the device. Adapters were available to run SCSI devices via parallel. Other devices such as
EPROM An EPROM (rarely EROM), or erasable programmable read-only memory, is a type of programmable read-only memory (PROM) chip that retains its data when its power supply is switched off. Computer memory that can retrieve stored data after a power s ...
programmers and hardware controllers could be connected via the parallel port.


Interfaces

Most PC-compatible systems in the 1980s and 1990s had one to three ports, with communication interfaces defined like this: *Logical parallel port 1:
I/O port Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O pro ...
0x3BC, IRQ 7 (usually in monochrome graphics adapters) *Logical parallel port 2: I/O port 0x378, IRQ 7 (dedicated IO cards or using a controller built into the mainboard) *Logical parallel port 3: I/O port 0x278, IRQ 5 (dedicated IO cards or using a controller built into the mainboard) If no printer port is present at 0x3BC, the second port in the row (0x378) becomes logical parallel port 1 and 0x278 becomes logical parallel port 2 for the BIOS. Sometimes, printer ports are jumpered to share an interrupt despite having their own IO addresses (i.e. only one can be used interrupt-driven at a time). In some cases, the BIOS supports a fourth printer port as well, but the base address for it differs significantly between vendors. Since the reserved entry for a fourth logical printer port in the BIOS Data Area (BDA) is shared with other uses on PS/2 machines and with S3 compatible graphics cards, it typically requires special drivers in most environments. Under DR-DOS 7.02 the BIOS port assignments can be changed and overridden using the LPT1, LPT2, LPT3 (and optionally LPT4) CONFIG.SYS directives.


Access

DOS-based systems make the logical parallel ports detected by the BIOS available under device names such as ''LPT1'', ''LPT2'' or ''LPT3'' (corresponding with logical parallel port 1, 2, and 3, respectively). These names derive from terms like Line Print Terminal , Local Print Terminal (both abbreviated as LPT), or Line Printer. A similar naming convention was used on ITS, DEC systems, as well as in CP/M and 86-DOS (''LST''). In
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
, the parallel printers could be accessed directly on the
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
. For example, the command "TYPE C:\AUTOEXEC.BAT > LPT1:" would redirect the contents of the AUTOEXEC.BAT file to the printer port. A PRN device was also available as an alias for LPT1. Some operating systems (like
Multiuser DOS Multiuser DOS is a real-time multi-user multi-tasking operating system for IBM PC-compatible microcomputers. An evolution of the older Concurrent CP/M-86, Concurrent DOS and Concurrent DOS 386 operating systems, it was originally developed by ...
) allow to change this fixed assignment by different means. Some DOS versions use resident driver extensions provided by MODE, or users can change the mapping internally via a CONFIG.SYS PRN=n directive (as under DR-DOS 7.02 and higher). DR-DOS 7.02 also provides optional built-in support for ''LPT4'' if the underlying BIOS supports it. PRN, along with CON, AUX and a few others are invalid file and directory names in DOS and Windows, even in Windows XP. There is even an MS-DOS device in path name vulnerability in Windows 95 and 98, which causes the computer to crash if the user types "C:\CON\CON", "C:\PRN\PRN" or "C:\AUX\AUX" in the Windows Explorer address bar.
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
has released a patch to fix this bug, but newly installed Windows 95 and 98 operating systems will still have the bug. A special "PRINT" command also existed to achieve the same effect. Microsoft Windows still refers to the ports in this manner in many cases, though this is often fairly hidden. In
SCO UNIX Xinuos OpenServer, previously SCO UNIX and SCO Open Desktop (SCO ODT), is a closed source computer operating system developed by Santa Cruz Operation (SCO), later acquired by SCO Group, and now owned by Xinuos. Early versions of OpenServer were ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
, the first parallel port is available via the filesystem as /dev/lp0. Linux IDE devices can use a ''paride'' (parallel port IDE) driver.


Notable consumer products

* The
Iomega ZIP drive The Zip drive is a removable floppy disk storage system that was introduced by Iomega in late 1994. Considered medium-to-high-capacity at the time of its release, Zip disks were originally launched with capacities of 100  MB, then 25 ...
* The Snappy Video SnapShot video capture device * MS-DOS 6.22's INTERLNK and INTERSRV drive sharing utility * The Covox Speech Thing audio device * The OPL2LPT and OPL3LPT audio devices


Current use

For consumers, USB and
computer network A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ...
s have replaced the parallel printer port, for connections both to printers and to other devices. Many manufacturers of personal computers and laptops consider parallel to be a
legacy port In computing, a legacy port is a computer port or connector that is considered by some to be fully or partially superseded. The replacement ports usually provide most of the functionality of the legacy ports with higher speeds, more compact desi ...
and no longer include the parallel interface. Smaller machines have less room for large parallel port connectors. USB-to-parallel adapters are available that can make parallel-only printers work with USB-only systems. There are PCI (and PCI-express) cards that provide parallel ports. There are also some
print server In computer networking, a print server, or printer server, is a type of server that connects printers to client computers over a network. It accepts print jobs from the computers and sends the jobs to the appropriate printers, queuing the jobs loc ...
s that provide an interface to parallel ports through a network. USB-to-EPP chips can also allow other non-printer devices to continue to work on modern computers without a parallel port. For electronics hobbyists the parallel port is still often the easiest way to connect to an external circuit board. It is faster than the other common legacy port (serial port), requires no serial-to-parallel converter, and requires far less interface logic and software than a USB target interface. However, Microsoft operating systems later than Windows 95/98 prevent user programs from directly writing to or reading from the LPT without additional software (kernel extensions). Current CNC Milling Machines also often make use of the parallel port to directly control the machine's motors and attachments.


IBM PC implementation


Port addresses

Traditionally IBM PC systems have allocated their first three parallel ports according to the configuration in the table below (if all three printer ports exist). If there is an unused slot, the port addresses of the others are moved up. (For example, if a port at 0x3BC does not exist, the port at 0x378 will then become the first logical parallel port.)Frank Van Gilluwe, The Undocumented PC, 1994, page 703, The base address 0x3BC is typically supported by printer ports on MDA and Hercules display adapters, whereas printer ports provided by the mainboard chipset or add-on cards rarely allow to be configured to this base address. Therefore, in absence of a monochrome display adapter, a common assignment for the first logical parallel port (and therefore also for the corresponding LPT1 DOS device driver) today is 0x378, even though the default is still 0x3BC (and would be selected by the BIOS if it detects a printer port at this address). The IRQ lines are typically configurable in the hardware as well. Assigning the same interrupt to more than one printer port should be avoided and will typically cause one of the corresponding ports to work in polled mode only. The port addresses assigned to slot can be determined by reading the BIOS Data Area (BDA) at 0000h:0408h. Bit-to-pin mapping for the Standard Parallel Port (SPP): ~ indicates a hardware inversion of the bit.


Program interface

In versions of
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
that did not use the
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
kernel (as well as
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
and some other operating systems), programs could access the parallel port with simple outportb() and inportb() subroutine commands. In operating systems such as
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
and
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
( NetBSD, FreeBSD, Solaris,
386BSD 386BSD (also known as "Jolix") is a discontinued Unix operating system based on the Berkeley Software Distribution (BSD). It was released in 1992 and ran on PC-compatible computer systems based on the 32-bit Intel 80386 microprocessor. 386BSD inn ...
, etc.), the microprocessor is operated in a different security ring, and access to the parallel port is prohibited, unless using the required driver. This improves security and arbitration of device contention. On Linux, inb() and outb() can be used when a process is run as root and an ioperm() command is used to allow access to its
base address In computing, a base address is an address serving as a reference point ("base") for other addresses. Related addresses can be accessed using an ''addressing scheme''. Under the ''relative addressing'' scheme, to obtain an absolute address, the ...
; alternatively, ppdev allows shared access and can be used from userspace if the appropriate permissions are set. The cross-platform library for parallel port access, libieee1284, also is available on many Linux distributions and provides an abstract interface to the parallel ports of the system. Access is handled in an open-claim-release-close sequence, which allows for concurrent access in userspace.


Pinouts

The older parallel printer ports had an 8-bit data bus and four pins for control output (Strobe, Linefeed, Initialize, and Select In), and five more for control input (ACK, Busy, Select, Error, and Paper Out). Its data transfer speed is at 150 kB/s.James, Kevin. ''PC interfacing and data acquisition : techniques for measurement, instrumentation and control''. Oxford ; Boston : Newnes, 2000. . p. 256 The newer EPPs (Enhanced Parallel Ports) have an 8-bit data bus, and the same control pins as the normal parallel printer port. Newer ports reach speeds of up to 2 MB/s.Parallel Port Definition
, Techopedia
Pinout In electronics, a pinout (sometimes written "pin-out") is a cross-reference between the contacts, or ''pins'', of an electrical connector or electronic component, and their functions. "Pinout" now supersedes the term "basing diagram" that was the s ...
s for parallel port connectors are: Inverted lines are true on logic low. If they are not inverted, then logic high is true. Pin 25 on the DB25 connector might not be connected to ground on modern computers.


See also

*
Device file In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow a ...
*
Serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
* Parallel communication * Input/output base address *
IEEE 1284 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 ...
which is sometimes called an "Enhanced Parallel Port" * Biostar, a Taiwanese computer component manufacturer partly known for having parallel port connectivity on their motherboards Hardware IC chips: * For host computer, see
Super I/O Super I/O is a class of I/O controller integrated circuits that began to be used on personal computer motherboards in the late 1980s, originally as add-in cards, later embedded on the motherboards. A super I/O chip combines interfaces for a vari ...
* For peripheral side, parallel port interface chips: PPC34C60 (SMSC) and W91284PIC (Warp Nine) * For USB-printer purpose, example USB chips: PL-2305 (Prolific) and CH341 (QinHeng)


References

* Axelson, Jan (2000). ''Parallel Port Complete''
Jan Axelson's Lakeview Research
.
The (Linux) Parallel Port Subsystem by Tim Waugh


External links

* Parallel Port (from ''BeyondLogic.org''
standardenhanced (EPP)extended (ECP)examples

EPP parallel printer port data capture project







Parallel port complete: programming, interfacing & using the PC's parallel printer port


- API for Python programming language


libieee1284 homepage

MSDN: Roadmap for Developing Parallel Device Drivers
{{Basic computer components Computer buses Physical layer protocols Legacy hardware Computer connectors