	INCLUDE	"exec/types.i"
	INCLUDE	"libraries/dos.i"
	INCLUDE	"libraries/dos_lib.i"

NEWLINE	equ	$0a

	xdef	_Explain,_ConMsg,_ErrMsg,StrLen,_strlen

	CSECT	text,0,0,1,2

_Explain
	tst.b	_Er(a4)
	beq.s	Rtn
	lea.l	ExplMsg1(pc),a0
	bsr.s	WrtCon
	move.l	_Pr(a4),a0
	bsr.s	WrtCon
	lea.l	ExplMsg2(pc),a0
	bra.s	WrtCon
_ConMsg
	move.l	4(a7),a0
	bra.s	WrtCon
_ErrMsg
	tst.b	_Er(a4)
	beq.s	Rtn
	move.l	_Pr(a4),a0
	bsr.s	WrtCon
	lea.l	Colon(pc),a0
	bsr.s	WrtCon
	move.l	4(a7),a0
	bsr.s	WrtCon
	move.l	8(a7),a0
	bsr.s	WrtCon
	lea.l	NewLine(pc),a0

WrtCon	movem.l	d2/d3,-(a7)
	move.l	a0,d2
	bsr.s	StrLen
	move.l	d0,d3
	move.l	_ConOut(a4),d1
	move.l	_DOSBase(a4),d6
	jsr	_LVOWrite(a6)
	movem.l	(a7)+,d2/d3
Rtn	rts

_strlen	move.l	4(a7),a0
StrLen	moveq.l	#-1,d0
Count	addq.l	#1,d0
	tst.b	(a0)+
	bne.s	Count
	rts

ExplMsg1
  dc.b 'Syntax:   ',0
ExplMsg2
  dc.b ' [<source>]',NEWLINE
  dc.b 'Function: initiate FX-80+ printer and print file ',NEWLINE
  dc.b 'Options:',NEWLINE
  dc.b '	-s	no output via stderr',NEWLINE
  dc.b '	-l<i>	left margin (5)',NEWLINE
  dc.b '	-r<i>	right margin (max)',NEWLINE
  dc.b '	-x	donot truncate',NEWLINE
  dc.b '	-p<i>	lines per page (auto)',NEWLINE
  dc.b '	-n<i>	linespace in dots/3 (29)',NEWLINE
  dc.b '	-m<i>	printer mode, overruling other settings (see manual)',NEWLINE
  dc.b '	-q	low height, superscript',NEWLINE
  dc.b '	-el	elite (default)',NEWLINE
  dc.b '	-p	pica',NEWLINE
  dc.b '	-c	condensed',NEWLINE
  dc.b '	-en	enlarged',NEWLINE
  dc.b '	-em	emphasized',NEWLINE
  dc.b '	-d	double strike',NEWLINE
  dc.b '	-v	variable pitch (proportional)',NEWLINE
  dc.b '	-i<i>	paperlength in inches (11)',NEWLINE
  dc.b '	-ed	paper end detection off',NEWLINE
  dc.b '	-y	donot adjust paper',NEWLINE
  dc.b '	-t[<your special title>]  print title',NEWLINE
  dc.b '	-o	output is standard',NEWLINE
  dc.b 0

Colon	dc.b	': ',0
NewLine dc.b	NEWLINE,0

	xref	_Er,_ConOut,_DOSBase,_Pr


	END

