***************************************************************************
*		   Music player coded by OB of Anatomica		  * 
***************************************************************************
	jsr	setsuper
	jsr	setscreen
	move.l	$70.w,oldvbi

	move.l	#music,d0
	sub.l	#$61a4,d0
	lea	music+8340,a1
	lea	music+9196,a2
offs1:	add.l	d0,(a1)+
	cmp.l	a1,a2
	bne	offs1

	lea	music,A0
	lea	music+8340,a1
	lea	music+9196,a3	
relo:	move.l	4(a1),a2
	move.l	(a1),(a2)
	add.l	#8,a1
	cmp.l	a1,a3
	bne	relo

	move.b	#1,music+$825
	jsr	music+$634
	jsr	music+$622
	jsr	music

	move.l	#newvbi,$70.w

***************************************************************************
mainloop:
	jsr	waitvbl

	cmp.b	#57,$fffc02
	beq	slut

	jmp	mainloop
***************************************************************************
slut:
	move.l	oldvbi,$70.w

	move.l #$08080000,$ff8800		
	move.l #$09090000,$ff8800		
	move.l #$0a0a0000,$ff8800		

	jsr	endsuper

	clr.w	-(sp)
	trap	#1
***************************************************************************
setsuper:
	clr.l	-(sp)			
	move.w	#$20,-(sp)
	trap	#1
	addq.l	#6,sp
	move.l	d0,savesuper
	rts
***************************************************************************
endsuper:
	move.l	savesuper,-(sp)
	move.w	#$20,-(sp)
	trap	#1
	addq.l	#6,sp
	rts
***************************************************************************
newvbi:
	move.w	#1,vbiflag

	jsr	music

	rte
***************************************************************************
waitvbl:
	cmpi.w	#1,vbiflag
	bne	waitvbl
	move.w	#0,vbiflag
	rts 
***************************************************************************
setscreen:
	move.w	#0,-(sp)
	move.l	#$70000,-(sp)
	move.l	#$70000,-(sp)
	move.w	#$5,-(sp)
	trap	#14
	add.l	#12,sp
	rts
***************************************************************************
	section data
savesuper:	dc.l	0
vbiflag:	dc.w	0
oldvbi:		dc.l	0
music:		incbin	"diverse\efc.mus"


	end
