Compucolor.org – Virtual Media

Listing of file='NEWLIN.MAC;08' on disk='vmedia/printer_pkg_src-sideB-sector.ccvf'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	NEWLIN - DO A LINE-FEED ON THE PRINTER
;
;	VALUES ON ENTRY ARE IRRELEVANT AND NOTHING IS RETURNED
;
;	VARIABLES LINCNT AND CHRCNT ARE AVAILABLE FOR EXTERNAL
;	USE.
;
;	DESTROYS ALL REGISTERS.
;
;	REQUIRED ROUTINES:
;
	EXTRN	NEWPAG,SEND,WAIT
;
;	PARAMETERS IN MAIN PROGRAM:
;
	EXTRN	LINLEN,PAGLEN,DELTIM

	LF	EQU	10


	ENTRY	NEWLIN

	PUBLIC	CHRCNT,LINCNT

NEWLIN:	MVI	A,LF
	CALL	SEND		;SEND THE LF
	LDA	DELTIM		;WAIT FOR PAPER TO ADVANCE
	CALL	WAIT
	LXI	H,CHRCNT	;RESET CHAR COUNT
	MVI	M,0		;TO ZERO
	LXI	H,LINCNT	;GET LINE COUNT
	INR	M		;BUMP IT
	LDA	PAGLEN		;GET PAGE SIZE
	CMP	M		;THERE YET?
	JZ	EJECT
	JM	EJECT
	RET			;NO, THAT'S ALL TO DO

EJECT:	CALL	NEWPAG		;YES, START NEW PAGE
	RET


CHRCNT:	DB	0	;CURRENT CHAR COUNT
LINCNT:	DB	0	;CURRENT LINE COUNT

	END