mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-06-27 17:39:41 -06:00
DSP: fix PDATA reads being one off
This commit is contained in:
@ -348,7 +348,7 @@ void DSi_DSP::PDataDMACancel()
|
|||||||
}
|
}
|
||||||
u16 DSi_DSP::PDataDMAReadMMIO()
|
u16 DSi_DSP::PDataDMAReadMMIO()
|
||||||
{
|
{
|
||||||
u16 ret;
|
u16 ret = 0; // TODO: is this actually 0, or just open bus?
|
||||||
|
|
||||||
if (!PDATAReadFifo.IsEmpty())
|
if (!PDATAReadFifo.IsEmpty())
|
||||||
ret = PDATAReadFifo.Read();
|
ret = PDATAReadFifo.Read();
|
||||||
@ -362,15 +362,9 @@ u16 DSi_DSP::PDataDMAReadMMIO()
|
|||||||
|
|
||||||
for (int i = 0; i < left; ++i)
|
for (int i = 0; i < left; ++i)
|
||||||
PDataDMAFetch();
|
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())
|
if (!PDATAReadFifo.IsEmpty() || PDATAReadFifo.IsFull())
|
||||||
DSi.SetIRQ(0, IRQ_DSi_DSP);
|
DSi.SetIRQ(0, IRQ_DSi_DSP);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user