***********************************************************
*
*       TITLE
*          man
*
*       VERSION
*          1
*
*       AUTHOR
*          Dave Tucker
*
*       COPYRIGHT
*          © Skytec Computer Software
*
*       DATE
*          27-Dec-91
*
*       NOTES
*          replacement for Matt Dilions MAN
*
*      TO ASSEMBLE WITH Macro68
*          assem man.asm -c s
*


	exeobj
	objfile	'dh0:assem/c/man'
	include	'dh0:assem/sky.def'

	include	'ram:RevDate'

start	move.l	a0,a5
	move.l	4,a6

	lea	(sky.LIB,pc),a1
	jsr	-$198(a6)
	tst.l	d0

	beq	exit
	move.l	d0,a6

	move.l	a5,a0

1$	cmp.b	#' ',(a0)+
	beq.b	1$

	subq	#1,a0
	move.l	a0,a5
	lea	(file.BUF,pc),a1

2$	move.b	(a0),(a1)+
	cmp.b	#10,(a0)+
	bne.b	2$

	move.b	#0,-(a0)
	move.b	#0,-(a1)


	lea	(file.BUF,pc),a0

	tst.b	(a0)
	bne.b	4$

5$	lea	(usage.MSG),a0
	jsr	(out,a6)
	bra	exit

4$	cmp.b	#'?',(a0)
	beq.b	5$

	lea	(file.NAM,pc),a0
	jsr	(OpenOLD,a6)
	beq.b	3$
	bra.b	getenv

3$	lea	(file.NAM,pc),a0
11$	tst.b	(a0)+
	bne.b	11$
	subq	#1,a0

	lea	(doc.TXT,pc),a1
6$	move.b	(a1)+,(a0)+
	bne.b	6$

	lea	(file.NAM,pc),a0
	jsr	(OpenOLD,a6)
	beq.b	7$
	bra.b	getenv

7$	lea	(file.NAM,pc),a0
8$	tst.b	(a0)+
	bne.b	8$
	subq	#5,a0

	lea	(man.TXT,pc),a1
9$	move.b	(a1)+,(a0)+
	bne.b	9$

	lea	(file.NAM,pc),a0
	jsr	(OpenOLD,a6)
	beq.b	10$
	bra.b	getenv

10$	lea	(file.NAM,pc),a0
12$	tst.b	(a0)+
	bne.b	12$
	subq	#5,a0
	move.b	#0,(a0)

	lea	(no.MSG,pc),a0
	jsr	(out,a6)

	lea	(file.NAM,pc),a0
	jsr	(out,a6)

	lea	(ext.MSG,pc),a0
	jsr	(out,a6)
	bra	exit

getenv	jsr	(Close,a6)

	lea	(env.FIL,pc),a0
	jsr	(OpenOLD,a6)
	beq.b	1$
	move.l	d0,d7

	lea	(env.BUF,pc),a0
	jsr	(GetName,a6)

	move.b	#' ',(a0)+
	lea	(file.NAM,pc),a1

2$	move.b	(a1)+,(a0)+
	bne.b	2$

	move.l	d7,d0
	jsr	(Close,a6)

	lea	(env.BUF,pc),a0
	moveq	#0,d0
	moveq	#0,d1
	jsr	(Execute,a6)

	bra.b	exit

1$	lea	(err.MSG,pc),a0
	jsr	(out,a6)

exit	move.l	a6,d0
	beq.b	1$
	move.l	d0,a1
	move.l	4,a6
	jsr	-$19e(a6)
	moveq	#0,d0
1$	rts


sky.LIB	db	'skytec.library',0
lf.TXT	db	10,0
env.FIL	db	'ENV:pager',0
doc.TXT	db	'.doc',0
man.TXT	db	'.man',0
ext.MSG	db	'[.man|.doc]',10,0
usage.MSG	db	'Man : Usage: Man <file name>',10,0
err.MSG	db	'Man : You must set ''ENV:pager''',10,0
no.MSG	db	'Man : Could not find ',0
file.NAM	db	'MAN:'
file.BUF	db	'                                                     ',0
env.BUF	db	'                                                     ',0
	end
