*
* grabfont.s
*

	opt	o+,w-

MAX_CHARS	equ	64


	SECTION	TEXT

start
	lea	picture+34(pc),a0
	lea	buffer,a1

	moveq	#MAX_CHARS-1,d0
	moveq	#40,d1
.char
OFF	set	0
	REPT	5
	move.b	OFF(a0),(a1)+
OFF	set	OFF+160
	ENDR
	addq.w	#1,a0
	move.w	a0,d2
	and.w	#1,d2
	bne.s	.no_bump
	addq.w	#6,a0
.no_bump
	subq.w	#1,d1
	bne.s	.same_line
	lea	(7*160)(a0),a0
	moveq	#40,d1
.same_line
	dbf	d0,.char

	bsr	create_file
	bsr	write_file
	bsr	close_file

	clr.w	-(sp)		; Exit.
	trap	#1


create_file
	clr.w	-(sp)
	pea	filename(pc)
	move.w	#60,-(sp)
	trap	#1
	addq.w	#8,sp
	move.w	d0,handle
	rts

write_file
	pea	buffer
	pea	(MAX_CHARS*5)
	move.w	handle,-(sp)
	move.w	#64,-(sp)
	trap	#1
	add.w	#12,sp
	rts

close_file
	move.w	handle,-(sp)
	move.w	#62,-(sp)
	trap	#1
	addq.w	#4,sp
	rts


	SECTION	DATA

filename
	dc.b	'FONT.DAT',0
	even

picture		incbin	"FONT.PI1"


	SECTION	BSS

handle	ds.w	1

buffer	ds.b	(MAX_CHARS*5)
