*
* grabfont.s
*

	opt	o+,w-


MAX_CHARS	equ	47


	SECTION	TEXT

start
	lea	picture+34(pc),a0
	lea	buffer,a1
	moveq	#0,d0
	move.w	#(MAX_CHARS*4)-1,d1
.loop
OFF	set	0
	REPT	16
	move.b	OFF(a0),(a1)+
OFF	set	OFF+160
	ENDR
	addq.w	#1,a0
	move.w	a0,d2
	and.w	#1,d2
	bne.s	.cont
	addq.w	#6,a0
.cont	addq.w	#1,d0
	cmp.w	#40,d0
	blt.s	.skip
	moveq	#0,d0
	add.w	#(160*15),a0
.skip	dbf	d1,.loop

	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*16*4)
	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	'BORIS.FNT',0
	even

picture		incbin	"FONT.PI1"


	SECTION	BSS

handle	ds.w	1

buffer	ds.b	(MAX_CHARS*16*4)
