diff --git a/src/HLE_Retail/IPC.cpp b/src/HLE_Retail/IPC.cpp index e2c43456..48ab92d3 100644 --- a/src/HLE_Retail/IPC.cpp +++ b/src/HLE_Retail/IPC.cpp @@ -729,6 +729,15 @@ void OnIPCRequest() OnIPCRequest_CartSave(data); break; + case 0xC: + if (data == 0x1000) + { + // TODO: stop/reset hardware + + SendIPCReply(0xC, 0x1000); + } + break; + case 0xD: // cart OnIPCRequest_Cart(data); break; diff --git a/src/NDS.cpp b/src/NDS.cpp index 69c62be1..6d19d88f 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -2044,7 +2044,7 @@ return; u8 ARM9Read8(u32 addr) -{if(addr>=0x0208DAE0 && addr<0x0208E7E0) printf("PRALON8 %08X %08X\n", addr, ARM9->R[15]); +{ if ((addr & 0xFFFFF000) == 0xFFFF0000) { return *(u8*)&ARM9BIOS[addr & 0xFFF]; @@ -2102,7 +2102,7 @@ u8 ARM9Read8(u32 addr) } u16 ARM9Read16(u32 addr) -{if(addr>=0x0208DAE0 && addr<0x0208E7E0) printf("PRALON16 %08X %08X\n", addr, ARM9->R[15]); +{ addr &= ~0x1; if ((addr & 0xFFFFF000) == 0xFFFF0000) @@ -2162,7 +2162,7 @@ u16 ARM9Read16(u32 addr) } u32 ARM9Read32(u32 addr) -{if(addr>=0x0208DAE0 && addr<0x0208E7E0) printf("PRALON32 %08X %08X\n", addr, ARM9->R[15]); +{ addr &= ~0x3; if ((addr & 0xFFFFF000) == 0xFFFF0000)