Hi,
I played a bit with the source code of the DSP-HLE Plugin and tried to activate the music in Zelda TP. I found this little trick to avoid the problems.
Maybe this affects the music in Super Mario Galaxy, as well. But it needs more testing (other games could be broken with this patch). So feedback would be appreciated.
Have fun with this patch!
IMPORTANT: You have to use the game without loading a gamestate! (Loading a gamestate which was created before the patch does not fix the music.)
Hi again,
thanks for the feedback! I upgraded the code (thx James333) and put back the lines from the original version of the DSP_HLE plugin. Furthermore, I replaced the PB.CurAddr calculation with the calculation from DSP_UC_Zelda.txt and now it seems to work (at least there is no more echoing in Zelda WW menu...)
It would be really cool if someone with more knowledge in emulation could look at the code and remove all unnecessary calculations
To avoid further questions according to the application of the patch, I upload the 32 and 64 bit version of the updated Plugin_DSP_HLE.dll. So everyone can try the changes. (I compiled the versions on Windows with Dolphin SVN revision 5287. Just save and replace your old Plugin_DSP_HLE.dll file.)
With this new patch (V3) I try to solve the looping problem or show at least a possible approach. But I'm kind of stuck.
Maybe someone knows a solution or can give a good guess:
The problem is that the patch is very unreliable. If pb.IsBlank == 1 the music stops dead and cannot be resurrected. If pb.IsBlank == 0 everything is almost fine (this condition is handled via the patch but could cause one second of noise).
So when you are debugging the code and set a breakpoint to pb.IsBlank == 1 you can be sure that the music stops / repeats in an unwanted manner.
Maybe this information helps someone else to solve it (as I said I don't know what to do...).
I noticed another thing: To avoid silence, save before music stops and load several times till the music doesn't stop...
ATTENTION: It's just a hack so don't expect any reliable improvements...
I played a bit with the source code of the DSP-HLE Plugin and tried to activate the music in Zelda TP. I found this little trick to avoid the problems.
Maybe this affects the music in Super Mario Galaxy, as well. But it needs more testing (other games could be broken with this patch). So feedback would be appreciated.
Have fun with this patch!
IMPORTANT: You have to use the game without loading a gamestate! (Loading a gamestate which was created before the patch does not fix the music.)
Hi again,
thanks for the feedback! I upgraded the code (thx James333) and put back the lines from the original version of the DSP_HLE plugin. Furthermore, I replaced the PB.CurAddr calculation with the calculation from DSP_UC_Zelda.txt and now it seems to work (at least there is no more echoing in Zelda WW menu...)
It would be really cool if someone with more knowledge in emulation could look at the code and remove all unnecessary calculations
To avoid further questions according to the application of the patch, I upload the 32 and 64 bit version of the updated Plugin_DSP_HLE.dll. So everyone can try the changes. (I compiled the versions on Windows with Dolphin SVN revision 5287. Just save and replace your old Plugin_DSP_HLE.dll file.)
With this new patch (V3) I try to solve the looping problem or show at least a possible approach. But I'm kind of stuck.
Maybe someone knows a solution or can give a good guess:
The problem is that the patch is very unreliable. If pb.IsBlank == 1 the music stops dead and cannot be resurrected. If pb.IsBlank == 0 everything is almost fine (this condition is handled via the patch but could cause one second of noise).
So when you are debugging the code and set a breakpoint to pb.IsBlank == 1 you can be sure that the music stops / repeats in an unwanted manner.
Maybe this information helps someone else to solve it (as I said I don't know what to do...).
I noticed another thing: To avoid silence, save before music stops and load several times till the music doesn't stop...
ATTENTION: It's just a hack so don't expect any reliable improvements...