Knowledge (XXG)

Peripheral Interchange Program

Source 📝

401: 881: 1110: 25: 387: 576:
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.
336:
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.
294:
It is said that during development it was named ATLATL, which is an acronym for "Anything, Lord to Anything, Lord." This humorously described both its purpose as a device-independent
329:) character, which was in the same ASCII character position that left-arrow had occupied, was still supported to separate the destination and source specifications. 42: 363:
PIP in compatibility mode. This usage of PIP was replaced by VAX-specific code in VAX/VMS 2.0, but PIP remained as part of the VAX-11 RSX layered product for VMS.
315:
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
822: 89: 61: 68: 108: 770: 75: 558: 1097: 815: 565:
these locations to add their own input or output devices. 246 bytes of free space were left in the program for this purpose.
46: 431:, based much of the design of its file structure and command processor on operating systems from Digital Equipment, such as 57: 586: 262:
architecture by Harrison "Dit" Morse early in the 1960s. It was subsequently implemented for DEC's operating systems for
255: 132: 1137: 982: 972: 967: 557:
were implemented as calls to fixed locations at the start of the PIP program; the intention was that the user, or the
400: 352: 35: 1113: 999: 808: 348: 82: 1132: 850: 896: 870: 239: 234: 183: 977: 865: 706: 340:
Copying was generally permitted between any file specification to any other where it made sense.
312: 1092: 987: 787: 687: 439:, the PIP command in CP/M could also transfer data to and from the following "special files": 1024: 1014: 831: 474: 275: 178: 145: 678:– RT-11, RSX-11, OpenVMS, AmigaOS, DOS, OS/2 and Microsoft Windows command for copying data 957: 855: 675: 562: 447: 880: 662:. This limitation is case-insensitive, and also applies to basenames. So for example, 1126: 1067: 356: 153: 926: 860: 845: 420: 295: 149: 931: 757: 546: 508: 499: 495: 490: 436: 24: 298:
tool and the difficulties at the time of safely copying files between devices.
952: 921: 751: 326: 322: 140: 127: 549:, however, because their handling was limited to PIP. The two custom devices 1087: 681: 486:, but lines were numbered, tabs expanded and form feeds added every 60 lines 736: 1042: 962: 941: 916: 409: 219: 721: 1037: 1004: 394: 371: 367: 360: 344: 227: 207: 203: 1052: 1047: 911: 432: 375: 267: 263: 195: 191: 800: 1057: 1009: 512: 399: 386: 385: 308: 271: 259: 187: 1062: 1032: 906: 428: 424: 283: 279: 223: 215: 211: 199: 804: 18: 254:) was a utility to transfer files on and between devices on 366:
As late as the mid 1980s, PIP was still in common use on
1080: 1023: 940: 895: 888: 838: 233: 177: 159: 139: 126: 49:. Unsourced material may be challenged and removed. 456:— an auxiliary device. In CP/M 1 and 2, PIP used 538:— custom output device, by default the same as 523:— custom input device, by default the same as 258:'s computers. It was first implemented on the 816: 572:syntax, PIP under CP/M still allowed the old 435:for the PDP-11. Besides accessing files on a 8: 121: 892: 879: 823: 809: 801: 120: 788:"VAX-11 RSX Software Product Description" 109:Learn how and when to remove this message 307:using the left-arrow character from the 699: 581:Reserved filenames in Microsoft Windows 274:architectures. In the 1970s and 1980s 7: 122:Peripheral Interchange Program (PIP) 47:adding citations to reliable sources 771:"VAX/VMS Release Notes Version 2.0" 741:MP/M Operating System User's Guide 585:The PIP program is the reason for 473:— list output device, usually the 14: 304:PIP destination←source /switches 1109: 1108: 58:"Peripheral Interchange Program" 23: 684:– Unix command for copying data 464:(paper tape reader) instead of 34:needs additional citations for 1098:List of computers running CP/M 995:Peripheral Interchange Program 248:Peripheral Interchange Program 1: 507:— input device that produced 311:-1963 character set that the 256:Digital Equipment Corporation 133:Digital Equipment Corporation 726:CP/M Operating System Manual 711:OS/8 System Reference Manual 332:Source and destination were 301:The original PIP syntax was 968:DOS Protected Mode Services 412:to create a text file from 1154: 1106: 1000:Resource construction set 877: 568:In addition to the usual 666:is an invalid filename. 494:— null device, akin to 460:(paper tape punch) and 318:PIP destination=source 973:Dynamic Debugging Tool 851:Dorothy McEwen Kildall 589:in Microsoft Windows: 574:PIP destination_source 570:PIP destination=source 417: 397: 165:; 63 years ago 135:/ Harrison "Dit" Morse 403: 389: 16:File transfer utility 545:These were not true 382:PIP in CP/M and MP/M 347:implemented certain 43:improve this article 1138:File copy utilities 871:Edward R. McCracken 278:implemented PIP on 123: 978:File Control Block 866:Kathryn Strutynski 587:reserved filenames 532:— punch card unit: 450:(input and output) 418: 404:Example using the 398: 351:commands, such as 343:Early versions of 334:file specification 128:Original author(s) 1120: 1119: 1093:Star Trek project 1076: 1075: 1025:Operating systems 988:GEM character set 688:Kermit (protocol) 245: 244: 119: 118: 111: 93: 1145: 1112: 1111: 893: 883: 832:Digital Research 825: 818: 811: 802: 795: 794: 792: 784: 778: 777: 775: 767: 761: 749: 743: 734: 728: 719: 713: 704: 665: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 631: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 592: 575: 571: 556: 552: 541: 537: 531: 526: 522: 517: 506: 493: 485: 481: 472: 467: 463: 459: 455: 445: 423:, who developed 415: 407: 392: 276:Digital Research 179:Operating system 173: 171: 166: 146:Digital Research 124: 114: 107: 103: 100: 94: 92: 51: 27: 19: 1153: 1152: 1148: 1147: 1146: 1144: 1143: 1142: 1123: 1122: 1121: 1116: 1102: 1072: 1019: 945: 936: 898: 884: 875: 834: 829: 799: 798: 790: 786: 785: 781: 773: 769: 768: 764: 750: 746: 735: 731: 720: 716: 705: 701: 696: 672: 663: 659: 656: 653: 650: 647: 644: 641: 638: 635: 632: 629: 626: 623: 620: 617: 614: 611: 608: 605: 602: 599: 596: 593: 590: 583: 573: 569: 554: 550: 539: 535: 529: 524: 520: 515: 504: 489: 483: 479: 470: 465: 461: 457: 453: 443: 413: 405: 390: 384: 319: 305: 292: 184:BATCH-11/DOS-11 169: 167: 164: 160:Initial release 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 1151: 1149: 1141: 1140: 1135: 1125: 1124: 1118: 1117: 1107: 1104: 1103: 1101: 1100: 1095: 1090: 1084: 1082: 1078: 1077: 1074: 1073: 1071: 1070: 1065: 1060: 1055: 1050: 1045: 1040: 1035: 1029: 1027: 1021: 1020: 1018: 1017: 1012: 1007: 1002: 997: 992: 991: 990: 980: 975: 970: 965: 960: 955: 949: 947: 938: 937: 935: 934: 929: 924: 919: 914: 909: 903: 901: 890: 886: 885: 878: 876: 874: 873: 868: 863: 858: 856:Gordon Eubanks 853: 848: 842: 840: 836: 835: 830: 828: 827: 820: 813: 805: 797: 796: 779: 762: 744: 729: 714: 698: 697: 695: 692: 691: 690: 685: 679: 676:copy (command) 671: 668: 582: 579: 543: 542: 533: 527: 518: 502: 487: 477: 468: 451: 383: 380: 317: 303: 291: 288: 243: 242: 237: 231: 230: 181: 175: 174: 161: 157: 156: 143: 137: 136: 130: 117: 116: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 1150: 1139: 1136: 1134: 1133:CP/M software 1131: 1130: 1128: 1115: 1105: 1099: 1096: 1094: 1091: 1089: 1086: 1085: 1083: 1079: 1069: 1068:Multiuser DOS 1066: 1064: 1061: 1059: 1056: 1054: 1051: 1049: 1046: 1044: 1041: 1039: 1036: 1034: 1031: 1030: 1028: 1026: 1022: 1016: 1013: 1011: 1008: 1006: 1003: 1001: 998: 996: 993: 989: 986: 985: 984: 981: 979: 976: 974: 971: 969: 966: 964: 961: 959: 956: 954: 951: 950: 948: 943: 939: 933: 930: 928: 925: 923: 920: 918: 915: 913: 910: 908: 905: 904: 902: 900: 894: 891: 887: 882: 872: 869: 867: 864: 862: 859: 857: 854: 852: 849: 847: 844: 843: 841: 837: 833: 826: 821: 819: 814: 812: 807: 806: 803: 789: 783: 780: 772: 766: 763: 760: 759: 753: 748: 745: 742: 738: 733: 730: 727: 723: 718: 715: 712: 708: 703: 700: 693: 689: 686: 683: 680: 677: 674: 673: 669: 667: 588: 580: 578: 566: 564: 560: 548: 534: 528: 519: 514: 510: 503: 501: 497: 492: 488: 478: 476: 469: 452: 449: 442: 441: 440: 438: 434: 430: 426: 422: 416:console input 411: 402: 396: 388: 381: 379: 377: 373: 369: 364: 362: 359:, by running 358: 354: 350: 346: 341: 338: 335: 330: 328: 324: 316: 314: 310: 302: 299: 297: 289: 287: 285: 281: 277: 273: 269: 265: 261: 257: 253: 249: 241: 238: 236: 232: 229: 225: 221: 217: 213: 209: 205: 201: 197: 193: 189: 185: 182: 180: 176: 162: 158: 155: 154:Heath Company 151: 147: 144: 142: 138: 134: 131: 129: 125: 113: 110: 102: 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: –  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 994: 927:Atari Pascal 861:Tom Rolander 846:Gary Kildall 782: 765: 755: 747: 740: 732: 725: 717: 710: 702: 584: 567: 547:device files 544: 511:characters, 496:\Device\Null 421:Gary Kildall 419: 365: 342: 339: 333: 331: 320: 306: 300: 296:file copying 293: 251: 247: 246: 150:Gary Kildall 141:Developer(s) 105: 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 897:Programming 758:Jargon File 509:end-of-file 437:floppy disk 408:command in 313:Flexowriter 1127:Categories 953:BatteryMAX 946:technology 932:Pascal/MT+ 922:Dr. Scheme 694:References 323:underscore 69:newspapers 1088:CPMulator 1015:Zero page 899:languages 682:cp (Unix) 500:/dev/null 378:systems. 353:DIRECTORY 99:July 2009 1114:Category 1043:DOS Plus 963:COM file 958:CMD file 942:Software 917:Dr. Logo 889:Products 670:See also 561:, could 410:DOS Plus 220:DOS Plus 1081:Related 1038:CP/M-86 1005:ViewMAX 664:Con.txt 475:printer 448:console 395:CP/M-86 391:PIP.CMD 372:TOPS-20 368:TOPS-10 361:RSX-11M 345:VAX/VMS 290:History 240:Command 208:TOPS-20 204:TOPS-10 168: ( 83:scholar 1053:FlexOS 1048:DR-DOS 912:CBASIC 839:People 433:RSTS/E 376:PDP-11 357:RENAME 270:, and 268:PDP-11 264:PDP-10 196:RSX-11 192:RSTS/E 85:  78:  71:  64:  56:  1058:IMDOS 1010:XLT86 791:(PDF) 774:(PDF) 563:patch 513:ASCII 482:— as 309:ASCII 272:PDP-8 260:PDP-6 188:RT-11 170:1960s 163:1960s 90:JSTOR 76:books 1063:MP/M 1033:CP/M 907:PL/M 756:The 737:MP/M 722:CP/M 707:OS/8 660:LPT9 657:LPT8 654:LPT7 651:LPT6 648:LPT5 645:LPT4 642:LPT3 639:LPT2 636:LPT1 633:LPT0 630:COM9 627:COM8 624:COM7 621:COM6 618:COM5 615:COM4 612:COM3 609:COM2 606:COM1 603:COM0 555:OUT: 553:and 551:INP: 540:NUL: 536:OUT: 530:PUN: 525:EOF: 521:INP: 516:0x1A 505:EOF: 498:and 491:NUL: 484:LST: 480:PRN: 471:LST: 466:AUX: 462:RDR: 458:PUN: 454:AUX: 444:CON: 429:MP/M 427:and 425:CP/M 414:CON: 374:and 355:and 321:The 284:MP/M 282:and 280:CP/M 235:Type 224:HDOS 216:MP/M 212:CP/M 200:OS/8 62:news 983:GEM 752:PIP 600:NUL 597:AUX 594:PRN 591:CON 559:OEM 406:PIP 393:in 349:DCL 252:PIP 228:VMS 45:by 1129:: 754:, 739:, 724:, 709:, 446:— 370:, 286:. 266:, 226:, 222:, 218:, 214:, 210:, 206:, 202:, 198:, 194:, 190:, 186:, 152:, 148:/ 944:, 824:e 817:t 810:v 793:. 776:. 327:_ 325:( 250:( 172:) 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Peripheral Interchange Program"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Original author(s)
Digital Equipment Corporation
Developer(s)
Digital Research
Gary Kildall
Heath Company
Operating system
BATCH-11/DOS-11
RT-11
RSTS/E
RSX-11
OS/8
TOPS-10
TOPS-20
CP/M
MP/M
DOS Plus
HDOS
VMS

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.