Google
 

Trailing-Edge - PDP-10 Archives - AP-4178E-RM - swskit-sources/lpfedv.mac
There are 49 other files named lpfedv.mac in the archive. Click here to see a list.
;<3A.MONITOR>LPFEDV.MAC.1, 24-Mar-78 14:36:07, EDIT BY MILLER
;USE MSTRDT FOR ALL DTE NUMBERS
;<3.SM10-RELEASE-3>LPFEDV.MAC.13, 22-Feb-78 18:44:34, EDIT BY MILLER
;ADD RESCD SO MOST OF CODE IS RESIDENT
;<3.SM10-RELEASE-3>LPFEDV.MAC.12, 12-Feb-78 23:30:56, Edit by MCLEAN
;<1MCLEAN>LPFEDV.MAC.11,  8-Feb-78 22:48:37, Edit by MCLEAN
;<1MCLEAN>LPFEDV.MAC.10,  8-Feb-78 16:09:36, Edit by MCLEAN
;<1MCLEAN>LPFEDV.MAC.7,  7-Feb-78 15:25:38, Edit by MCLEAN
;ADD ANOTHER DEVICE DEPENDENT DISPATCH
;<3.SM10-RELEASE-3>LPFEDV.MAC.3,  8-Feb-78 15:46:33, Edit by MCLEAN
;<3.SM10-RELEASE-3>LPFEDV.MAC.2,  8-Feb-78 15:45:32, Edit by MCLEAN
;<3.SM10-RELEASE-3>LPFEDV.MAC.1,  8-Feb-78 15:41:10, Edit by MCLEAN
;<3-MONITOR>LPFEDV.MAC.6,  7-Nov-77 13:03:40, EDIT BY KIRSCHEN
;MORE COPYRIGHT UPDATING...
;<3-MONITOR>LPFEDV.MAC.5, 12-Oct-77 13:55:51, EDIT BY KIRSCHEN
;UPDATE COPYRIGHT FOR RELEASE 3
;<3-MONITOR>LPFEDV.MAC.4,  4-May-77 22:49:07, Edit by MCLEAN
;ADD PRINTX AND TWO NEW VECTOR ENTRIES
;<3-MONITOR>LPDRFE.MAC.3, 12-Mar-77 20:24:04, Edit by MCLEAN
;<1MCLEAN>LPDRFE.MAC.2, 12-Mar-77 13:23:01, Edit by MCLEAN


;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1976, 1977, 1978 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

; FRONT-END DEVICE DEPENDENT CODE FOR THE LINE PRINTER
; (LP20 - DTE20 SERVICE) SPECIFIC CODE.




; LINE PRINTER DEVICE DISPATCH TABLE

FELPVT:	IFIW!FESFLO		;SEND FLUSH
	IFIW!FESLOP		;PAGE COUNTER
	IFIW!FESACK		;ACK
	IFIW!FESDTA		;SEND DATA
	IFIW!FESEOF		;EOF
	IFIW!FESNDS		;STRING DATA
	IFIW!FETGLP		;SEND STATUS
	IFIW!R			;RESTART
	IFIW!R			;INITALIZE
	IFIW!R			;INTERRUPT CHECK
   IFN <.-FELPMX>-FELPVT,<PRINTX %%INVALID DEVICE DEPENDENT TABLE SIZE>

; Line printer dispatch table

;FIRST THE  PROTOCOL VECTOR

	RESCD
LPTDTV::0			; NO STRING DATA
	LPTDON			; ACK
	LPTTLS			; STATUS
	LPTSLA			; SET LINE ALLOCATION
	LPTSER			; SYSERR ENTRY
	LPTRLD			; -11 RELOAD
	SWAPCD
; ROUTINE TO SEND A FLUSH TO THE -11

FESFLO:	HRRZ A,MSTRDT		;GET MASTER DTE NUMBER
	MOVE B,[.DFFDO,,.FELPT]	;FUNCTION IS FLUSH OUTPUT, DEVICE IS LPT
	SETZM C			;LOCAL DATUM IS LINE NUMBER
	MOVEI D,(U)		;GET UNIT NUMBER
	CALL DTEQ		;ASK -11 TO FLUSH LPT OUTPUT
	 JFCL			;SHOULD NOT FAIL
	RET			;RETURN
	RESCD
FESLOP:	HRRZ A,MSTRDT		;GET MASTER DTE NUMBER
	MOVE B,[.DFSDO,,.FELPT]	;FUNCTION IS SPECIAL OPERATION, DEVICE IS LPT
	MOVSI C,(U)		;GET UNIT NUMBER
	HRRI C,4		;FOUR BYTES OF INFORMATION
	MOVSI D,(POINT 8,)	;GET SIZE AND POSITION PART OF POINTER
	HRRI D,PGDATA(U)	;GET ADDRESS FIELD OF POINTER TO DATA PACKET
	CALLRET DTEQ		;SEND PAGE COUNTER STUFF TO -11, AND RETURN
; ROUTINE TO SEND AN ACK TO THE FRONT-END

FESACK:	HRRZ A,MSTRDT		;GET DTE NUMBER OF MASTER DTE
	MOVE B,[.DFLBE,,.FELPT]	;ACK FUNCTION, TO LINE PRINTER
	SETZM C			;CLEAR COUNT
	MOVEI D,(U)		;UNIT NUMBER
	CALL DTEQ		;GO SEND ACK TO FRONT-END
	 JFCL			;SHOULD NOT HAPPEN
	RET			;RETURN
FESDTA:	HRRZ A,MSTRDT		;GET  MASTER DTE NUMBER
	HRLI A,LODDON		;GET POSTING ADDRESS
	HRRI B,.FELPT		;GET DEVICE CODE (LPT)
	MOVSI C,(U)		;GET UNIT NUMBER
	HRR C,D			;GET COUNT FROM SIN
	HRLI D,(POINT 8,)	;GET SIZE, POSITION PART OF POINTER
	HRR D,LPTRLP(U)		;GET ADDRESS PART OF POINTER
	OPSTR <SKIPN>,ALTP,(