From 49317e9165263ba01df5d875f07081786a51241e Mon Sep 17 00:00:00 2001 From: Arisotura Date: Fri, 11 Dec 2020 18:06:26 +0100 Subject: don't axe error bits when writing to IPCFIFOCNT. fixes #801 --- src/NDS.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/NDS.cpp b/src/NDS.cpp index b8b83f7..8b49328 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -3245,7 +3245,7 @@ void ARM9IOWrite16(u32 addr, u16 val) SetIRQ(0, IRQ_IPCRecv); if (val & 0x4000) IPCFIFOCnt9 &= ~0x4000; - IPCFIFOCnt9 = val & 0x8404; + IPCFIFOCnt9 = (val & 0x8404) | (IPCFIFOCnt9 & 0x4000); return; case 0x04000188: @@ -3848,7 +3848,7 @@ void ARM7IOWrite16(u32 addr, u16 val) SetIRQ(1, IRQ_IPCRecv); if (val & 0x4000) IPCFIFOCnt7 &= ~0x4000; - IPCFIFOCnt7 = val & 0x8404; + IPCFIFOCnt7 = (val & 0x8404) | (IPCFIFOCnt7 & 0x4000); return; case 0x04000188: -- cgit v1.2.3