Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
qsrt10.c10
There is 1 other file named qsrt10.c10 in the archive. Click here to see a list.
DEL 1/23 ;10C1
INS 14/39 ;10C2
;**;[1226] Insert 2 lines after I$CUNK+3L. /LWS
CAXN S1,%DISK ;[1226] OR 'DISK' ???
TRNA ;[1226] YES TO EITHER
REP 25/39 ;10C3
CUNK.1: HRROI S1,.VSVSN(P1) ;GET PTR TO THE VSN
PUSHJ P,S%SIXB ;CONVERT TO SIXBIT
LDB S1,S1 ;GET THE TERMINATION CHARACTER
MOVX S2,%DISK ;DEFAULT TO A DISK REQUEST
LOAD TF,.VSFLG(P1),VS.REL ;GET THE REEL SPECIFIED FLAG BIT
SKIPN TF ;IF A REEL ID WAS SPECIFIED
SKIPE S1 ; OR THE VOL SET NAME IS COMPOUND
MOVX S2,%TAPE ; THEN MAKE THIS A TAPE REQUEST
STORE S2,.VSFLG(P1),VS.TYP ;SAVE THE REQUEST TYPE
WIT
CUNK.1: MOVE S1,P1 ;[1226] GET VSL ADDRESS
PUSHJ P,DEVCHK ;[1226] CHECK OUT DEVICE
$RETIF ;[1226] RETURN IF PROBLEMS
STORE S1,.VSFLG(P1),VS.TYP ;[1226] SAVE THE REQUEST TYPE
INS 1/40 ;10C4
;**;[1226] ADD DEVCHK ROUTINE
;DEVCHK - ROUTINE TO ENSURE DEVICE STRING IS VALID
;ACCEPTS S1/ VSL ADDRESS
;RETURNS TRUE S1/ DEVICE TYPE (%DISK OR %TAPE)
; S2/ SIXBIT DEVICE NAME
; G$ERR IS SET WITH ERROR CODE IF PROBLEMS
DEVCHK: PUSHJ P,.SAVE4 ;[1226] SAVE P1-P4
MOVE P1,S1 ;[1226] COPY VSL ADDRESS
HRROI S1,.VSVSN(P1) ;[1226] GET ADDRESS OF VOLUME SET NAME
PUSHJ P,S%SIXB ;[1226] CONVERT TO SIXBIT
$SAVE <S2> ;[1226] SAVE DEVICE NAME FOR RETURN
ILDB P4,S1 ;[1226] GET TERMINATOR
JUMPN P4,DEVC.3 ;[1226] GO SEE IF REELID SPECIFIED
MOVE P2,S2 ;[1226] SAVE THE DEVICE NAME
MOVE TF,[1,,P2] ;[1226] YES, GET DSKCHR PARMS
DSKCHR TF, ;[1226] GET STRUCTURE STATUS BITS
JRST DEVC.1 ;[1226] NOT A DISK
LOAD TF,TF,DC.TYP ;[1226] GET THE DEVICE TYPE
CAXN TF,.DCTAB ;[1226] AMBIGUOUS?
PJRST E$ASN## ;[1226] YES - SAY SO
CAXE TF,.DCTUF ;[1226] UNIT WITHIN STRUCTURE?
CAXN TF,.DCTCN ;[1226] CONTROLLER CLASS?
PJRST E$ISN## ;[1226] YES - INVALID STRUCTURE
CAXE TF,.DCTCC ;[1226] CONTROLLER CLASS?
CAXN TF,.DCTPU ;[1226] PHYSICAL UNIT?
PJRST E$ISN## ;[1226] YES, ILLEGAL STRUCTURE
CAXN TF,.DCTDS ;[1226] GENERIC OR ERSATZ?
JRST DEVC.2 ;[1226] YES, CHECK IT OUT SOME MORE
MOVX S1,%DISK ;[1226] ITS A DISK
$RETT ;[1226] AND RETURN
DEVC.1: DEVTYP S2, ;[1226] GET DEVICE TYPE
JRST DEVC.3 ;[1226] CHECK FOR REELID
JUMPE S2,DEVC.3 ;[1226] GO LOOK FOR REELID
TXNE S2,TY.GEN ;[1226] A GENERIC DEVICE ?
PJRST E$GDN## ;[1226] YES
LOAD S1,S2,TY.DEV ;[1226] LOAD THE DEVICE TYPE
CAIE S1,.TYMTA ;[1226] IS IT TAPE??
PJRST E$DNM## ;[1226] NO,,UNSUPPORTED DEVICE
;[1226] (DSKCHR WOULD WIN IF A DISK)
MOVX S1,%TAPE ;[1226] YES
$RETT ;[1226] RETURN
DEVC.2: MOVE TF,[3,,P2] ;[1226] GET PATH. ARGS
PATH. TF, ;[1226] FIND OUT SOME MORE
PJRST E$UST## ;[1226] CATCH ALL
TXNE P3,PT.DLN!PT.EDA ;[1226] PATHOLOGICAL NAME?
PJRST E$PLD## ;[1226] YES, SAY SO
TXNE P3,PT.IPP ;[1226] IMPLIED PPN? (ERSATZ)
PJRST E$ERZ## ;[1226] YES, SAY SO
PJRST E$GDN## ;[1226] ELSE CALL IT GENERIC
DEVC.3: MOVX S1,%TAPE ;[1226] ASSUME TAPE
LOAD TF,.VSFLG(P1),VS.REL ;[1226] GET REELID SPECIFIED FLAG
JUMPN TF,.RETT ;[1226] RETURN TRUE IF REELID THERE
JUMPN P4,E$IVN## ;[1226] MORE THAN 6 CHARS AND NO REELID
MOVX S1,%DISK ;[1226] ASSUME DISK
$RETT ;[1226] RETURN OK
REP 24/53 ;10C5
MOVX S2,FSSSTR ;GET A STRUCTURE
WIT
;**;[1226] Change 1 line at I$LGFD+9L. /LWS
MOVE S2,G$QSTR## ;[1226] GET A STRUCTURE
INS 50/86 ;10C6
;**;[1226] Insert 2 lines before OQUE.1-4L. /LWS
MOVE S1,ACTSTR+.DCSNM ;[1226] GET STR NAME
MOVEM S1,G$QSTR## ;[1226] SAVE
SUM 165517