; ffm.boot 1.1 : bootblock version of FFM
; by Kyzer/CSG
; $VER: ffm.boot.asm 1.1 (08.04.98)
;
	incdir	include:
	include	lvo/exec_lib.i
	include	devices/bootblock.i
	include	exec/resident.i
	include	hardware/custom.i
	include	hardware/intbits.i
	include	libraries/expansionbase.i

	; write raw code to ffm.boot
	IFD	_PHXASS_
	ORG	0
	FILE	ffm.boot
	ENDC

boot	dc.l	BBNAME_DOS, 0, $370

; start of bootblock code

	btst.b	#6,$bfe001
	beq.s	.skip

	bsr.s	do_FFM

	move.w	#$0f0,d7
	cmp.w	#20,d0
	bne.s	.ok
	move.w	#$f00,d7
.ok	lea	$dff000,a0
	moveq	#25,d1
.color	move.l	d7,color(a0)
	move.w	intreqr(a0),d0
	btst	#INTB_VERTB,d0
	beq.s	.color
	move.w	#INTF_VERTB,intreq(a0)
	dbra	d1,.color

.skip	bra.s	Boot

	incdir	''
do_FFM	include	ffm.asm	


; NORMAL AMIGADOS 1.3/2.0 BOOT PROCESS

Boot	lea	expname(pc),a1
	moveq	#37,d0
	jsr	_LVOOpenLibrary(a6)
	tst.l	d0
	beq.s	.noexp
	move.l	d0,a1
	bset	#EBB_SILENTSTART,eb_Flags(a1)
	jsr	_LVOCloseLibrary(a6)
.noexp	lea	dosname(pc),a1
	jsr	_LVOFindResident(a6)
	tst.l	d0
	beq.s	.nodos
	move.l	d0,a0
	move.l	RT_INIT(a0),a0
	moveq	#0,d0
	rts
.nodos	moveq	#-1,d0
	rts

expname	dc.b	'expansion.library',0
dosname	dc.b	'dos.library',0

	cnop	0,1024
