Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
plropr.c08
There is 1 other file named plropr.c08 in the archive. Click here to see a list.
DEL 16/2 ;08C1
CAIN S1,100000 ;^C RESET message from the monitor
$RETT ;Yes, ignore it for now
REP 21/4 ;08C2
JSP S1,COMERR ;Nope, somebody's confused
WIT
$RETT ;Nope, race conditions with abort stuff
REP 54/11 ;08C3
VDIR.2: PJRST G$STTR## ;just return true to process
WIT
JRST VDIR.3 ;ONWARD
VDIR.2: PUSHJ P,T$SUNI## ;SWAP SAME UNIT
VDIR.3: PJRST G$STTR## ;just return true to process
INS 20/12 ;08C4
; Convert 8-bit reelid to something useful in S2
O$CN86::$SAVE <P1,P2> ;SAVE P1 AND P2
HRLI S1,(POINT 8,) ;MAKE A BYTE POINTER
MOVE P1,[POINT 6,S2] ;BYTE POINTER TO STORAGE
MOVEI P2,6 ;BYTE COUNT
CN86.1: ILDB TF,S1 ;GET A BYTE
SUBI TF,40 ;CONVERT TO SIXBIT
IDPB TF,P1 ;PUT A BYTE
SOJG P2,CN86.1 ;LOOP FOR ALL CHARACTERS
POPJ P, ;RETURN
REP 44/14 ;08C5
LOAD S1,TCB.CH(B),TC.TYP ;Get the device type
CAIN S1,%DISK ;Is it a disk?
$RET ;Yes - return TRUE or FALSE
WIT
PUSH P,S1 ;SAVE OPR RESPONSE CODE
LOAD S1,TCB.CH(B),TC.TYP ;Get the device type
CAIN S1,%DISK ;Is it a disk?
JRST OPRW.2 ;YES
REP 51/14 ;08C6
TXNE S1,TY.MDA ;Device still owned by MDA?
JUMPT .RETT ;Yes - then proceed
$RETF ;OPR must have made device unavailable
;OPRPAR returned, false, so we check for retyping
CAIN S1,PLR%TY ;Want to retype it?
JRST OPRW.1 ;Yes
$RETF ;OPR said ABORT or CANCEL
WIT
TXNE S1,TY.MDA ;DEVICE OWNED BY MDA?
SKIPA TF,[TRUE] ;YES--SET TRUE
MOVX TF,FALSE ;ELSE SET FALSE
OPRW.2: POP P,S1 ;RESTORE OPR RESPONSE CODE
POPJ P, ;RETURN EITHER TRUE OR FALSE
REP 31/16 ;08C7
JUMPF .RETT ;No, just continue the process
JRST OACR.R ;Yes, PROCEED is illegal, retype
WIT
JUMPT OACR.R ;PROCEED IS ILLEGAL IF MOUNT WAIT
MOVEI S1,PLR%PR ;GET PROCEED CODE
MOVEM S1,TCB.AC+S1(B) ;SET IT
$RETT ;AND RETURN
INS 44/16 ;08C8
; Handle the RETRY response
OACR.T: MOVX S1,TS.FSE ;GET A BIT
TDNN S1,TCB.S2(B) ;FILE SEQUENCE ERROR PROCESSING?
JRST OACR.R ;NO--BAD RESPONSE
MOVEI S1,PLR%RT ;OPR SAID RETRY
MOVEM S1,TCB.AC+S1(B) ;SET IN TCB
$RETT ;RETURN
INS 59/16 ;08C9
KEYTAB (OACR.T,RETRY) ;RETRY ,, return true
INS 13/17 ;08C10
; Special routine to cancel a WTOR when labeler abort is processed.
; Call: MOVEI S1, text address
; PUSHJ P,O$KWTO
O$KWTO::SKIPE TCB.AK(B) ;PENDING WTOR?
$WTOR (<>,<^T/(S1)/>,TCB.OB(B),TCB.AK(B),<$WTFLG(WT.KIL!WT.SJI)>)
SETZM TCB.AK(B) ;CLEAR ACK CODE
$RETT ;RETURN
SUM 112037