From 8cd2d972abe58288d491425dd1cbcf699ac3c57a Mon Sep 17 00:00:00 2001 From: Arisotura Date: Tue, 24 Jun 2025 01:03:14 +0200 Subject: [PATCH] DSP: fix PDATA reads being one off --- src/DSi_DSP.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/DSi_DSP.cpp b/src/DSi_DSP.cpp index 20639ea8..57ef8204 100644 --- a/src/DSi_DSP.cpp +++ b/src/DSi_DSP.cpp @@ -348,7 +348,7 @@ void DSi_DSP::PDataDMACancel() } u16 DSi_DSP::PDataDMAReadMMIO() { - u16 ret; + u16 ret = 0; // TODO: is this actually 0, or just open bus? if (!PDATAReadFifo.IsEmpty()) ret = PDATAReadFifo.Read(); @@ -362,15 +362,9 @@ u16 DSi_DSP::PDataDMAReadMMIO() for (int i = 0; i < left; ++i) PDataDMAFetch(); - - ret = PDATAReadFifo.Read(); - } - else - { - // ah, crap - ret = 0; // TODO: is this actually 0, or just open bus? } + // TODO only trigger IRQ if enabled!! if (!PDATAReadFifo.IsEmpty() || PDATAReadFifo.IsFull()) DSi.SetIRQ(0, IRQ_DSi_DSP);