diff options
Diffstat (limited to 'src/DSi.cpp')
-rw-r--r-- | src/DSi.cpp | 14 |
1 files changed, 14 insertions, 0 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); |