From 05e274a1f69b976ae5826e0660f9510c2b3878af Mon Sep 17 00:00:00 2001 From: Hypnotron Date: Thu, 29 Oct 2020 16:09:25 -0400 Subject: [PATCH] Added 8/16-bit IPCFIFOSEND writes --- src/NDS.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/NDS.cpp b/src/NDS.cpp index d42e7356..aef4d3c9 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -3116,6 +3116,10 @@ void ARM9IOWrite8(u32 addr, u8 val) NDSCart::WriteSPIData(val); return; + case 0x04000188: + ARM9IOWrite32(addr, val | (val << 8) | (val << 16) | (val << 24)); + return; + case 0x040001A8: NDSCart::ROMCommand[0] = val; return; case 0x040001A9: NDSCart::ROMCommand[1] = val; return; case 0x040001AA: NDSCart::ROMCommand[2] = val; return; @@ -3232,6 +3236,10 @@ void ARM9IOWrite16(u32 addr, u16 val) IPCFIFOCnt9 = val & 0x8404; return; + case 0x04000188: + ARM9IOWrite32(addr, val | (val << 16)); + return; + case 0x040001A0: if (!(ExMemCnt[0] & (1<<11))) NDSCart::WriteSPICnt(val); return; @@ -3719,6 +3727,10 @@ void ARM7IOWrite8(u32 addr, u8 val) case 0x04000138: RTC::Write(val, true); return; + case 0x04000188: + ARM7IOWrite32(addr, val | (val << 8) | (val << 16) | (val << 24)); + return; + case 0x040001A0: if (ExMemCnt[0] & (1<<11)) { @@ -3827,6 +3839,10 @@ void ARM7IOWrite16(u32 addr, u16 val) IPCFIFOCnt7 = val & 0x8404; return; + case 0x04000188: + ARM7IOWrite32(addr, val | (val << 16)); + return; + case 0x040001A0: if (ExMemCnt[0] & (1<<11)) NDSCart::WriteSPICnt(val);