Trailing-Edge - PDP-10 Archives - bb-d549g-sb - pip33b.doc
There are no other files named pip33b.doc in the archive.

PIP.DOC -- Changes from V33A to V33B(260)
February 1975

Copyright (C) 1972,1975,1977
Digital Equipment Corporation, Maynard, Mass.

This software is furnished under a license for use only  on  a  single
computer system and may be copied only with the inclusion of the above
copyright notice.  This software, or any other copies thereof, may not
be provided or otherwise made available to any other person except for
use on such system and to one  who  agrees  to  these  license  terms.
Title  to  and  ownership of the software shall at all times remain in

The information in this software is subject to change  without  notice
and  should  not  be  construed  as  a commitment by Digital Equipment

DEC assumes no responsibility  for  the  use  or  reliability  of  its
software on equipment which is not supplied by DEC.
PIP33B.DOC                                                      Page 2

PIP.DOC -- Changes from V33A to V33B(260)
February 1975


Version  33B  of  the  Peripheral  Interchange  Program  (PIP)  is   a
maintenance  release  including all known bug fixes.  It also includes
several minor additions to make its commands more similar to SCAN  and
WILD  conventions.   It  includes  a  general implementation of ersatz
device recognition.  It includes fixes to  handle  default  paths  and
SFD's correctly.

PIP will run under any monitor supported by DEC for the  DECsystem-10.
PIP  version  33B  conforms  to  DATE75 standards.  It has been tested
under 5.07, 6.01, and 6.02.

PIP is fully documented in the Users  Handbook  and  in  the  Software


The following visible changes have been made:

The ersatz device routines have been rewritten to handle  all  current
and  anticipated  ersatz  devices.  Special code is included to handle
ALL:, NUL:, and system search list  devices.   There  is  one  visible
difference  between  this  release  of PIP and the current versions of
SCAN and WILD with reference to ersatz devices.   DIRECT  ignores  the
setting of NEW in the user's search list when SYS:  is specified.  PIP
uses the setting of NEW in the user's search list and uses [1,5]  when
SYS:  is specified.

The default project-programmer number specifications are now the  same
as  those  used by SCAN.  That is forms such as [10,], [,100], and [,]
now refer to the job's UFD instead of using  a  previous  default  PPN
specification.   Also  [-]  can  be used to refer to the job's default
path specification.

The full wildcard file name specifications are now allowed as  defined
for  WILD.   An  asterisk  after  a  partial file name or extension is
converted to the appropriate number of question marks to fill out  the
name or extension, NAM* is equivalent to NAM???.

This version reverts to  the  previous  practice  of  sending  control
characters  to the TTY:  as themselves rather than ^CHAR+100.  This is
to allow control sequences to be correctly sent to TTY's  that  accept
them.  For users desiring to type out TECO macros or DDT files, the /J
switch specified with TTY output will convert the  characters  in  the
way version 33 did.
PIP33B.DOC                                                      Page 3

PIP now correctly handles default paths and full  SFD  specifications.
The default path is now used at any time there is no specified path.

For rename commands the  specification  of  a  source  device  is  now
handled  differently.   A  rename  command  can  specify no device, an
output device (the source device is assumed to be  the  same),  or  an
output and a source device.  If both are given, they must be identical
unless the source is a system search list device (e.g.  NEW:).   These
restrictions  are due to the fact that a RENAME UUO can not physically
move a file, but can change its UFD.  Also, if a PPN is specified  for
either  source  or  object  but not both, it is assumed for the other.
This   means   that    FILE2/R=FILE1[10,20]    is    the    same    as
FILE2[10,20]/R=FILE1  and  neither  command will change the UFD of the
file.  This is to allow name changes of a file without having to  type
the PPN on both names.

Wild cards on the output side of a copy without  /X  now  imply  a  /X
operation.   This  is  to make PIP's operation consistent with that of

The mode of all files involved in disk or DECtape to disk  or  DECtape
transfers is now preserved.  When /B is used (to speed up processing),
the actual input/output is done in mode 14, but the original file mode
is  preserved.   This allows files which have been copied by PIP to be
queued to the paper tape punch correctly.


Commands of the  form  C=A,B/B  generate  illegal  memory  references.
Reported in SPR 13705.

PIP believes  the  monitor  supplied  byte  counts  for  input/output.
Therefore,  every 81st column of a card deck punched out in image mode
is lost.
Reported in SPR 9156.

Wild card file specifications implying or using UFD as an extension do
not   work.    the   use   of   "*.UFD"  will  look  for  files  named
"120000000000.UFD".  Discovered internally.


Some of the previous support for Level C monitors or possibly very old
or  very  small Level D monitors has been put under the control of the
feature test switch LEVELC.  This includes code such  as  CLOSE  UUO's
before  RENAME  UUO's  and support for failure of the DEVPPN UUO.  For
installations which require such support, assemble PIP with the LEVELC
switch set to 1.  The supported setting of this switch is 0.
PIP33B.DOC                                                      Page 4

For all supported monitors, there are no changes to  the  installation

For monitors running with FTSFD==0 (prior to 5.07B/6.01B), there is  a
bug  in FILUUO which must be fixed.  At PTHUU8-1, inside the IFE FTSFD
conditional, in front  of  the  MOVE  T4,JBTPPN##(J)  insert  a  SKIPN


The following is a list of all known edits which were made to  version
33(77) to produce version 33B.  The substance of edits 100 through 123
is unknown, and they are therefore not included on this list.

124    Implement (DX) facility.
       SPR's 9004, 9039.

125    Allow user to clear DECtape id by specifying ^^.
       SPR 9356.

126    Fix loss of 662nd character of long lines.
       SPR's 11127, 12414, 13209, 13369, 14157, 14160.

127    Correct the problem of starting a LPT:  directory listing  when
       a  wild card is used and a device in the search list is missing
       the appropriate UFD.
       SPR's 9970, 10510, 10985, 12250, 13374.

130    Eliminate the protection code error when a UFD is protected but
       a file is not, and the user explicitly types the file name.
       SPR's 8682, 11752, 12336, 12575.

131    Removed by 162.
       SPR's 9038, 10227.

132    DATE75 fixes, version 33A.

133    Prevent "?No file named"  from  being  typed  more  than  once,
       modified by 155, 211, and 217.
       SPR's 10921, 12576.

134    Removed by 163.
       SPR's 11327, 11864.

135    Prevent translation of control characters to ^CHAR+100 when the
       output device is the TTY:.  Modified by 251.
       SPR 9087.

136    Correctly remove line sequence number  and  its  following  tab
       when the number is the last word of a block.
       SPR's 7795, 9056, 11916, 12293.
PIP33B.DOC                                                      Page 5

137    Include skip return for GETPPN in DSKDIR.

140    Allow  multiple  files  to  be  sequenced  correctly   when   a
       non-sequenced file follows a sequenced file.
       SPR 12349, 13391.

141    Removed by 163.
       SPR's 12984, 13318.

142    Correct problem of TAB's and the /W switch when the  first  TAB
       of a file is at a tab-stop.
       SPR's 10230, 12238, 13123, 13366.

143    Fix 142.

144    Correct CCL entry point to initialize the  stack  so  that  PIP
       will not loop if a TMP file does not exist.
       SPR 9686.

145    Removed by 161.

146    Allow copies from TMP:  to TMP:.
       SPR's 9917, 12924.

147    Prevent any renames or deletes of files found in the job's LIB:
       unless the PPN is explicitly given.
       SPR's 9969, 10318, 10368, 14008.

150    Removed by 151.
       SPR's 11729, 13541.

151    Fix 150.  Do physical only OPEN's when the specified device  is
       generic DSK:  and we are searching individual structures.  This
       corrects problems with ASSIGN's such as .AS DSKA DSKB.

152    Make a source  device  specification  illegal  for  /R  and  /D
       commands.   Modified by 211 and 227 to allow the same device to
       be specified or for the source device to be a SYS:  search list
       SPR's 10824, 10901, 13533, 13939.

153    Make sure that the file name and extension are  not  mixed  up.
       In  particular  don't  let  .FOO find FOO.  or UFD look for the
       job's UFD.
       No SPR.

154    Add lower case characters and escapes  as  printing  characters
       when the /C switch is used.
       SPR's 8090, 14285, 14308.

155    Correction to 133 to eliminate infinite loop of ?no file named.
       No SPR.
PIP33B.DOC                                                      Page 6

156    Check for PTP:  and CDP:  when outputting .REL, etc.  files and
       change the mode to binary using a SETSTS.
       SPR 14310.

157    Fix 134 to not be fooled by logical  device  assignments,  i.e.
       No SPR.

160    Change file concatenation to treat the last file  in  the  same
       output  mode  as  the  previous files, i.e.  FOO=FILE,FILE,FILE
       should not copy the third file in binary.
       No SPR.

161    Remove  145  which  caused  all   project   programmer   number
       specifications to become defaults.
       No SPR.

162    Remove  131  which  caused  some  project   programmer   number
       specifications to disappear.
       No SPR.

163    Implement a general ersatz device handler which will understand
       any new normal devices added to the monitor (where NUL:  is not
       SPR's many plus 11988.

164    Correction to 152 to make sure that UU.PHS  is  set  only  when
       No SPR.

165    Correction to 163 to make @ constructions work again.
       No SPR.

166    Correct and change the meaning of [,] and  add  [-].   [,]  (or
       equivalent)  is documented to mean the previously typed default
       PPN or the user's UFD.  Correct it to be the UFD instead of the
       job's default path.  Change it to always mean the UFD and never
       any  previous  default  PPN  to   agree   with   current   SCAN
       No SPR.

167    Removed by 224.

170    Change the line number sequencing routine to add a TAB> instead
       of  another  CR>  on  any  line  which  contains  only  a  line
       SPR 14408.

171    Skip the CLOSE between the LOOKUP and RENAME for /D and  /R  so
       that non-default paths will not be lost under Level D.
       No SPR.
PIP33B.DOC                                                      Page 7

172    Close the output device for /L and /F before printing "No files
       named..."  so  that  if  output is to the TTY:  the rest of the
       directory will be printed.
       SPR 12533.

173    Notice non-existing file following  existing  files  when  both
       file specifications are wild.
       SPR 12533.

174    Fix the problem of garbage in the middle of  files  which  have
       been  merged  using  wild  cards.   This was caused by messages
       indicating non-existant UFD's being output in the file.
       SPR's 7111, 9527, 11980, 12488, 12900.

175    Fix the problem of I/O error messages losing output  bound  for
       the TTY:.
       SPR's 11687, 12256.

176    Fix the problem of "File  not  found"  messages  losing  output
       bound for the TTY:.
       No SPR.

177    Fix the problem of  "Directory  has  no  such  files"  messages
       losing TTY:  bound directory output.  Add the name of the files
       that were not found.
       No SPR.

200    Addition to 163 to  make  logical  assignments  to  ALL:   work
       No SPR.

201    Make NUL:  work better.
       No SPR.

202    Allow UFD protections to be changed again.   The  RENAME  block
       must have a zero PPN.
       No SPR.

203    Determine the search list to be used for wild cards by doing  a
       PATH.  on the device in question.  Only if the PATH.  fails use
       a DEVPPN to try to determine what search list to use.
       No SPR.

204    Fix /Z to not clobber the output file name by putting the  last
       file name that it deleted there.
       No SPR.

205    Fix 163 to not possibly lose the defaulted output device.
       No SPR.

206    Make wild card specifications on the  output  side  of  a  copy
       without  /X  illegal since we do not know what to do with them.
       Changed by 244 to imply /X.
       SPR's 11041, 11633, 12332, 14583.
PIP33B.DOC                                                      Page 8

207    Begin to straighten out path usage.
       Many SPR's.

210    Change 156 to do a CLOSE-OPEN  sequence  instead  of  a  SETSTS
       since  the  monitor  did  not properly handle the SETSTS on the
       SPR 14310.

211    Fix paths and SFD's.
       SPR's 11077, 11765, 12053, 12771, 12931.

212    Add defensive  code  so  that  non-pathing  monitors  will  not
       receive path block pointers for input files.
       No SPR.

213    Correction to 211 to fix directories of ersatz devices and  the
       job's default path.
       No SPR.

214    Correction to 203 to look in the correct word of  the  returned
       path block after the PATH.  
       No SPR.

215    Fix 211 to allow TMP:  again.
       No SPR.

216    Fix 207 to save the PPN for /X copies so that default paths and
       other PPN's will work again.
       No SPR.

217    Fix 211 to allow multiple deletes in the job's default path.
       No SPR.

220    Fix 211 to make [,] mean the job's UFD again.
       No SPR.

221    Clear the output path before starting the input scan.  This  is
       now required due to changes for 211.
       No SPR.

222    Make renames within a default SFD work in spite of the monitor.
       No SPR.

223    Remove an unsupported section of 211.

224    Remove 167.

225    Change file specification rules to allow SCAN type  names  such
       as FIL* for FIL???.
       No SPR.

226    Fix /L to print the directory called for by *.UFD correctly (as
       #,# instead of !($%+).
       No SPR.
PIP33B.DOC                                                      Page 9

227    Fix 152 to allow  specification  of  exactly  the  same  source
       device as output device in a rename or delete.
       No SPR.

230    Fix /Q so that it will find PIP.HLP on HLP:  if it  is  not  on
       SYS:.    Also   force   the  command  line  input  side  to  be
       =SYS:PIP.HLP/Q to override any extra things the user might have
       typed such as wild cards (SPR 13157), random switches, or extra
       devices or PPN's.
       SPR 13157.

231    Fix 222 to make  renames  on  ersatz  devices  leave  the  file
       renamed in the correct PPN.
       No SPR.

232    Correct the wild card logic to accept UFD not found errors when
       searching generic devices for an SFD path.
       No SPR.

233    Fix 211 to make [#,] work again.
       No SPR.

234    Correction to the path setting routine for monitors with  FTSFD
       turned off.
       No SPR.

235    Print correct device name on error messages  from  /D  and  /R.
       Moved by 240.
       No SPR.

236    Correct LOOKUP error number printed  in  some  cases  when  the
       monitor is broken.
       No SPR.

237    Change the directory used for SYS:  when NEW is in  the  search
       list  from  [1,5]  to  [1,4].   This only applies to operations
       which require that the directory be read.
       No SPR.

240    Move 235 to fix TMP:  messages also.
       No SPR.

241    Change  135  to  be  a  conditional  assembly  parameter.   The
       supported  setting  is  outputting  control  characters without
       conversion to any TTY.
       No SPR.

242    Change the error message for directory listings to be  "No  UFD
       exists" instead of "No UFD created".
       No SPR.

243    Clean up 232.
       No SPR.
PIP33B.DOC                                                     Page 10

244    Change 206 to make wild card output file  specifications  imply
       /X  for copy operations.  This makes PIP's operation consistent
       with that of COMPIL.  Also disallow directories to be output to
       a wild card output specification.
       No SPR.

245    Correct 235 and 240 so that the correct device is typed out for
       all error messages.
       No SPR.

246    Correct page numbering on long directory listings.
       SPR 7752.

247    Preserve the mode of all files copied from one directory device
       to  another.   The ENTER is done using the original mode of the
       file, and then a SETSTS is done to set the mode  to  correspond
       to the switches specified (/B, /I, /H).
       SPR's 7863, 14063.

250    Type out any error messages found during searches for files  in
       /R  and  /D  processing  which do not have to do with "file not
       found" (i.e.  RIB error or protection failure).
       SPR's 8231, 8285.

251    Change 241 to type out all control characters as such unless  a
       /J  switch  is  given.  Provide an assembly switch to allow the
       reversal of this action (unsupported - CTLTTY).
       No SPR.

252    Allow switches, PPN's and protections to follow octal file name
       specifications (i.e.  #12/X=FOO).
       No SPR.

253    Fix /T and /C to correctly check for null lines and  provide  a
       single space, as documented.
       No SPR.

254    Fix /Z to allow it to be specified in  a  disk  copy  operation
       No SPR.

255    Move 142 and 143 so that they will also apply to magnetic  tape
       SPR 15194.

256    Clean up the listing format, add subtitles.
       No SPR.

257    Eliminate an I/O to unassigned channel error caused by 245 when
       the device involved was other than disk.
       No SPR.
PIP33B.DOC                                                     Page 11

260    Remove 237.  It made PIP inconsistent within itself, and  found
       a  second  monitor  bug.  For installations which would like to
       consider the possibilities, see the beware file.
       No SPR.

[End of PIP33B.DOC]

[PIP33A.DOC is appended as an integral part of PIP33B.DOC]
PIP33A.DOC                                                     Page 12

PIP.DOC -- Changes from V33(77) to V33A(78)
April 1974

1.0    SUMMARY

This document describes version 33A of PIP.  The only reason for  this
release  is to conform to the DATE-75 standard.  No other changes have
been made, specifically none of the  published  SPR  fixes  have  been
made.  This is version 33(77) with one and only one edit.

PIP is documented in Software Notebook vol.  6.

This version of PIP supersedes all previous versions.  It  runs  under
all supported monitors.  The DATE-75 project is fully implemented.

There are no CUSP dependencies.




Far too many to enumerate.




Edit #

132    Implement DATE-75 standard.

[End of PIP33A.DOC]

[PIP33.DOC is appended as an integral part of PIP33A.DOC]
PIP33.DOC                                                      Page 13

PIP33.DOC -- Changes from V32(37) to V33(77)
April 1972


PIP version 33 is version 32 with edits #40 through #77.  This version
has no new deficiencies and fully replaces version 32.




#1     Copying between DSK, DTA and  MTA  is  in  binary  by  default,
       unless one output file is being made from multiple input files,
       in which case the default node  is  ascii.   A  new  switch  is
       needed to force character by character copying.

#2     In nested indirect files it is not possible to return  from  an
       indirect file and continue reading from a previous one.

#3     PIP has no ascii mode switch.

#4     PIP  inserts  blank  tape  between  PDP-8  binary  tapes   when
       concatenating them.

#5     SPR-6059
       TYPE A,B,C
       Where A, and B do not exist produces PDL OV, ILL  MEM  REF,  or
       other random errors.

#6     SPR 10-6364
       Does not change the mode for file B.


PIP33.DOC                                                      Page 14


Edit #

40     Device SYS did not work in small monitor (5.04), because DEVPPN
       UUO does not work.  Fix is to test for 5 series monitor and use
       [1,4] if DEVPPN fails rather than [1,1].

41     PIP gave a fatal ?  error if a delete failed because  file  was
       not  there.   Fix is to give warning % error in this case since
       it is not fatal.

42     Non-standard protection got turned off after  the  first  file.
       This  was  a  bug introduced when setting protecion for level D
       enter.  Fix is to test for level D and if so skip the rename.

43     Output project-programmer number was defaulting over  to  input
       side.  Fix, clear PPN on equals and left arrow.

44     Resequencing a file  lost  the  character  after  the  sequence
       number.  Bug introduced in v32, remove it.

45     File structure search logic does  not  work  in  small  monitor
       (5.04).   The  is no fence so PIP does not believe -1 is end of
       F/S.  Fix is to test for both 0 and -1.

46     Device SYS does not work correctly.  PIP  uses  SYSSTR  UUO  to
       find SYS:, this is not correct.  Fix use GOBSTR UUO, this fixes
       both SYS:  and DSK:.

47     COPY command to DTA causes tape to rock.  Low segment has grown
       so that double buffers won't fit.  Fix test for this and try to
       expand so that at least 2 buffers are used.

50     Level C only, wild card commands do not work.  The  UFD  device
       is  not  inited.   Fix, if not a level D generic disk make sure
       UFD is inited.

51     Remove WCH conditional (old PDP-6 dectape format).  This  saves
       space and time and makes the listing neater.

52     Remove DISK30 conditional (TEN30 single user disk format).

53     Command line (from TTY) storage is poor.  It gives a free cr-lf
       after  72  characters  (so does monitor), and has a limit of 41
       words.  Fix remove extra cr-lf code.   Allow  for  undetermined
       length  of  command line by getting space from free core.  This
       saves space for short commands and allows extra long ones.

54     More of above

55     No UFD created message doesn't give structure  name.   Fix  add
       F/S after message.
PIP33.DOC                                                      Page 15

56     /A to a binary file gives ill mem ref.  PIP  thinks  binary  is
       sequence  number.   Fix,  remove bug so that the binary will be
       transfered as ascii (losing bit 35), this removes the  ill  mem
       ref.   However  no  message  is given to the user (unless he is
       listing the file) since PIP hxs no way of knowing the  file  is

57     Line too long message is output whenever a line is longer  than
       the  internal  line  buffer  (132 chars.).  Fix, make it happen
       only on /A .  This allows files created by TECO  to  be  listed

60     Change the definitions of ac P from 5 to 17, and CALFLG from 17
       to 5, since most programs have pushdown pointer in 17.

61     *.* is handled differently from ??????.???, this  wastes  space
       and  does  not allow users to enter *.* as an octal mask.  Fix,
       convert *.* to ??????.???  and use the wild card masking  code,
       remove  all special checks for *.  On output convert ??????.???
       back to *.*.

63     # number is not handled correctly, it  is  right  justifed  and
       does not allow mixed # and alpha.  Fix, use 3 bit left justifed
       bytes, and allow mixed # and alphas.

64     More of above.

65     PIP loops if tape ID is specified but device  does  not  exist.
       Fix, clear TAPEID flag at IOERRN.

66     Block free message is incorrect after  an  error.   Fix,  clear

67     Rename on DTA is not always correct,@it doesn't check for  name
       already  exissing.   PIP  does  not  use  rename  uuo, it reads
       directory and changes entries in it.  Fix, remove that code and
       do a RENAME UUO.

70     Can not delete from more than one [ppn].  An  old  restriction.
       Fix, remove restriction.

71     /T to a blank line changes  multiple  blanks,  cr-lf  into  one
       blank  cr-lf,  but  then  loses the lf.  Fix, account for extra
       character by IBP OPTR at PSCAN7.

72     PIP will not  assemble  with  REENT=0.   Fix,  remove  multiply
       defined labels DERR7.

73     PIP has extra CR> in source file not  followed  by  LF>.   Fix,
       remove them (5 occurences).

74     File name generation for input from  non-directory  devices  is
       not correct (bug introduced by #61).  Fix it.
PIP33.DOC                                                      Page 16

75     Fix various bugs in SFD  logic.   PIP  will  now  read,  write,
       rename, and delete files in SFD's.
       Note, PIP will not (now or ever) list directories of SFD's, use
       DIRECT for that function.

76     Previous fix to allow null files to be copies  causes  problems
       with  non-directory  devices  since  they key on a null file to
       terminate a /X copy of multiple files.  Fix, allow  null  files
       only from DSK and DTA, and put back some of the code removed in
       version 31.

77     /Y fails to copy a single file, previous changes in version  31
       changed  action  of LOOK routine but did not change RIMSW code.
       Fix, if only one file is specified do not read UFD, just  do  a
       LOOKUP on required file.

[End of PIP33.DOC]