From 008ef1fd71965016126fa0cdd802cdfe1cc6765d Mon Sep 17 00:00:00 2001 From: RoadrunnerWMC Date: Mon, 3 Dec 2018 12:22:11 -0700 Subject: [PATCH] DSP: Add a comment about physical address masking See @wwylele's comment on PR 4483 for more details on what causes this behavior. --- src/audio_core/hle/source.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/audio_core/hle/source.cpp b/src/audio_core/hle/source.cpp index 6d3c686af..cbf99ec9d 100644 --- a/src/audio_core/hle/source.cpp +++ b/src/audio_core/hle/source.cpp @@ -284,6 +284,8 @@ bool Source::DequeueBuffer() { state.adpcm_state.yn2 = buf.adpcm_yn[1]; } + // This physical address masking occurs due to how the DSP DMA hardware is configured by the + // firmware. const u8* const memory = Memory::GetPhysicalPointer(buf.physical_address & 0xFFFFFFFC); if (memory) { const unsigned num_channels = buf.mono_or_stereo == MonoOrStereo::Stereo ? 2 : 1;