From 343afaffdf24ecc2863d158be498c2b7124dc668 Mon Sep 17 00:00:00 2001 From: "Jake.Stine" Date: Wed, 11 Feb 2009 08:07:37 +0000 Subject: [PATCH] SPU2ghz: Reverted an experimental ASDR slider that broke way more than expected.. >_< git-svn-id: http://pcsx2.googlecode.com/svn/trunk@471 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/spu2ghz/src/mixer.cpp | 26 ++++++++++++-------------- plugins/spu2ghz/src/spu2.cpp | 20 +++++++++----------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/plugins/spu2ghz/src/mixer.cpp b/plugins/spu2ghz/src/mixer.cpp index 4a90da9299..3c0e58cc19 100644 --- a/plugins/spu2ghz/src/mixer.cpp +++ b/plugins/spu2ghz/src/mixer.cpp @@ -344,8 +344,8 @@ static int GetLinearSrAr( uint SrAr ) // the bottom 2 bits go on the left side of the shift, and // the right side of the shift gets divided by 4: - const uint newSr = 0x127 - SrAr; - return (1+(newSr&3)) << (30UL-(newSr>>2)); + const uint newSr = 0x7f - SrAr; + return ((1|(newSr&3)) << (newSr>>2)); } static void __forceinline CalculateADSR( V_Voice& vc ) @@ -372,9 +372,9 @@ static void __forceinline CalculateADSR( V_Voice& vc ) if (env.Am && (env.Value>=0x60000000)) env.Value += PsxRates[(env.Ar^0x7f)-0x18+32]; - else if( env.Ar < 0x7f ) - //env.Value+=PsxRates[(env.Ar^0x7f)-0x10+32]; - env.Value += GetLinearSrAr( env.Ar ); + else //if( env.Ar < 0x7f ) + env.Value+=PsxRates[(env.Ar^0x7f)-0x10+32]; + //env.Value += GetLinearSrAr( env.Ar ); if( env.Value < 0 ) { @@ -422,8 +422,8 @@ static void __forceinline CalculateADSR( V_Voice& vc ) } else // linear { - //env.Value-=PsxRates[(env.Sr^0x7f)-0xf+32]; - env.Value -= GetLinearSrAr( env.Sr ); + env.Value-=PsxRates[(env.Sr^0x7f)-0xf+32]; + //env.Value -= GetLinearSrAr( env.Sr ); } if( env.Value <= 0 ) @@ -439,10 +439,8 @@ static void __forceinline CalculateADSR( V_Voice& vc ) else { // linear / Pseudo below 75% (they're the same) - //env.Value+=PsxRates[(env.Sr^0x7f)-0x10+32]; - - int newSr = 0x7f-env.Sr; - env.Value += GetLinearSrAr( env.Sr ); + env.Value+=PsxRates[(env.Sr^0x7f)-0x10+32]; + //env.Value += GetLinearSrAr( env.Sr ); } if( env.Value < 0 ) @@ -471,7 +469,7 @@ static void __forceinline CalculateADSR( V_Voice& vc ) { //env.Value-=PsxRates[((env.Rr^0x1f)*4)-0xc+32]; if( env.Rr != 0x1f ) - env.Value -= 1 << (30UL-env.Rr); + env.Value -= (1 << (0x1f-env.Rr)); } if( env.Value <= 0 ) @@ -1068,8 +1066,8 @@ static __forceinline void MixVoice( V_Core& thiscore, V_Voice& vc, s32& VValL, s // Write-back of raw voice data (post ADSR applied) - if (voice==1) spu2M_WriteFast( 0x400 + (core<<12) + OutPos, (s16)Value>>3 ); - else if (voice==3) spu2M_WriteFast( 0x600 + (core<<12) + OutPos, (s16)Value>>3 ); + if (voice==1) spu2M_WriteFast( 0x400 + (core<<12) + OutPos, (s16)Value ); + else if (voice==3) spu2M_WriteFast( 0x600 + (core<<12) + OutPos, (s16)Value ); } diff --git a/plugins/spu2ghz/src/spu2.cpp b/plugins/spu2ghz/src/spu2.cpp index 072222f436..5c9f76e809 100644 --- a/plugins/spu2ghz/src/spu2.cpp +++ b/plugins/spu2ghz/src/spu2.cpp @@ -1317,17 +1317,15 @@ void VoiceStart(int core,int vc) #ifndef PUBLIC DebugCores[core].Voices[vc].FirstBlock=1; - if(core==1) - { - if(MsgKeyOnOff()) ConLog(" * SPU2: KeyOn: C%dV%02d: SSA: %8x; M: %s%s%s%s; H: %02x%02x; P: %04x V: %04x/%04x; ADSR: %04x%04x\n", - core,vc,Cores[core].Voices[vc].StartA, - (Cores[core].Voices[vc].DryL)?"+":"-",(Cores[core].Voices[vc].DryR)?"+":"-", - (Cores[core].Voices[vc].WetL)?"+":"-",(Cores[core].Voices[vc].WetR)?"+":"-", - *(u8*)GetMemPtr(Cores[core].Voices[vc].StartA),*(u8 *)GetMemPtr((Cores[core].Voices[vc].StartA)+1), - Cores[core].Voices[vc].Pitch, - Cores[core].Voices[vc].VolumeL.Value,Cores[core].Voices[vc].VolumeR.Value, - Cores[core].Voices[vc].ADSR.Reg_ADSR1,Cores[core].Voices[vc].ADSR.Reg_ADSR2); - } + + if(MsgKeyOnOff()) ConLog(" * SPU2: KeyOn: C%dV%02d: SSA: %8x; M: %s%s%s%s; H: %02x%02x; P: %04x V: %04x/%04x; ADSR: %04x%04x\n", + core,vc,Cores[core].Voices[vc].StartA, + (Cores[core].Voices[vc].DryL)?"+":"-",(Cores[core].Voices[vc].DryR)?"+":"-", + (Cores[core].Voices[vc].WetL)?"+":"-",(Cores[core].Voices[vc].WetR)?"+":"-", + *(u8*)GetMemPtr(Cores[core].Voices[vc].StartA),*(u8 *)GetMemPtr((Cores[core].Voices[vc].StartA)+1), + Cores[core].Voices[vc].Pitch, + Cores[core].Voices[vc].VolumeL.Value,Cores[core].Voices[vc].VolumeR.Value, + Cores[core].Voices[vc].ADSR.Reg_ADSR1,Cores[core].Voices[vc].ADSR.Reg_ADSR2); #endif } else