break;\r
//-------------------------------------------------//\r
case H_SPUReverbAddr:\r
- if(val==0xFFFF || val<=0x200)\r
- {rvb.StartAddr=rvb.CurrAddr=0;}\r
- else\r
- {\r
- const long iv=(unsigned long)val<<2;\r
- if(rvb.StartAddr!=iv)\r
- {\r
- rvb.StartAddr=(unsigned long)val<<2;\r
- rvb.CurrAddr=rvb.StartAddr;\r
- }\r
- }\r
goto rvbd;\r
//-------------------------------------------------//\r
case H_SPUirqAddr:\r
goto upd_irq;\r
//-------------------------------------------------//\r
case H_SPUrvolL:\r
- rvb.VolLeft=val;\r
+ spu.rvb->VolLeft=val;\r
break;\r
//-------------------------------------------------//\r
case H_SPUrvolR:\r
- rvb.VolRight=val;\r
+ spu.rvb->VolRight=val;\r
break;\r
//-------------------------------------------------//\r
\r
ReverbOn(16,24,val);\r
break;\r
//-------------------------------------------------//\r
- case H_Reverb+0 : rvb.FB_SRC_A=val*4; goto rvbd;\r
- case H_Reverb+2 : rvb.FB_SRC_B=val*4; goto rvbd;\r
- case H_Reverb+4 : rvb.IIR_ALPHA=(short)val; goto rvbd;\r
- case H_Reverb+6 : rvb.ACC_COEF_A=(short)val; goto rvbd;\r
- case H_Reverb+8 : rvb.ACC_COEF_B=(short)val; goto rvbd;\r
- case H_Reverb+10 : rvb.ACC_COEF_C=(short)val; goto rvbd;\r
- case H_Reverb+12 : rvb.ACC_COEF_D=(short)val; goto rvbd;\r
- case H_Reverb+14 : rvb.IIR_COEF=(short)val; goto rvbd;\r
- case H_Reverb+16 : rvb.FB_ALPHA=(short)val; goto rvbd;\r
- case H_Reverb+18 : rvb.FB_X=(short)val; goto rvbd;\r
- case H_Reverb+20 : rvb.IIR_DEST_A0=val*4; goto rvbd;\r
- case H_Reverb+22 : rvb.IIR_DEST_A1=val*4; goto rvbd;\r
- case H_Reverb+24 : rvb.ACC_SRC_A0=val*4; goto rvbd;\r
- case H_Reverb+26 : rvb.ACC_SRC_A1=val*4; goto rvbd;\r
- case H_Reverb+28 : rvb.ACC_SRC_B0=val*4; goto rvbd;\r
- case H_Reverb+30 : rvb.ACC_SRC_B1=val*4; goto rvbd;\r
- case H_Reverb+32 : rvb.IIR_SRC_A0=val*4; goto rvbd;\r
- case H_Reverb+34 : rvb.IIR_SRC_A1=val*4; goto rvbd;\r
- case H_Reverb+36 : rvb.IIR_DEST_B0=val*4; goto rvbd;\r
- case H_Reverb+38 : rvb.IIR_DEST_B1=val*4; goto rvbd;\r
- case H_Reverb+40 : rvb.ACC_SRC_C0=val*4; goto rvbd;\r
- case H_Reverb+42 : rvb.ACC_SRC_C1=val*4; goto rvbd;\r
- case H_Reverb+44 : rvb.ACC_SRC_D0=val*4; goto rvbd;\r
- case H_Reverb+46 : rvb.ACC_SRC_D1=val*4; goto rvbd;\r
- case H_Reverb+48 : rvb.IIR_SRC_B1=val*4; goto rvbd;\r
- case H_Reverb+50 : rvb.IIR_SRC_B0=val*4; goto rvbd;\r
- case H_Reverb+52 : rvb.MIX_DEST_A0=val*4; goto rvbd;\r
- case H_Reverb+54 : rvb.MIX_DEST_A1=val*4; goto rvbd;\r
- case H_Reverb+56 : rvb.MIX_DEST_B0=val*4; goto rvbd;\r
- case H_Reverb+58 : rvb.MIX_DEST_B1=val*4; goto rvbd;\r
- case H_Reverb+60 : rvb.IN_COEF_L=(short)val; goto rvbd;\r
- case H_Reverb+62 : rvb.IN_COEF_R=(short)val; goto rvbd;\r
+ case H_Reverb+0 : goto rvbd;\r
+ case H_Reverb+2 : goto rvbd;\r
+ case H_Reverb+4 : spu.rvb->IIR_ALPHA=(short)val; break;\r
+ case H_Reverb+6 : spu.rvb->ACC_COEF_A=(short)val; break;\r
+ case H_Reverb+8 : spu.rvb->ACC_COEF_B=(short)val; break;\r
+ case H_Reverb+10 : spu.rvb->ACC_COEF_C=(short)val; break;\r
+ case H_Reverb+12 : spu.rvb->ACC_COEF_D=(short)val; break;\r
+ case H_Reverb+14 : spu.rvb->IIR_COEF=(short)val; break;\r
+ case H_Reverb+16 : spu.rvb->FB_ALPHA=(short)val; break;\r
+ case H_Reverb+18 : spu.rvb->FB_X=(short)val; break;\r
+ case H_Reverb+20 : goto rvbd;\r
+ case H_Reverb+22 : goto rvbd;\r
+ case H_Reverb+24 : goto rvbd;\r
+ case H_Reverb+26 : goto rvbd;\r
+ case H_Reverb+28 : goto rvbd;\r
+ case H_Reverb+30 : goto rvbd;\r
+ case H_Reverb+32 : goto rvbd;\r
+ case H_Reverb+34 : goto rvbd;\r
+ case H_Reverb+36 : goto rvbd;\r
+ case H_Reverb+38 : goto rvbd;\r
+ case H_Reverb+40 : goto rvbd;\r
+ case H_Reverb+42 : goto rvbd;\r
+ case H_Reverb+44 : goto rvbd;\r
+ case H_Reverb+46 : goto rvbd;\r
+ case H_Reverb+48 : goto rvbd;\r
+ case H_Reverb+50 : goto rvbd;\r
+ case H_Reverb+52 : goto rvbd;\r
+ case H_Reverb+54 : goto rvbd;\r
+ case H_Reverb+56 : goto rvbd;\r
+ case H_Reverb+58 : goto rvbd;\r
+ case H_Reverb+60 : spu.rvb->IN_COEF_L=(short)val; break;\r
+ case H_Reverb+62 : spu.rvb->IN_COEF_R=(short)val; break;\r
}\r
return;\r
\r
return;\r
\r
rvbd:\r
- rvb.dirty = 1; // recalculate on next update\r
+ spu.rvb->dirty = 1; // recalculate on next update\r
}\r
\r
////////////////////////////////////////////////////////////////////////\r