Trailing-Edge
-
PDP-10 Archives
-
bb-d549g-sb
-
pip33b.bwr
There is 1 other file named pip33b.bwr in the archive. Click here to see a list.
PIP33B.BWR - Beware file for users running with NEW enabled Page 1
February 27, 1975
***Copyright 1975, Digital Equipment Corporation, Maynard,
Massachusetts***
Version 33B of the Peripheral Interchange Program (PIP) has a
characteristic for users who have NEW enabled in their search list.
For all monitors prior to 6.02, a monitor "feature" will cause all
references to SYS: to operate as defined for NEW vs SYS, i.e. [1,5]
will be used for the project-programmer number whenever one is
required. However DIRECT, and any other program which uses WILD will
use [1,4]. This is due to the fact that the monitor is returning
[1,4] on a PATH. UUO, but [1,5] on a DEVPPN UUO. Both a PATH. and a
DEVPPN were tried in PIP. The supported version on this tape uses a
DEVPPN for the following reasons.
First and most important, using the PATH. UUO makes PIP inconsistent
within itself. Whenever a reference is made to the directory of the
device, either explicitly or implicitly (i.e. with wild cards, /F,
/L, or with /R, /D), then PIP will use the result of the PATH., [1,4].
Whenever no directory references are necessary (i.e.
TTY:=SYS:NOTICE.TXT), then the monitor's normal logic will be used
(search [1,5] and then [1,4]). Because of the sequence of I/O UUO's
used, it would take a rewrite to fix PIP correctly. Therefore, it
seems more reasonble to be consistent within PIP.
Secondly, there is a bug in all monitors (with FTSFD=1) when your
default path PPN is not the same as your current logged in PPN. The
PATH. incorrectly returns JBTPPN instead of the default path PPN. It
does not seem reasonable to put in code to determine if this bug still
exists in order to use the correct PPN.
Appended to this file are two possible solutions to this dilemma. The
first is to use field image PIP and possibly put in the attached patch
to make the PATH. return the correct PPN so that WILD will also do
the right thing. The second is to use the attached patch to PIP, and
the one line patch to the monitor, and live with the inconsistencies
in PIP. We recommend the first course, with the monitor patch,
because that makes everyone consistent and will be the way the monitor
will work in the future.
PIP33B.BWR - Beware file for users running with NEW enabled Page 2
February 27, 1975
The following is the correction to the monitor (FILUUO) for the PATH.
UUO returning [1,5] instead of [1,4].
1)1 JUMPN T1,PTHU8C
1) PTHU8B:
1) >
1) SKIPL P3
1) SKIPN T1,@SDVPPN##(P3)
1) MOVE T1,T4
1) PTHU8C: PUSHJ P,PUTWD1##
****
2)1 JUMPN T1,PTHU8E
2) PTHU8B:
2) > ;END OF CONDITIONAL ON FTLIB
2) JUMPL P3,PTHU8D ;IF NEGATIVE, THEN NOT ERSATZ
2) JUMPN P3,PTHU8C ;IN NON-ZERO, THEN NOT SYS:
2) HLRZ T1,JBTSFD##(J) ;GET SEARCH LIST SPEC
2) TRNE T1,JBPXSY## ;SEE IF NEW ENABLED
2) MOVEI P3,NEWNDX## ;YES, CHANGE TO NEW:
2) PTHU8C: SKIPN T1,@SDVPPN##(P3) ;GET ANY ERSATZ PPN
2) PTHU8D: MOVE T1,T4 ;USE ANY DEVICE PPN
2) PTHU8E: PUSHJ P,PUTWD1## ;GIVE PPN TO USER
**************
PIP33B.BWR - Beware file for users running with NEW enabled Page 3
February 27, 1975
The patch to the monitor (FILUUO) to make the PATH. UUO not return
JBTPPN is to change PTHUU7-4 from MOVE T4,JBTPPN##(J) to PUSHJ
P,SFDPPN. The change to PIP to make it work like the current DIRECT
is as follows.
1)26 ;**; EDIT 237 PSYSP JNT 11-JAN-75
1) ;[237 CHANGE];**; EDIT 211 PSYSP JNT 14-NOV-74
1) ;[237 CHANGE];[211 CHANGE]PSYSP: SKIPE PP ;[163] SEE IF PPN
SPECIFIED
1) ;[237 CHANGE];[211 CHANGE] POPJ P, ;[163] YES, DON'T
FIND A NEW ONE
1) ;[237 CHANGE]PSYSP: SETZM DEVPP ;[211] CLEAR ERSATZ
DEVICE PPN
1) ;[237 CHANGE] DEVPPN 0, ;[163] GET PPN FOR DEVICE IN
0
1) ;[237 CHANGE]
1) ;[237 CHANGE];**; EDIT 211 PSYSP+3 JNT 14-NOV-74
1) ;[237 CHANGE]IFE LEVELC,( ;[211]
1) ;[237 CHANGE] JFCL ;[211] IGNORE ERRORS
1) ;[237 CHANGE]);[211] END IFE LEVELC
1) ;[237 CHANGE]IFN LEVELC,( ;[211]
1) ;[237 CHANGE] PUSHJ P,TRYSYS ;[163] UNSUPPORTED, DO IT THE
HARD WAY
1) ;[237 CHANGE]);[211] END IFN LEVELC
1) ;[237 CHANGE];[211 DELETE] MOVEM 0,PP ;[163] UPDATE PPN
1) ;[237 CHANGE] CAME 0,JOBPTH+2 ;[211] UNLESS DEVICE
DIFFERENT FROM OUR DEFAULT
1) ;[237 CHANGE] ;[211] PATH PPN, IT'S NOT
ERSATZ
1) ;[237 CHANGE] MOVEM 0,DEVPP ;[163] AND ERSATZ DEVICE PPN
1) ;[237 CHANGE] POPJ P, ;[163]
1) ;[237 CHANGE]
1) ;[237 CHANGE];**; EDIT 211 TRYSYS JNT 14-NOV-74
1) ;[237 CHANGE]IFN LEVELC,( ;[211]
1) ;[237 CHANGE]TRYSYS: DEVNAM 0, ;[163] NO DEVPPN, SEE IF
WAS LOGICAL NAME
1) ;[237 CHANGE] JFCL ;[163]
1) ;[237 CHANGE] CAMN 0,['SYS '] ;[163] SEE IF SYS:
1) ;[237 CHANGE] SKIPA T1,SYSPPN ;[163] YES, USE SYS'S PPN
1) ;[237 CHANGE] MOVE T1,JOBPPN ;[163] NO, USE OURS
1) ;[237 CHANGE] MOVE 0,T1 ;[163] COPY FOR PSYSP
1) ;[237 CHANGE] POPJ P, ;[163] AND GO BACK
1) ;[237 CHANGE]
1) ;[237 CHANGE];**; EDIT 211 TRYSYS+7 JNT 14-NOV-74
1) ;[237 CHANGE]);[211] END IFN LEVELC
1) ;[237 CHANGE]);[163] END IFN FTDSK
1) PSYSP: SETZM DEVPP ;[237] CLEAR ERSATZ DEVICE PPN
1) MOVEM 0,CHKPTH ;[237] SAVE DEVICE NAME FOR
PATH. OR DEVPPN
1) MOVE 0,[XWD 3,CHKPTH];[237] SET FOR SHORT PATH.
1) PATH. 0, ;[237] GET PPN OF DEVICE
1) JRST PSYSP2 ;[237] FAILED, GO TRY DEVPPN
1) MOVE 0,CHKPTH+2 ;[237] GET RETURNED PPN
PIP33B.BWR - Beware file for users running with NEW enabled Page 4
February 27, 1975
1) PSYSP1: CAME 0,JOBPTH+2 ;[237] COMPARE WITH DEFAULT
PPN SINCE
1) MOVEM 0,DEVPP ;[237] IT'S ONLY ERSATZ IF
DIFFERENT
1) POPJ P, ;[237] RETURN WITH DEVPP ZERO
IF NOT ERSATZ
1) PSYSP2: MOVE 0,CHKPTH ;[237] RESTORE DEVICE NAME
1) DEVPPN 0, ;[237] TRY A DEVPPN IF PATH.
FAILED
1) IFE LEVELC,< ;[237] MUST WORK IF LEVEL D
1) JFCL ;[237]
1) JRST PSYSP1 ;[237] GO SEE IF SAME AS JOB'S
1) >;[237] END IFE LEVELC
1) IFN LEVELC,< ;[237] MAY FAIL IF LEVEL C
1) SKIPA ;[237] SKIP TO TRY COMPARE TO
SYS:
1) JRST PSYSP1 ;[237] GO SEE IF SAME AS JOB'S
1) DEVNAM 0, ;[237] NO DEVPPN, SEE IF IT
WAS LOGICAL NAME
1) JFCL ;[237] DON'T CARE
1) CAMN 0,[SIXBIT/SYS/] ;[237] SEE IF SYS:
1) SKIPA T1,SYSPPN ;[237] GET PPN OF SYS
1) MOVE T1,JOBPPN ;[237] NOT SYS:, USE OURS
1) MOVE 0,T1 ;[237] COPY BACK
1) JRST PSYSP1 ;[237] GO STORE IN DEVPP
1) >;[237] END IFN LEVELC
1) >;[237] END IFN FTDSK
*****************
[End of PIP33B.BWR]