From c317f7fd2292c9a3e887c9c31b8ef0d1a8938692 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sun, 19 Jun 2022 10:46:41 -0700 Subject: [PATCH] DSPLLE: Don't log when DIRQ is set to 0 No interrupt is generated in this case. The homebrew liband uCode writes zero fairly frequently, so logging it results in spam. --- Source/Core/Core/DSP/DSPHWInterface.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/DSP/DSPHWInterface.cpp b/Source/Core/Core/DSP/DSPHWInterface.cpp index 7cdd4d0a98..1f22ed7661 100644 --- a/Source/Core/Core/DSP/DSPHWInterface.cpp +++ b/Source/Core/Core/DSP/DSPHWInterface.cpp @@ -96,9 +96,15 @@ void SDSP::WriteIFX(u32 address, u16 value) { case DSP_DIRQ: if ((value & 1) != 0) + { Host::InterruptRequest(); - else + } + else if (value != 0) + { + // The homebrew libasnd uCode frequently writes 0 to DIRQ with a comment + // saying "clear the interrupt" - we don't need to log in this case. WARN_LOG_FMT(DSPLLE, "Unknown Interrupt Request pc={:#06x} ({:#06x})", pc, value); + } break; case DSP_DMBH: