mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-22 05:40:15 -06:00
fix bug with IPC FIFO IRQs
This commit is contained in:
6
NDS.cpp
6
NDS.cpp
@ -1433,8 +1433,9 @@ void ARM9IOWrite32(u32 addr, u32 val)
|
||||
IPCFIFOCnt9 |= 0x4000;
|
||||
else
|
||||
{
|
||||
bool wasempty = IPCFIFO9->IsEmpty();
|
||||
IPCFIFO9->Write(val);
|
||||
if (IPCFIFOCnt7 & 0x0400)
|
||||
if ((IPCFIFOCnt7 & 0x0400) && wasempty)
|
||||
TriggerIRQ(1, IRQ_IPCRecv);
|
||||
}
|
||||
}
|
||||
@ -1736,8 +1737,9 @@ void ARM7IOWrite32(u32 addr, u32 val)
|
||||
IPCFIFOCnt7 |= 0x4000;
|
||||
else
|
||||
{
|
||||
bool wasempty = IPCFIFO7->IsEmpty();
|
||||
IPCFIFO7->Write(val);
|
||||
if (IPCFIFOCnt9 & 0x0400)
|
||||
if ((IPCFIFOCnt9 & 0x0400) && wasempty)
|
||||
TriggerIRQ(0, IRQ_IPCRecv);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user