- Peripheral Interchange Program
Peripheral Interchange Program (PIP) was a utility to transfer data files on
Digital Equipment Corporation 's computers. It was first implemented on thePDP-6 sometime in the 1960s. It was subsequently implemented on both the DEC-10 andPDP-11 .History
PIP was originally named ATLATL, which was an acronym for "Anything Lord to Anything Lord." This described its purpose as a device independent
file copying tool.After some use, it was finally realized that the hand-crafted syntax:
actually was inverted from common English usage. Thus the command:PIP destination=source
syntax was born, one of the dozens of utilities that resided on the PDP and DEC machines. As late as the mid 1980s, PIP was in common use, alongside its descendant.COPY source destinationPIP in CP/M
After
Gary Kildall startedCP/M , he took the PIP and file concepts as well. Besides accessing files on afloppy disk , PIP in CP/M could also transfer data to and from the following "special files":
*CON: — console (input and output)
*AUX: — an auxiliary device. In CP/M 1 and 2, PIP used PUN: (paper tape punch) and RDR: (paper tape reader) instead of AUX:.
*LST: — list output device, usually the printer
*PRN: — as LST:, but lines were numbered, tabs expanded and form feeds added every 60 lines.
*NUL: — null device, working akin to/dev/zero for input and/dev/null for output
*EOF: — input device that producesend-of-file characters,ASCII 0x1A
*INP: — custom input device, by default the same as EOF:.
*OUT: — custom output device, by default the same as NUL:.These are not true
device file s however, because their handling is limited to PIP. The two custom devices were implemented by calls to fixed locations at the start of the PIP program; the intention was that the user, or the OEM, could patch these locations to add their own input or output device. 246 bytes of free space were left in the program for this purpose.In addition to the usual PIP destination=source syntax, PIP under CP/M also allowed PIP destination_source. The source code for PIP describes the '_' character as "left arrow", as in
ASCII -1963; on terminals using this variant of ASCII, the command would have appeared as PIP destination←source. This behaviour was not documented, and CP/M generally did not have a standard for which characters could appear in file names; therefore other programs could and did create filenames containing underscore characters, which PIP could not handle.ee also
*
copy (command) – RT-11, RSX-11, OpenVMS, DOS, OS/2 and Microsoft Windows command for copying data
*cp (Unix) – Unix command for copying data
*Kermit (protocol)
Wikimedia Foundation. 2010.