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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.