	opt	l+,c-

	xdef	insefx,fxtsno,eflg
	xref	putvbl,_val4,_val3

	include	df0:Custom.i

sviraj:	macro
	move.w	d1,AUD3PER
	move.w	#SET+AUD3EN+DMAEN,DMACONW
	endm

eflg:	dc.b	0
fxtsno:	dc.b	0
curfx:	dc.b	0

INSEFX:	move.b	#0,eflg
	LEA	EFECTI,A0
	Jmp	PUTVBL

; THE MEAN MUSIC ROUTINE BY JANKO
; RUNS ON THE VERY RELIABLE ATARI VBL INTERRUPT
; ARE HOPES ARE WITH U HOO USE ''IT
;(C)1986 PARADOX SOFTWARE LTD.


EFECTI:	tst.b	EFLG
	BEQ	FXEND

	tst.b	FXTSNO
	BNE	NEWFX

EFED:	LEA	CURFX,A1
	CMPI.B	#1,(A1)
	BEQ	SHOOTFX
	CMPI.B	#2,(A1)
	BEQ	KILLFX
*	CMPI.B	#3,(A1)
*	BEQ	BEEPFX
	CMPI.B	#4,(A1)
	BEQ	SHKILFX
*	CMPI.B	#5,(A1)
*	BEQ	FINLEV
	CMPI.B	#6,(A1)
	BEQ	e6
	move.b	#0,eflg
	move.w	#CLR+AUD3EN,DMACONW
FXEND:	RTS

NEWFX:
	CMPI.B	#3,curfx
	BEQ.S	EFED
	move.w	#CLR+AUD3EN,DMACONW
	LEA	FXTSNO,A1
	CMPI.B	#1,(a1)
	BEQ	SHOOTFN
	CMPI.B	#2,(A1)
	BEQ	KILLFN
*	CMPI.B	#3,(A1)
*	BEQ	BEEPFN
	CMPI.B	#4,(A1)
	BEQ	SHKILFN
*	CMPI.B	#5,(A1)
*	BEQ	FINLEVN
	CMPI.B	#6,(A1)
	BEQ	e6n
	MOVE.B	#0,fxtsno
	bra.s	efed
*	RTS

SHOOTFN:MOVE.w	#916-36,counter
	MOVE.B	fxtsno,curfx
	MOVE.B	#0,fxtsno
	move.l	#_val3,AUD3DAT
	move.w	#128/2,AUD3LEN
	move.w	#64,AUD3VOL
SHOOTFX:move.w	counter,d1
	ADDI.w	#36,d1
	CMPI.w	#1241,D1
	Bgt.S	ENSHOw
	move.w	d1,counter
	sviraj
	RTS

KILLFN:	MOVE.w	#(458-7)*6,counter
	MOVE.B	fxtsno,curfx
	MOVE.B	#0,fxtsno
	move.l	#_val3,AUD3DAT
	move.w	#2,AUD3LEN
	move.w	#47,AUD3VOL
KILLFX:	move.w	counter,d1
	ADDI.w	#7*6,d1
	CMPI.w	#(809-150)*6,D1
	Bgt.S	ENSHOW
*	cmpi.w	#(((809-150)-(450-7))/4+(450-7))*6,d1
*	blt.s	kf1
*	move.w	#64,AUD3VOL
kf1:	move.w	d1,counter
	sviraj
	RTS
ENSHOW:	move.w	#CLR+AUD3EN,DMACONW
	MOVE.B	#0,eflg
	RTS

SHKILFN:move.w	#124*6,counter
	MOVE.B	fxtsno,curfx
	MOVE.B	#0,fxtsno
	move.l	#_val3,AUD3DAT
	move.w	#2,AUD3LEN
	move.w	#28,AUD3VOL
SHKILFX:move.w	counter,d1
	ADDI.w	#7*6,d1
	CMPI.w	#(485-80)*6,D1
	Bgt.S	ENSHOw
	cmpi.w	#(((485-80)-124)/2+124)*6,d1
	blt.s	sf1
	move.w	#64,AUD3VOL
sf1:	move.w	d1,counter
	sviraj
	RTS

e6n:	move.w	#124*6,counter
	MOVE.B	fxtsno,curfx
	MOVE.B	#0,fxtsno
	move.l	#_val3,AUD3DAT
	move.w	#2,AUD3LEN
	move.w	#64,AUD3VOL
e6:	move.w	counter,d1
	ADDI.w	#7*6,d1
	CMPI.w	#(485-80)*6,D1
	Bgt	ENSHOw
	move.w	d1,counter
	sviraj
	RTS

COUNTER:DC.w	0

