@***********************************************************
@ Function:    WT_VoiceGain
@ Processor:   ARM-E
@ Description: the main synthesis function when fetching 
@			   wavetable samples.
@              C-callable.
@
@ Usage: 
@ Usage: 
@	WT_VoiceGain(
@			S_WT_VOICE *pWTVoice,
@			S_WT_FRAME *pWTFrame);
@
@ Copyright 2004, 2005 Sonic Network, Inc.
@****************************************************************
@ Revision Control:
@   $Revision: 814 $
@   $Date: 2007-08-02 10:34:53 -0700 (Thu, 02 Aug 2007) $
@****************************************************************
@
@   where:
@	S_WT_VOICE *psVoice
@	PASSED IN: r0
@
@	S_WT_FRAME *pWTFrame
@	PASSED IN: r1
@****************************************************************



	.include	"ARM_synth_constants_gnu.inc"

	.arm
	.text

	.global	WT_VoiceGain
	
@ Register usage
@ --------------
pWTVoice	.req	r0
pWTFrame	.req	r1
pInputBuffer	.req	r2
pMixBuffer	.req	r3

tmp0	.req	r4
tmp1	.req	r5
tmp2	.req	r1	@ reuse register
tmp3	.req	r6

numSamples	.req	r9

	.if	STEREO_OUTPUT
gainIncLeft	.req	r7
gainIncRight	.req	r8
gainLeft	.req	r10
gainRight	.req	r11
	.else
gainIncrement	.req	r7
gain	.req	r8
	.endif


@ register context for local variables
@SaveRegs	RLIST	{r4-r11,lr}
@RestoreRegs	RLIST	{r4-r11,pc}

	.func	WT_VoiceGain
WT_VoiceGain:

	STMFD	sp!, {r4-r11,lr}

	LDR		pInputBuffer, [pWTFrame, #m_pAudioBuffer]
	LDR		pMixBuffer, [pWTFrame, #m_pMixBuffer]
	LDR		numSamples, [pWTFrame, #m_numSamples]
	
@----------------------------------------------------------------
@ Stereo version
@----------------------------------------------------------------
@ NOTE: instructions are reordered to reduce the effect of latency 
@ due to storage and computational dependencies.
@----------------------------------------------------------------

	.if	STEREO_OUTPUT

	LDR		tmp0, [pWTFrame, #m_prevGain]
	LDR		tmp1, [pWTFrame, #m_gainTarget]
	
	LDRSH	gainLeft, [pWTVoice, #m_gainLeft]
	LDRSH	gainRight, [pWTVoice, #m_gainRight]
	
	MOV		gainIncLeft, gainLeft
	SMULBB	gainLeft, tmp0, gainLeft

	SMULBB	gainIncLeft, tmp1, gainIncLeft
	SUB		gainIncLeft, gainIncLeft, gainLeft
	MOV		gainLeft, gainLeft, ASR #(NUM_MIXER_GUARD_BITS - 2)
	MOV		gainIncLeft, gainIncLeft, ASR #(SYNTH_UPDATE_PERIOD_IN_BITS + NUM_MIXER_GUARD_BITS - 2)

	MOV		gainIncRight, gainRight
	SMULBB	gainRight, tmp0, gainRight

	SMULBB	gainIncRight, tmp1, gainIncRight
	SUB		gainIncRight, gainIncRight, gainRight
	MOV		gainRight, gainRight, ASR #(NUM_MIXER_GUARD_BITS - 2)
	MOV		gainIncRight, gainIncRight, ASR #(SYNTH_UPDATE_PERIOD_IN_BITS + NUM_MIXER_GUARD_BITS - 2)

	LDRSH		tmp0, [pInputBuffer], #2
	
StereoGainLoop:
	LDR		tmp1, [pMixBuffer]

	ADD		gainLeft, gainLeft, gainIncLeft

	SMLAWB	tmp1, gainLeft, tmp0, tmp1

	LDR		tmp2, [pMixBuffer, #4]

	ADD		gainRight, gainRight, gainIncRight

	STR		tmp1, [pMixBuffer], #4

	SMLAWB	tmp2, gainRight, tmp0, tmp2

	SUBS	numSamples, numSamples, #1

	LDRGTSH	tmp0, [pInputBuffer], #2
	
	STR		tmp2, [pMixBuffer], #4

	BGT		StereoGainLoop

@----------------------------------------------------------------
@ Mono version
@----------------------------------------------------------------
	.else

	LDR		gain, [pWTFrame, #m_prevGain]
	MOV		gain, gain, LSL #(NUM_MIXER_GUARD_BITS + 4)
	LDR		gainIncrement, [pWTFrame, #m_gainTarget]
	MOV		gainIncrement, gainIncrement, LSL #(NUM_MIXER_GUARD_BITS + 4)
	SUB		gainIncrement, gainIncrement, gain
	MOV		gainIncrement, gainIncrement, ASR #SYNTH_UPDATE_PERIOD_IN_BITS
	
MonoGainLoop:

	LDRSH	tmp0, [pInputBuffer], #NEXT_OUTPUT_PCM	@ fetch voice output
	
	LDR		tmp1, [pMixBuffer]						@ get left channel output sample
	ADD		gain, gain, gainIncrement				@ gain step to eliminate zipper noise
	SMULWB	tmp0, gain, tmp0 						@ sample * local gain

	MOV		tmp0, tmp0, ASR #1						@ add 6dB headroom
	ADD 	tmp1, tmp0, tmp1
	STR		tmp1, [pMixBuffer], #4					@ save and bump pointer
	
	SUBS	numSamples, numSamples, #1
	BGT		MonoGainLoop

	.endif	@end Mono version

	LDMFD	sp!,{r4-r11,lr}
	BX		lr
	
	.endfunc
	.end

