Dolphin, the GameCube and Wii emulator - Forums

Full Version: [PATCH] DSP-HLE Plugin: Zelda TP Intro Music [OBSOLETE]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12
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 Smile

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...
But does the music still cut out after a bit?
This issue should be fixed with this patch.
It probably wouldn't fix Mario Galaxy since that uses PCMIA16 sound, I forgot what Zelda Twilight Princess uses.
(04-06-2010, 06:18 AM)Xtreme2damax Wrote: [ -> ]It probably wouldn't fix Mario Galaxy since that uses PCMIA16 sound, I forgot what Zelda Twilight Princess uses.
I remember that the looping issue also affected SMG



Why not just use " if (PB.RepeatMode == 0 || !PB.StopOnSilence == 0) " instead of copying the block again down there ?
Yes it does, but looping in Mario Galaxy uses a different ucode and sound format than Twilight Princess. However I may be wrong, it's worth a try though.
(04-06-2010, 07:01 AM)James333 Wrote: [ -> ]Why not just use " if (PB.RepeatMode == 0 || !PB.StopOnSilence == 0) " instead of copying the block again down there ?

Good point Smile
(Although, I don't know if the PB.StopOnSilence queury could be used for finding the correct PB.LoopStartPos or other special things because PB.RepeatMode is true... But the code duplication is not necessary, that's true.)
You should check mine and James patch, and make this optional for testing purposes or if it causes issues with some games. I haven't tested this patch out yet, but as soon as I do I'll let you know how it works. Smile

http://forums.dolphin-emu.org/thread-6991.html
Ok, I tested this and played for about ten or so minutes and did not notice any degradation of sound. However there is still that issue with echoing environmental and instrumental sounds in Zelda:Windwaker which is why I suggested making it optional.

I may know how to fix the issue with echoing in Windwaker, just not sure if it will work without fuxxing up the looping in Twilight Princess. I will test and report back with additional feedback later on after I have thoroughly tested everything. Smile
It might be a good idea for someone to provide a build with the patch included.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12