Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
DSP: Add address mask for physical pointers to audio data buffers #4483
The physical audio buffer addresses that Luigi's Mansion Dark Moon gives to the DSP have the least-significant bit set for no obvious reason. Citra took it at its word, resulting in garbled audio. Masking the addresses with
A few extra notes:
I can't imagine any way this PR could affect graphics at all.
I'm not really sure what such a comment would say, other than just directly stating what the code does and what games it affects (e.g.
Here is some insights of how this works:
The DSP firmware doesn't do this masking in code; instead it directly hands this address over the DMA engine. However, the DSP firmware preconfigured the DMA engine to 32-bit mode + x8 bust size, which will effectively mask the address in the same way. I just happened to hwtest this part when implementing it in DSP LLE.
As for comment in the code. I think mentioning that this is DSP DMA hardware behaviour is enough.