Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 PIP in CP/M and MP/M  





3 Reserved filenames in Microsoft Windows  





4 See also  





5 References  














Peripheral Interchange Program






Español

Polski
Português
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Peripheral Interchange Program (PIP)
Original author(s)Digital Equipment Corporation / Harrison "Dit" Morse
Developer(s)Digital Research / Gary Kildall, Heath Company
Initial release1960s; 63 years ago (1960s)
Operating systemBATCH-11/DOS-11, RT-11, RSTS/E, RSX-11, OS/8, TOPS-10, TOPS-20, CP/M, MP/M, DOS Plus, HDOS, VMS
TypeCommand

Peripheral Interchange Program (PIP) was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for PDP-10, PDP-11, and PDP-8[1] architectures. In the 1970s and 1980s Digital Research implemented PIP on CP/M[2] and MP/M.[3]

History[edit]

It is said that during development it was named ATLATL, which is an acronym for "Anything, Lord to Anything, Lord."[4] This humorously described both its purpose as a device-independent file copying tool and the difficulties at the time of safely copying files between devices.

The original PIP syntax was

PIP destination←source /switches

using the left-arrow character from the ASCII-1963 character set that the Flexowriter keyboards of the time used. As other terminals were introduced that used later versions of ASCII (without the left-arrow character), PIP allowed the syntax

PIP destination=source

The underscore (_) character, which was in the same ASCII character position that left-arrow had occupied, was still supported to separate the destination and source specifications.

Source and destination were file specification strings. These consisted of a device name, typically 2 characters for device type such as DK (disk), LP (line printer), MT (magnetic tape), etc. and a unit number from 0 to 7, a colon (:), filename and extension.

Copying was generally permitted between any file specification to any other where it made sense.

Early versions of VAX/VMS implemented certain DCL commands, such as DIRECTORY and RENAME, by running RSX-11M PIP in compatibility mode. This usage of PIP was replaced by VAX-specific code in VAX/VMS 2.0,[5] but PIP remained as part of the VAX-11 RSX layered product for VMS.[6]

As late as the mid 1980s, PIP was still in common use on TOPS-10, TOPS-20 and PDP-11 systems.

PIP in CP/M and MP/M[edit]

PIP.CMDinCP/M-86
Example using the PIP command in DOS Plus to create a text file from CON: console input

Gary Kildall, who developed CP/M and MP/M, based much of the design of its file structure and command processor on operating systems from Digital Equipment, such as RSTS/E for the PDP-11. Besides accessing files on a floppy disk, the PIP command in CP/M could also transfer data to and from the following "special files":

These were not true device files, however, because their handling was limited to PIP. The two custom devices INP: and OUT: were implemented as 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 devices. 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 still allowed the old PIP destination_source form. 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.

Reserved filenames in Microsoft Windows[edit]

The PIP program is the reason for reserved filenames in Microsoft Windows: CON PRN AUX NUL COM0 COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9 LPT0 LPT1 LPT2 LPT3 LPT4 LPT5 LPT6 LPT7 LPT8 LPT9. This limitation is case-insensitive, and also applies to basenames. So for example, Con.txt is an invalid filename.

See also[edit]

References[edit]

  1. ^ OS/8, OS/8 System Reference Manual
  • ^ CP/M, CP/M Operating System Manual
  • ^ MP/M, MP/M Operating System User's Guide
  • ^ PIP, The Jargon File
  • ^ "VAX/VMS Release Notes Version 2.0" (PDF).
  • ^ "VAX-11 RSX Software Product Description" (PDF).

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Peripheral_Interchange_Program&oldid=1160177589"

    Categories: 
    CP/M software
    File copy utilities
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles needing additional references from July 2009
    All articles needing additional references
     



    This page was last edited on 14 June 2023, at 21:29 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki