Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - lptspl.c09
There are 2 other files named lptspl.c09 in the archive. Click here to see a list.
 REP 42/1	;09C1
		LPTEDT==3003			;EDIT LEVEL
 WIT
		LPTEDT==3010			;EDIT LEVEL
 INS 526/4	;09C2
	3004	When spooling to magtape, LPTSPL substitutes <CR><LF> for
		<CR><DC3>. V2 did not do this. Save DEVCHR bits and treat LPT
		and MTA the same in CR23.
		This edit REQUIRES LPTSPL edit 2772.
		SPR 10-34695 GCO 10039 11-May-84 /LWS

	3005	Fix bug in LPINTR where we were incorrectly testing for
		'CPU failure' interrupt condition. Don't use file status
		bits, use PS.RIE!PS.ROE!PS.RDO.
		No SPR GCO 10042 21-May-84 /LWS

	3006	Edit 2772 was too cautious. Only check DV.ASP. OPEN will
		fail if device was assigned by another job. Also, some
		people do .ASSIGN commands in SYSJOB.INI for LPTSPL, for
		various reasons.
		No SPR GCO 10045 11-Jun-84 /LWS

	3007	When we get an 'online' interrupt for a printer, clear the
		byte count in the buffer header in addition to clearing
		'output blocked'. This will insure that we don't use
		a the buffers again until I/O is done. (We can't guarantee
		that we will never miss an 'output done' interrupt.)
		Change OUTWON to display all printers that are offline.
		SPR 10-34771 GCO 10068 10-AUG-84 /LWS

	3010	When the operator says ABORT PRINTER x /PURGE, don't RESDV.
		the printer or try to send a formfeed. /PURGE means get rid
		of the current job now.
		SPR 10-34867 GCO 10096 19-Sep-84 /LWS

 INS 55/11	;09C3
		LP	J$DCHR,1		;[3004] STREAM'S DEVICE CHARACTERISTICS
 REP 28/45	;09C4
		PUSHJ	P,OUTFLS		;FLUSH THE OUTPUT BUFFERS
		JUMPF	SHUTND			;CANT,,SHUT IT DOWN
		PUSHJ	P,SENDFF		;OUTPUT A FORM FEED FOR NEXT JOB
		SETZM	JOBACT(P1)		;STREAM IS NO LONGER ACTIVE
		PUSHJ	P,QRELEASE 		;RELEASE THE REQUEST
		PUSHJ	P,OUTEOF		;OUTPUT AN EOF
 WIT
	;**;[3010] Delete 3 lines at OACC.0+14L and 1 line at OACC.0+19L. /LWS
		SETZM	JOBACT(P1)		;STREAM IS NO LONGER ACTIVE
		PUSHJ	P,QRELEASE 		;RELEASE THE REQUEST
 REP 15/86	;09C5
	;**;[2772] Add 3 lines after OUTGET+8L. 24-Oct-83 /LWS
		DEVCHR	S1,			;[2772] GET DEVICE CHARACTERISTICS
		TXNE	S1,DV.ASC!DV.ASP	;[2772] SOMEONE ELSE BEAT US TO IT?
		  PJRST	OUTDNA			;[2772] YES,,COULD EVEN BE US!
 WIT
	;**;[2772] Add 3 lines after OUTGET+8L. 24-Oct-84 /LWS
		DEVCHR	S1,			;[2772] GET DEVICE CHARACTERISTICS
	;**;[3006] Change line at OUTGET+9L. /LWS
		TXNE	S1,DV.ASP		;[3006] SOMEONE ELSE BEAT US TO IT?
		  PJRST	OUTDNA			;[2772] YES,,COULD EVEN BE US!
	;**;[3004] Add 1 line at OUTGET+11L. /LWS
		MOVEM	S1,J$DCHR(J)		;[3004] SAVE DEVCHR BITS
 REP 18/97	;09C6
		MOVE	S1,STREAM		;GET STREAM NUMBER
		$WTO  (<^T/BELL/>,,@JOBOBA(S1))	;TELL THE OPERATOR.
		$DSCHD(0)			;BLOCK THE PROCESS
		POP	P,S2			;RESTORE S2
		POP	P,S1			;RESTORE S1
 WIT
	;**;[3007] Change code at OUTWON+2L
		PUSH	P,P1			;[3007] SAVE P1 TOO
		MOVSI	P1,-NPRINT		;[3007] MAKE AOBJN POINTER
	OUTW.1:	MOVE	S1,JOBSTW(P1)		;[3007] GET STREAM STATUS
		TXNE	S1,PSF%DO		;[3007] PRINTER OFFLINE?
		$WTO  (<^T/BELL/>,,@JOBOBA(P1))	;[3007] YES, TELL THE OPERATOR.
		AOBJN	P1,OUTW.1		;[3007] CHECK ALL PRINTERS
		POP	P,P1			;[3007] RESTORE P1
		POP	P,S2			;[3007] RESTORE S2
		POP	P,S1			;[3007] RESTORE S1
		$DSCHD(0)			;[3007] BLOCK THE PROCESS
 REP 43/121	;09C7
	CR23:	SKIPE	J$MTAP(J)		;SPOOLING TO TAPE ???
		JRST	CRLF			;YES,,JUST INSERT CRLF
		MOVEI	S1,[BYTE (7) 15,23,0,0,0] ;PRINT OUT CR23
		SKIPA				;SKIP CRLF ENTRY POINT
 WIT
	;**;[3004] Change code at CR23. /LWS
	CR23:	MOVX	S1,DV.LPT!DV.MTA	;[3004] TREAT LPT AND MTA THE SAME
		TDNE	S1,J$DCHR(J)		;[3004] USE <CR><DC3> FOR LPT AND MTA
		SKIPA	S1,[[BYTE (7) 15,23,0,0,0]] ;[3004] PRINT OUT CR23
 REP 25/143	;09C8
		MOVX	T2,PSF%DO+PSF%OB	;YES,,CLEAR ON-LINE & OUTPUT-BLOCKED
 WIT
	;**;[3007] Change code at LPIN.1+3L
		JRST	[MOVX	T2,PSF%DO+PSF%OB ;YES,,CLEAR ON-LINE & OUTPUT-BLOCKED
			 SETZM	J$LBCT(J)	;[3007] MAKE SURE WE DON'T USE BUFFER
			 JRST	.+1]		;[3007] CONTINUE
 REP 35/143	;09C9
		MOVE	T1,.PSVIS(S2)		;GET THE FILE STATUS BITS
		TXC	T1,IO.ERR		;CHECK TO SEE IF ALL ERROR BITS ARE LIT
		TXNN	T1,IO.ERR		;ARE THEY ???
 WIT
		MOVE	T2,.PSVIS(S2)		;[3005] GET THE FILE STATUS BITS
		TXC	T2,IO.ERR		;[3005] CHECK TO SEE IF ALL ERROR BITS ARE LIT
		TXNN	T2,IO.ERR		;[3005] ARE THEY ???
 REP 41/143	;09C10
		TXCN	T1,IO.ERR		;CPU CROAK OR JUST LPT OFF-LINE?
		JRST	LPIN.2			;DEAD CPU
		MOVEI	T1,OUTWON		;CPU DOWN OR OFFLINE,,LOAD RESTART ADDR
 WIT
		TXC	T1,PS.RIE!PS.ROE!PS.RDO	;[3005] JUST THE ONES WE WANT
		TXNN	T1,PS.RIE!PS.ROE!PS.RDO	;[3005] CPU CROAK OR JUST LPT OFF-LINE?
		JRST	LPIN.2			;DEAD CPU
		MOVEI	T1,OUTWON		;LPT OFFLINE,,LOAD RESTART ADDR
 SUM 110649