From aa94cbaeb0cca8c3f05639fd93a979b38757f899 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Thu, 3 Sep 2020 11:51:50 +0200 Subject: DSi: add support for 8-bit VRAM writes when enabled in SCFG_EXT. fixes #733 --- src/DSi.cpp | 14 ++++++++++++++ src/DSi_Camera.cpp | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src') 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(addr, val); return; + case 0x00200000: GPU::WriteVRAM_BBG(addr, val); return; + case 0x00400000: GPU::WriteVRAM_AOBJ(addr, val); return; + case 0x00600000: GPU::WriteVRAM_BOBJ(addr, val); return; + default: GPU::WriteVRAM_LCDC(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); } -- cgit v1.2.3