Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
lptspl.c08
There are 2 other files named lptspl.c08 in the archive. Click here to see a list.
REP 1/1 ;08C1
TITLE LPTSPL - TOPS10S20 LINE PRINTER DRIVER
WIT
TITLE LPTSPL - TOPS10/TOPS20 LINE PRINTER DRIVER
REP 42/1 ;08C2
LPTEDT==2771 ;EDIT LEVEL
WIT
LPTEDT==3003 ;EDIT LEVEL
INS 478/4 ;08C3
INS 486/4 ;08C4
2772 24-Oct-83 Before OPENing device for a stream, see if device has been
assigned or init'd by someone. This someone could be another
one of our streams.
SPR 10-33900 /LWS
2773 25-Oct-83 Fix WTO concerning typeout of unrecognized LPFORM.INI switch.
SPR 10-34039 /LWS
2774 25-Oct-83 Print spooled file name in LOG and header.
SPR 10-34149 /LWS
2775 27-Oct-83 Recover from OUT UUO errors while loading VFUs a little better.
SPR 10-34141 /LWS
2776 12/21/83 Fix coding error in hung device interrupt code. Change
J to S1 at LPIN.3.
SPR 10-34397 /LWS
2777 20-Jan-84 Two edits 2771. Make one of them this edit.
Handle comments properly in LPFORM.INI.
SPR 10-33584 /LWS
3000 24-Jan-84 Fix IFN stopcode bug introduce in EDIT 2771. IFN occurs
if ALIGNment is specified in LPFORM.INI and the ".ALP" file
doesn't exist.
SPR 10-34461 /LWS
3001 21-Mar-84 Fix problem in CPU Failure interrupt code. Code
assumed that CPU Failure interrupts would always happen in
the correct stream context...not so. Requires edit 2776.
SPR 10-34573 GCO 10013 /LWS
3002 24-Mar-84 Fix confusing typeout in WTOR that tells operator
to switch reels when spooling to tape.
SPR 10-34572 GCO 10014 /LWS
3003 Fix coding error at STRE.1, CAMN should be CAME.
13-Apr-84 GCO 10027 /LWS
INS 33/13 ;08C5
;**;[2774] Insert 1 line. 25-Oct-83 /LWS
LP J$GSPL,2 ;[2774] SPOOLED FILENAME THAT'S PUT IN LOG
REP 11/31 ;08C6
$TEXT(LOGCHR,<^I/LPMSG/Starting File ^F/@J$DFDA(J)/>)
WIT
;**;[2774] Change 1 line at FILE+8L. 26-Oct-83 /LWS
$TEXT(LOGCHR,<^I/LPMSG/Starting File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/>) ;[2774]
REP 44/31 ;08C7
$TEXT (LOGCHR,<^I/LPMSG/Finished File ^F/@J$DFDA(J)/>)
WIT
;**;[2774] Changed 1 line at FILE.2+3L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/Finished File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/>) ;[2774]
REP 18/50 ;08C8
$WTO (<^E/[-1]/>,<Cannot read ALIGN file ^F/@J$XFOB+FOB.FD(J)/>,@JOBOBA(S1))
WIT
;**;[3000] Insert 1 line and change 1 line at OALI.3+1L. /LWS
SETZM J$APRG(J) ;[3000] AVOID CONFUSION,,CAN'T ALIGN
$WTO (<Alignment Not Scheduled>,<Cannot read ALIGN file ^F/@J$XFOB+FOB.FD(J)/ - ^E/[-1]/>,@JOBOBA(S1)) ;[3000]
REP 25/51 ;08C9
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ Forward spaced ^D/J$FPIG(J)/ Pages>)
WIT
;**;[2774] Change 1 line at FSPACE+7L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/ Forward spaced ^D/J$FPIG(J)/ Pages>) ;[2774]
REP 31/51 ;08C10
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ Forward spaced ^D/S2/ Copies>)
WIT
;**;[2774] Changed 1 line at FCOPYS+2L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/ Forward spaced ^D/S2/ Copies>) ;[2774]
REP 39/51 ;08C11
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ Skipped by Operator>)
WIT
;**;[2774] Changed 1 line at FFILES+2L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/ Skipped by Operator>) ;[2774]
REP 22/52 ;08C12
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ Backspaced ^D/T1/ Pages>)
WIT
;**;[2774] Changed 1 line at BSPACE+3L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/ Backspaced ^D/T1/ Pages>) ;[2774]
REP 7/54 ;08C13
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ Backspaced ^D/T1/ Copies>)
WIT
;**;[2774] Changed 1 line at BCOPYS+4L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPMSG/File ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/ Backspaced ^D/T1/ Copies>) ;[2774]
INS 48/67 ;08C14
;**;[2774] Insert 7 lines after INPO.1+4L. 25-Oct-83 /LWS
SETZM J$GSPL(J) ;[2774] ASSUME NOT SPOOLED
LOAD S2,.FPINF(E),FP.SPL ;[2774] GET SPOOLED FILE BIT
JUMPE S2,.RETT ;[2774] RETURN IF NOT SPOOLED
MOVX S2,FI.SPL ;[2774] GET ATTRIBUTE WE WANT
$CALL F%INFO ;[2774] ASK FOR SPOOLED FILE NAME
JUMPE S1,.RETT ;[2774] RETURN IF NONE
$TEXT(<-1,,J$GSPL(J)>,<^W/S1/^0>) ;[2774] SAVE NAME AS ASCIZ STRING
INS 23/71 ;08C15
;**;[2777] Insert 2 lines at FRMIN2+2L. /LWS
CAIN C,";" ;[2777] START OF COMMENT?
$RETT ;[2777] YES,,WE'RE DONE
INS 8/73 ;08C16
;**;[2777] Insert 2 lines at FRMIN5+3L. /LWS
CAIN C,";" ;[2777] BEGINNING OF A COMMENT
POPJ P, ;[2777] YES,,WE'RE DONE
REP 29/73 ;08C17
MOVE T4,T1 ;GET SWITCH NAME
MOVE S1,STREAM ;GET THE STREAM NUMBER.
$WTOJ (LPFORM.INI Error,<Unrecognized switch ^W/T1/ found.>,@JOBOBA(S1))
WIT
;**;[2773] Delete 1 line at FRMIN7+4L. 25-Oct-83 /LWS
MOVE S1,STREAM ;GET THE STREAM NUMBER.
;**;[2773] Change line at FRMIN7+9L. 25-Oct-83 /LWS
$WTOJ (LPFORM.INI Error,<Unrecognized switch ^W/T4/ found.>,@JOBOBA(S1)) ;[2773]
INS 8/75 ;08C18
;**;[2777] Insert 1 line after S$NOT1+1L. /LWS
CAIE C,";" ;[2777] DON'T INCLUDE COMMENTS
REP 28/78 ;08C19
MOVE T1,[2,,T2] ;LOAD ARG POINTER
MOVX T2,.DFDVL ;DISABLE VFU LOAD
MOVE T3,J$LCHN(J) ;AND CHANNEL NUMBER
DEVOP. T1, ;DO IT!
JRST NODAVF ;LOSE
MOVE S1,J$FVIF(J) ;GET THE IFN
PUSHJ P,F%REL ;RELEASE IT
MOVE T1,J$FTAP(J) ;GET TAPE NAME
MOVEM T1,J$FLVT(J) ;SAVE AS TYPE LOADED
WIT
;**;[2775] Insert 1 line and delete 9 lines at LODV.2+0L. 27-Oct-83 /LWS
PUSHJ P,DISVFU ;[2775] DISABLE VFU LOADING
INS 53/79 ;08C20
;**;[2775] Insert 11 lines at VLKUP+0L. 27-Oct-83 /LWS
DISVFU: MOVE T1,[2,,T2] ;[2775] LOAD ARG POINTER
MOVX T2,.DFDVL ;[2775] DISABLE VFU LOAD
MOVE T3,J$LCHN(J) ;[2775] AND CHANNEL NUMBER
DEVOP. T1, ;[2775] DO IT!
JRST NODAVF ;[2775] LOSE
MOVE S1,J$FVIF(J) ;[2775] GET THE IFN
PUSHJ P,F%REL ;[2775] RELEASE IT
MOVE T1,J$FTAP(J) ;[2775] GET TAPE NAME
MOVEM T1,J$FLVT(J) ;[2775] SAVE AS TYPE LOADED
POPJ P, ;[2775] RETURN
INS 15/86 ;08C21
;**;[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!
REP 42/94 ;08C22
$TEXT (LOGCHR,<^I/LPERR/LPT I/O Error occurred during ^F/@J$DFDA(J)/, Copy:^D/S1/, Page:^D/J$RNPP(J)/; Status is: ^O/J$LIOS(J)/>)
WIT
;**;[2774] Change 1 line at OUTE.3+10L. 25-Oct-83 /LWS
$TEXT (LOGCHR,<^I/LPERR/LPT I/O Error occurred during ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/, Copy:^D/S1/, Page:^D/J$RNPP(J)/; Status is: ^O/J$LIOS(J)/>) ;[2774]
REP 66/94 ;08C23
OUTE.4: TXNE S,VFULOD ;Are we already loading VFU?
JRST [$WTO (VFU error while loading VFU,,@JOBOBA(T4)); Yes
JRST SHUTIN] ;Kill this stream
$WTOR (VFU error,<Re-align forms and put on-line^M^J^T/ENDRSP/>,@JOBOBA(T4),JOBWAC(T4))
WIT
;**; Redo code at OUTE.4. 27-Oct-83 /LWS
OUTE.4: TXZN S,VFULOD ;[2775] ARE WE ALREADY LOADING VFU?
JRST OUT.4A ;[2775] NO...
$WTO (VFU error while loading VFU,,@JOBOBA(T4)) ;[2775] YES
LOAD S1,J$LCLS(J) ;[2775] GET CONTROLLER CLASS
CAXE S1,.DFS20 ;[2775] FRONT END LPT?
PUSHJ P,DISVFU ;[2775] NO,,GO DIASBLE VFU LOADING
PUSHJ P,OUTFLS ;[2775] GO RESET THE DEVICE
SETZM J$FORM(J) ;[2775] SAY FORMS NOT LOADED
MOVX S1,%RSUNA ;[2775] GET "DEVICE NOT AVAILABLE"
PUSHJ P,RSETUP ;[2775] TELL QUASAR TO FORGET US FOR NOW
PJRST SHUTIN ;[2775] SHUTDOWN THE STREAM
OUT.4A: $WTOR (VFU error,<Re-align forms and put on-line^M^J^T/ENDRSP/>,@JOBOBA(T4),JOBWAC(T4))
REP 22/95 ;08C24
OUT.5A: $WTOR (End of tape,<Mount next reel on ^W/J$MTAP(J)/^M^JType 'RESPOND ^7/[.CHLAB]/number/^7/[.CHRAB]/PROCEED' when ready>,@JOBOBA(T4),JOBWAC(T4))
WIT
OUT.5A: $WTOR (<End of tape>,<Mount next reel on ^W/J$MTAP(J)/^M^J^T/ENDRSP/>,@JOBOBA(T4),JOBWAC(T4)) ;[3002]
REP 32/122 ;08C25
$TEXT(TBFCHR,<^M^JFile ^F/@J$DFDA(J)/, created: ^H/S1/,^T/(P1)/printed: ^H/[-1]/>)
WIT
;**;[2774] Changed 1 line at HEAD.1+16L. 26-Oct-83 /LWS
$TEXT(TBFCHR,<^M^JFile ^F/@J$DFDA(J)/ ^T/J$GSPL(J)/, created: ^H/S1/,^T/(P1)/printed: ^H/[-1]/>) ;[2774]
REP 14/138 ;08C26
STRE.1: CAMN P2,0(S1) ;FOUND THE STR?
WIT
STRE.1: CAME P2,0(S1) ;[3003] FOUND THE STR?
REP 48/143 ;08C27
LPIN.2: MOVEI T1,CPUFAI ;CPU FAILURE
MOVEM T1,.PSVOP(S2) ;STORE FOR DEBRK. UUO
$DEBRK ;DISMISS THE INTERRUPT.
LPIN.3: SETZM JOBSTW(J) ;MAKE JOB RUNABLE
MOVE T1,J$RACS+P(J) ;GET STREAM STACK
PUSH T1,[HNGDEV] ;AVOID RACES
MOVEM T1,J$RACS+P(J) ;REPLACE PDL POINTER
MOVEI T1,HNGDEV ;GET ADDR OF HUNG DEVICE PROCESSOR
CAMN S1,STREAM ;HUNG DEVICE IN STREAM CONTEXT?
MOVEM T1,.PSVOP(S2) ;SET RETURN ADDRESS
WIT
;**;[3001] Rework CPU failure and hung device interrupt code. /LWS
LPIN.2: SKIPA T2,[CPUFAI] ;[3001] GET ROUTINE ADDR FOR CPU FAILURE
LPIN.3: MOVEI T2,HNGDEV ;[3001] GET ROUTINE ADDR FOR HUNG DEVICE
;**;[2776] Change 1 line at LPTIN.3+0L. 21-Dec-83 /LWS
SETZM JOBSTW(S1) ;MAKE JOB RUNABLE
MOVE T1,J$RACS+P(J) ;GET STREAM STACK
PUSH T1,T2 ;[3001] AVOID RACES,,T2 HAS ROUTINE ADDR
MOVEM T1,J$RACS+P(J) ;REPLACE PDL POINTER
CAMN S1,STREAM ;HUNG DEVICE IN STREAM CONTEXT?
MOVEM T2,.PSVOP(S2) ;[3001] SET RETURN ADDRESS
SUM 57110