;*******************************************************************************
;Aleix Riera
;www.fjarre.com/~aleix
;aleix@fjarre.com
;*******************************************************************************
;/////////////////////////////////////////////////////////////////
;MIXING SEND LEVELS
;/////////////////////////////////////////////////////////////////
;MODULE: 4MIXERD
	MOVE	#>ModuleParamX,R_X
	MOVE	#>OutStereo4MixerD,X0
	MOVE	#>InStereo4MixerD0,X1
	MOVE	Y:Ctrl_4MixerDVolume0,Y0
	MOVE	#>InStereo4MixerD1,Y1
	MOVE	Y:Ctrl_4MixerDVolume1,A0
	MOVE	#>InStereo4MixerD2,A1
	MOVE	Y:Ctrl_4MixerDVolume2,B0
	MOVE	#>InStereo4MixerD3,B1
	MOVE	Y:Ctrl_4MixerDVolume3,R1
	MOVE	X0,X:(R_X)
	MOVE	X1,X:(R_X+1)
	MOVE	Y0,X:(R_X+2)
	MOVE	Y1,X:(R_X+3)
	MOVE	A0,X:(R_X+4)
	MOVE	A1,X:(R_X+5)
	MOVE	B0,X:(R_X+6)
	MOVE	B1,X:(R_X+7)
	MOVE	R1,X:(R_X+8)
	BSR	module_4mixerD
;END MODULE
;/////////////////////////////////////////////////////////////////
;PERFORMING THE STEREO DELAY
;/////////////////////////////////////////////////////////////////
;MODULE: DELAYL
	MOVE	#>ModuleParamX_DelayL,R_X
	MOVE	#>InStereoDelay,X0
	MOVE	#>OutStereoDelay,X1
	MOVE	#>DelayBufferL,Y0
	MOVE	#(DELAY_BUFFER_SIZE-1),Y1
	MOVE	#ONE,A0	;Level=max
	MOVE	Y:Ctrl_DelayLineTimeL,A1
	MOVE	Y:Ctrl_DelayLineFeedb,B0
	MOVE	X0,X:(R_X)
	MOVE	X1,X:(R_X+1)
	MOVE	Y0,X:(R_X+2)
	MOVE	Y1,X:(R_X+3)
	;X+4-> index: to be initialized at main.asm
	MOVE	A0,X:(R_X+5)
	MOVE	A1,X:(R_X+6)
	MOVE	B0,X:(R_X+7)
	BSR	module_delay_L
;END MODULE

;MODULE: DELAYR
	MOVE	#>ModuleParamX_DelayR,R_X
	MOVE	#>InStereoDelay,X0
	MOVE	#>OutStereoDelay,X1
	MOVE	#>DelayBufferR,Y0
	MOVE	#(DELAY_BUFFER_SIZE-1),Y1
	MOVE	#ONE,A0	;Level=max
	MOVE	Y:Ctrl_DelayLineTimeR,A1
	MOVE	Y:Ctrl_DelayLineFeedb,B0
	MOVE	X0,X:(R_X)
	MOVE	X1,X:(R_X+1)
	MOVE	Y0,X:(R_X+2)
	MOVE	Y1,X:(R_X+3)
	;X+4-> index: to be initialized at main.asm
	MOVE	A0,X:(R_X+5)
	MOVE	A1,X:(R_X+6)
	MOVE	B0,X:(R_X+7)
	BSR	module_delay_R
;END MODULE