
 Include "expequ.h"
 Include "equ.h"


	.text

***************************************************
***						***
***************************************************
dumbentry:
	clr.l	d0
	rts

	dc.l	"EXPT"
	dc.w	200
	dc.l	0

table:	dc.l	0
	dc.l	name,special,check,ascii

check:
rrts:	rts

*
* Ascii
*
ascii:	move.l	table,a0
	move.l	f_openw(a0),a0
	jsr	(a0)
	beq	rrts

	move.l	table,a0
	move.l	setrange(a0),a0
	jsr	(a0)

	move.l	table,a0
	move.l	doflag(a0),a0
	tst.b	(a0)
	beq	asc10

	bsr	asc1

asc10:	move.l	table,a0
	move.l	f_closew(a0),a0
	jmp	(a0)



asc1:	move.l	table,a0
	move.l	dorange(a0),a0
	jsr	(a0)
*
* this will get called for every chunk of text to be exported till
* all chunks are gone
*
	move.l	table,a4
	move.l	objptr(a4),a3
	move.l	(a3),a3
	move.l	(a3),a3

	move.l	markcol1(a4),a0
	move.w	(a0),d0
	mulu	#ob_SizeOf,d0
	move.l	ob_Ptr(a3,d0.l),a0
	move.l	(a0),a0
	move.l	cm_THandle(a0),a0
	move.l	(a0),a0
	move.l	a0,a1
	move.l	markoff1(a4),a2
	add.l	(a2),a0
	move.l	markoff2(a4),a2
	add.l	(a2),a1
	move.l	a0,curptr
	move.l	a1,endptr

*
asc2:	move.l	curptr,a0
	cmp.l	endptr,a0
	bcc	rrts
	move.b	(a0)+,d0
	beq	asc9
	move.l	a0,curptr

	lea	ktoi,a0
	move.b	d0,d1
	moveq	#0,d0
asc3:	cmp.b	(a0)+,d1
	beq	asc4
	addq.w	#1,d0
	cmp.w	#256,d0
	bcs	asc3
	bra	asc2
asc4:	bsr	putbyte
	bra	asc2

asc9:	moveq	#0,d0
	move.b	(a0)+,d0
	move.l	a0,curptr
	move.l	d0,-(sp)

	lsl.w	#2,d0
	lea	t_rtns,a0
	move.l	0(a0,d0.w),a0
	jsr	(a0)

	move.l	(sp)+,d0
	move.l	table,a0
	move.l	cmdlength(a0),a0
	move.b	0(a0,d0.l),d0
	add.l	d0,curptr
	bra	asc2


*****************************************
*					*
*****************************************
crlf:	move.b	#$d,d0			;cr
	bsr	putbyte
	move.b	#$a,d0			;lf
	bra	putbyte

tab:	move.b	#9,d0			;tab
	bra	putbyte

*****************************************
*					*
*****************************************
putbyte:
	move.l	table,a1
	move.l	f_put(a1),a1
	jmp	(a1)

*****************************************
*					*
*****************************************
putword:
	move.l	table,a1
	move.l	f_putw(a1),a1
	jmp	(a1)

*************************************************************
*************************************************************
	.data
*

t_rtns:	dc.l	rrts,crlf,rrts,rrts,rrts,rrts,tab,rrts
	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts

	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts

	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts

	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts

	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
	dc.l	rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts


ktoi:	dc.b	$00,$00,$00,$00,$00,$00,$00,$00		;$00-$07
	dc.b	$00,$00,$00,$00,$00,$00,$00,$00		;$08-$0f
	dc.b	$00,$00,$00,$00,$00,$00,$00,$00		;$10-$17
	dc.b	$00,$00,$00,$00,$00,$00,$00,$00		;$18-$1f
	dc.b	$20,$21,$22,$23,$24,$25,$26,$27
	dc.b	$28,$29,$2a,$2b,$2c,$2d,$2e,$2f
	dc.b	$30,$31,$32,$33,$34,$35,$36,$37
	dc.b	$38,$39,$3a,$3b,$3c,$3d,$3e,$3f
	dc.b	$40,$41,$42,$43,$44,$45,$46,$47
	dc.b	$48,$49,$4a,$4b,$4c,$4d,$4e,$4f
	dc.b	$50,$51,$52,$53,$54,$55,$56,$57
	dc.b	$58,$59,$5a,$5b,$5c,$5d,$5e,$5f
	dc.b	$60,$61,$62,$63,$64,$65,$66,$67
	dc.b	$68,$69,$6a,$6b,$6c,$6d,$6e,$6f
	dc.b	$70,$71,$72,$73,$74,$75,$76,$77
	dc.b	$78,$79,$7a,$7b,$7c,$7d,$7e,$00

	dc.b	199,252,233,226,228,224,229,231
	dc.b	234,235,232,239,238,236,196,197
	dc.b	201,230,198,244,246,242,251,249
	dc.b	254,214,220,162,163,161,187,164
	dc.b	225,237,243,250,241,209,189,156
	dc.b	185,000,141,145,144,186,136,137
	dc.b	227,245,159,191,247,215,192,195
	dc.b	213,000,000,180,181,183,184,182
	dc.b	000,000,138,000,000,000,000,000
	dc.b	000,000,000,000,000,000,000,000
	dc.b	000,000,000,000,000,000,000,000
	dc.b	000,000,000,000,000,165,000,151
	dc.b	000,000,000,150,000,000,153,000
	dc.b	000,000,000,000,000,160,000,000
	dc.b	131,140,135,134,000,000,139,130
	dc.b	155,172,171,128,147,148,149,173

*
special:
	dc.w	1
	dc.l	spc1

name:	dc.b	"Ascii Text v2.0.0",0
spc1:	dc.b	"Stripped Ascii",0


	.bss

curptr:	ds.l	1
endptr:	ds.l	1
