Google
 

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