Dolphin, the GameCube and Wii emulator - Forums

Full Version: [PATCH] DSP LLE faster masked math
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 13 14 15 16 17 18 19 20
Here is the compatible version with assembly+interpreter code for it.

DSP.cpp / DSPIntMultiplier.cpp have the nice but unrelated LLE hacks from earlier. I changed the mul hack slightly.

Edit: Newer version posted below.
Just a question, is the robotic audio in NSMB a masks issue?

I could of swore that was fixed after pierre's last commit, cause I tested NSMB and it wasn't there. It seems to have resurfaced, but no additional changes to the LLE plugin or core were committed since then.

I will test the new patch. It's not that the LLE plugin runs slow per'se, just that multiple sound effects kill performance. Developing LLE JIT further will fix that once more functions are JIT'd and the idle skipper is implemented properly like the interpreter according to other developers working on the LLE plugin.
(11-24-2010, 05:44 PM)Xtreme2damax Wrote: [ -> ]Just a question, is the robotic audio in NSMB a masks issue?

I could of swore that was fixed after pierre's last commit, cause I tested NSMB and it wasn't there. It seems to have resurfaced, but no additional changes to the LLE plugin or core were committed since then.

I will test the new patch. It's not that the LLE plugin runs slow per'se, just that multiple sound effects kill performance. Developing LLE JIT further will fix that once more functions are JIT'd and the idle skipper is implemented properly like the interpreter according to other developers working on the LLE plugin.

I feel i have been hearing that LLE jit will improve speed since ...forever. My guess is that development have stumbled by now in that regard. Well either that or it's development and advancement is a highly guarded behind the scenes secret that will be revealed in due time RolleyesCool
It's just that it's difficult, it's not like it will be fixed instantaneously. Dolphin itself has been around for a while, and only in the past couple years did development pick up, it takes time to fix certain issues especially if the developers don't currently posses the knowledge to fix these issues. We're lucky sound works at all given how there is little to no official documentation for the DSP hardware and that mostly everything has been reverse engineered from scratch.

In due time it will improve, even if progress is slow.
Awesome, I was playing New Super Mario Bros. full speed with LLE and this patch. Your patch seems to get rid of the robotic audio besides speeding emulation up with LLE.

Some issues however:

- Zelda Ucode games are hanging/freezing, more like freezing.

- Sonic Adventure 2 Battle has this loud ringing, really annoying.

- Kills Wario World, ringing is even more loud and screeching.

- Same for Resident Evils such as Resident Evil 4, ringing/screeching is even more high pitch.

Why does it seem like Zelda Ucode games cause the biggest performance hit?

Edit: out of the games I've tried all exhibit annoying ringing, buzzing, screeching with this patch except NSMB and even that has some issues although minor. Zelda Ucode game just plain freeze/hang. This is faster though so it would be nice to see these small issues fixed.
...no documentation on DSP hardware...has anyone tried asking Nintendo? :>
LordMark found some similar yet different docs that arent as secret as the ones from Nintendo, and it did help us (well, him) understand certain parts of it.
In the end, it still boils down to the emulation of whatever there is, no matter if we have docs of not - and for most of it, we went fine without.
If it sounds worse in any games without the mul hack when compared to the svn build then there is probably a bug in my code somewhere.

I did notice a bug in my interpreter code just looking over it now so maybe this will help.

Yeah that doesn't fix it so there is something else wrong. Without your patch these games work fine, with you patch they have the issues mentioned above.

Edit: I think the interpreter changes are causing Zelda Ucode games to hang or crash. I think the JIT changes are responsible for the ringing, buzzing, screeching audio in most games.
There was a pretty big bug in my jit dec code that should be fixed now with this version.

Without the mul hack it should sound identical to the svn original version if it's working correctly. With zelda for me it seems to hang if I try to use jit + lle on thread with or without the patch.
Your patch also addresses garbage noise, robotic audio and static in the LLE plugin. Crystal clear audio when the game is running full speed now.

It still does seem a bit slow though, any way to address the slowdowns when multiple samples and effects are played as that's what is mostly killing performance?
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20