diff options
-rw-r--r-- | src/DSi.cpp | 14 | ||||
-rw-r--r-- | src/DSi_Camera.cpp | 4 | ||||
-rw-r--r-- | src/NDS.cpp | 2 |
3 files changed, 17 insertions, 3 deletions
diff --git a/src/DSi.cpp b/src/DSi.cpp index 66b8ed0..a96322b 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -912,6 +912,20 @@ void ARM9Write8(u32 addr, u8 val) case 0x04000000: ARM9IOWrite8(addr, val); return; + + case 0x06000000: + if (!(SCFG_EXT[0] & (1<<13))) return; +#ifdef JIT_ENABLED + ARMJIT::CheckAndInvalidate<0, ARMJIT_Memory::memregion_VRAM>(addr); +#endif + switch (addr & 0x00E00000) + { + case 0x00000000: GPU::WriteVRAM_ABG<u8>(addr, val); return; + case 0x00200000: GPU::WriteVRAM_BBG<u8>(addr, val); return; + case 0x00400000: GPU::WriteVRAM_AOBJ<u8>(addr, val); return; + case 0x00600000: GPU::WriteVRAM_BOBJ<u8>(addr, val); return; + default: GPU::WriteVRAM_LCDC<u8>(addr, val); return; + } } return NDS::ARM9Write8(addr, val); diff --git a/src/DSi_Camera.cpp b/src/DSi_Camera.cpp index cc44052..56cba1c 100644 --- a/src/DSi_Camera.cpp +++ b/src/DSi_Camera.cpp @@ -140,7 +140,7 @@ u16 DSi_Camera::ReadReg(u16 addr) case 0x301A: return ((~StandbyCnt) & 0x4000) >> 12; } - printf("DSi_Camera%d: unknown read %04X\n", Num, addr); + //printf("DSi_Camera%d: unknown read %04X\n", Num, addr); return 0; } @@ -162,5 +162,5 @@ void DSi_Camera::WriteReg(u16 addr, u16 val) return; } - printf("DSi_Camera%d: unknown write %04X %04X\n", Num, addr, val); + //printf("DSi_Camera%d: unknown write %04X %04X\n", Num, addr, val); } diff --git a/src/NDS.cpp b/src/NDS.cpp index bb579f6..a23772c 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -3745,7 +3745,7 @@ void ARM7IOWrite8(u32 addr, u8 val) return; case 0x04000301: - val & 0xC0; + val &= 0xC0; if (val == 0x40) printf("!! GBA MODE NOT SUPPORTED\n"); else if (val == 0x80) ARM7->Halt(1); else if (val == 0xC0) EnterSleepMode(); |