Trailing-Edge
-
PDP-10 Archives
-
bb-y390o-bm_tops20_v41_atpch_20
-
autopatch/lptspl.c09
There are 2 other files named lptspl.c09 in the archive. Click here to see a list.
REP 42/1 ;09C1
LPTEDT==3110 ;EDIT LEVEL
WIT
LPTEDT==3113 ;EDIT LEVEL
INS 514/4 ;09C2
3111 8/2/84 If end of line characters have not been found after a
number of characters have been analyzed, inform the operator and
give the option of either aborting the print request, continuing
to print the file with end of line checking or continuing to print
the file with no end of line checking.
GCO 4.2.1585
3112 8/13/84 Allow 2780/3780 type remote station to receive console
messages during forms change by setting PSF%OO at the $DSCHD in
FORMS, and clearing it when the forms change is completed. This
is to prevent an active stream awaiting forms change from
blocking the remote printer.
GCO 4.2.1587
3113 9/18/84 In FORMS, reload S1 with the forms type specified in the
forms change message prior to determining whether to send to the
operator a "load forms" message. Note: This edit need only be
applied if edit 3107 has been applied.
GCO 4.2.1593
REP 12/6 ;09C3
WIT
;**;[3111]Add 1 line after FRWSKP JCR 8/2/84
ND CHKWGT,4 ;[3111]Weight used in eol checking
INS 5/10 ;09C4
;**;[3111]Add 1 line after SUPFIL JCR 8/2/84
LFTMAR==1B2 ;[3111]End of line found indicator
REP 28/12 ;09C5
WIT
;**;[3111]Add 3 lines after J$FNBK JCR 8/2/84
LP J$WITH,1 ;[3111]Number of bytes to check for eol
LP J$PRNT,1 ;[3111]Counter used in checking for eol
LP J$OPRA,1,Z ;[3111]Flag if cancel from operator
REP 15/24 ;09C6
MOVX S2,PSF%OB+PSF%ST+PSF%OR+PSF%AL
;Get a bunch of bits
WIT
;**;[3112]Change 1 line at FORFOR:+4L TPW 8/13/84
MOVX S2,PSF%OB+PSF%ST+PSF%OR+PSF%AL+PSF%OO
;[3112]Get a bunch of bits
REP 12/26 ;09C7
MOVX S2,PSF%OB+PSF%ST+PSF%OR+PSF%AL ;GET LOTS OF BITS
WIT
;**;[3112]Change 1 line at NXTJOB:+9L TPW 8/13/84
MOVX S2,PSF%OB+PSF%ST+PSF%OR+PSF%AL+PSF%OO ;[3112]Get lots of bits
INS 5/28 ;09C8
;**;[3111]Add 4 lines at DOJOB:+2L JCR 8/2/84
MOVN S1,J$FWID(J) ;[3111]Pick up the form width value
IMULI S1,CHKWGT ;[3111]Multiple by weighting factor
MOVEM S1,J$WITH(J) ;[3111]Save value for later use
MOVEM S1,J$PRNT(J) ;[3111]Initialize the eol check counter
REP 7/37 ;09C9
MOVX S2,PSF%OR ;GET OPR RESP WAIT BIT
WIT
;**;[3112]Change 1 line at KILL:+4L TPW 8/13/84
MOVX S2,PSF%OR!PSF%OO ;[3112]Get OPR resp wait bit
REP 11/37 ;09C10
$WTOJ (<Canceled by User ^U/ABO.ID(M)/>,<^R/.EQJBB(J)/>,@JOBOBA(S1))
WIT
;**;[3111]Replace 1 line with 4 lines at KILL:+8L JCR 8/2/84
SKIPL J$OPRA(J) ;[3111]Canceled because of no eol
$WTOJ (<Canceled by User ^U/ABO.ID(M)/>,<^R/.EQJBB(J)/>,@JOBOBA(S1))
SKIPGE J$OPRA(J) ;[3111]Canceled because of no eol
$WTOJ (<Canceled by User OPERATOR>,<^R/.EQJBB(J)/>,@JOBOBA(S1))
SETZM J$OPRA(J) ;[3111]Reset the counter
REP 9/44 ;09C11
MOVX S2,PSF%OR ;GET "OPERATOR-RESPONSE" WAIT BIT
WIT
;**;[3112]Change 1 line at RESP.1:+3L TPW 8/13/84
MOVX S2,PSF%OR!PSF%OO ;[3112]Get "OPERATOR-RESPONSE" wait bit
REP 9/45 ;09C12
MOVX S1,PSF%OR ;GET OPR RESP WAIT BIT
WIT
;**;[3112]Change 1 line at OACCAN:+6L TPW 8/13/84
MOVX S1,PSF%OR!PSF%OO ;[3112]Get OPR RESP wait bit
REP 10/48 ;09C13
MOVX S2,PSF%OR ;GET OPR RESP WAIT BIT
WIT
;**;[3112]Change 1 line at OACREQ:+7L TPW 8/13/84
MOVX S2,PSF%OR!PSF%OO ;[3112]Get OPR RESP wait bit
REP 25/57 ;09C14
MOVX S1,PSF%OO ;GET 'OPERATOR OUTPUT WAIT' BITS
MOVE S2,STREAM ;GET OUR STREAM NUMBER
ANDCAM S1,JOBSTW(S2) ;CLEAR 'OPERATOR OUTPUT WAIT' BITS
WIT
;**;[3112]Delete 3 lines at OPRC.3:+3L TPW 8/13/84
INS 22/69 ;09C15
;**;[3113]At FORM.1:+8L insert 1 line. JCR 9/18/84
GETLIM S1,.EQLIM(J),FORM ;[3113]Get forms type
REP 58/69 ;09C16
$DSCHD (PSF%OR) ;WAIT FOR OPERATOR RESPONSE
WIT
;**;[3112]Change 1 line at FRM.2A:+5L TPW 8/13/84
$DSCHD (PSF%OR!PSF%OO) ;[3112]Wait for OPERATOR RESPONSE
REP 31/70 ;09C17
$DSCHD (PSF%OR) ;WAIT FOR OPERATOR RESPONSE.
WIT
;**;[3112]Change 1 line at FORM.4:+4L TPW 8/13/84
$DSCHD (PSF%OR!PSF%OO) ;[3112]Wait for OPERATOR RESPONSE.
REP 10/106 ;09C18
LPTA.2: ILDB C,J$DBPT(J) ;GET A CHARACTER
WIT
;[3111]Add two lines at LPTA.2: JCR 8/2/84
LPTA.2: AOSL J$PRNT(J) ;[3111]Add to the check for eol counter
$CALL CHKMOT ;[3111]Check if eol has been detected
ILDB C,J$DBPT(J) ;GET A CHARACTER
REP 22/107 ;09C19
LPTE.3: CAIGE C,40 ;PRINTABLE ASCII?
WIT
;**;[3111]Add two lines at LPTE.3: JCR 8/2/84
LPTE.3: AOSL J$PRNT(J) ;[3111]Add to the check for eol counter
$CALL CHKMOT ;[3111]Check if eol has been detected
CAIGE C,40 ;PRINTABLE ASCII?
REP 7/108 ;09C20
LPTF.1: ILDB C,J$DBPT(J) ;GET ONE
WIT
;**;[3111]Add two lines at LPTF.1: JCR 8/2/84
LPTF.1: AOSL J$PRNT(J) ;[3111]Add to the check for eol counter
$CALL CHKMOT ;[3111]Check if eol have been detected
ILDB C,J$DBPT(J) ;GET ONE
REP 12/108 ;09C21
TXOA S,FCONV ;FLAG NEXT CHAR AS CTL CHAR
WIT
;*;;[3111]Change 1 line at LPTF.1:+5L JCR 8/2/84
TXOA S,FCONV!LFTMAR ;[3111]Ctl char and eol char detected
REP 19/111 ;09C22
TXO S,NEWLIN ;YES,,LITE NEW LINE BIT
WIT
;**;[3111]Change one line at CHKSP:+2L JCR 8/2/84
TXO S,NEWLIN!LFTMAR ;[3111]Yes,lite new line bit and eol
INS 1/116 ;09C23
;**;[3111]Add 38 lines at LIMANS:+4L JCR 8/2/84
;[3111]SUBROUTINE TO DETERMINE IF EOL CHARACTER HAS BEEN DETECTED
CHKMOT: MOVE S1,J$WITH(J) ;[3111]Pick up the counter size
MOVEM S1,J$PRNT(J) ;[3111]Reset the eol counter
TXZE S,LFTMAR ;[3111]EOL character been detected?
$RET ;[3111]Yes
CHKM2: MOVE S1,STREAM ;[3111]Pick up the stream number
$WTOR(<Unprintable line detected>,<^T/CONMSG/>,@JOBOBA(S1),JOBWAC(S1))
SETZM JOBCHK(T4) ;[3111]Checkpoint
SETOM JOBUPD(T4) ;[3111]Send update also
$DSCHD (PSF%OR) ;[3111]Wait for OPERATOR respond
TXNE S,ABORT+RQB ;[3111]Canceled or requeued?
$RET ;[3111]Yes, so return
MOVEI S1,LONLIN ;[3111]Point to response possibilities
HRROI S2,J$RESP(J) ;[3111]Point to operator's response
$CALL S%TBLK ;[3111]See if have valid response
TXNE S2,TL%NOM+TL%AMB ;[3111]Match
JRST CHKM2 ;[3111]No, try again
HRRZ S1,0(S1) ;[3111]Pick up processing routine adr
JRST 0(S1) ;[3111]Go do it
CHKM3: SETZM S1 ;[3111]Zero out
TLO S1,(1B0) ;[3111]Pick up a large negative number
MOVEM S1,J$PRNT(J) ;[3111]A very large file
CHKM4: $RET ;[3111]And return
CHKM5: SETOM J$OPRA(J) ;[3111]OPERATOR canceled this job
$CALL KILL ;[3111]This job is being aborted
SETZM JOBITS ;[3111]Turn off the Status bits
SKIPE IMESS ;[3111]Any messages?
$CALL C%REL ;[3111]Yes, so cancel
SETZM IMESS ;[3111]No outstanding messages
$RET ;[3111]And return
LONLIN: $STAB ;[3111]
KEYTAB (CHKM5,ABORT) ;[3111]
KEYTAB (CHKM4,ASK) ;[3111]
KEYTAB (CHKM3,PROCEED) ;[3111]
$ETAB ;[3111]
CONMSG: ASCIZ/
Type 'RESPOND <number> ABORT' to terminate printing of the job
Type 'RESPOND <number> ASK' to continue printing with checking
Type 'RESPOND <number> PROCEED' to continue printing with no checking
/
SUM 221416