DSi: add support for 8-bit VRAM writes when enabled in SCFG_EXT. fixes #733

This commit is contained in:
Arisotura 2020-09-03 11:51:50 +02:00
parent 4be68aafe0
commit aa94cbaeb0
2 changed files with 16 additions and 2 deletions

View File

@ -912,6 +912,20 @@ void ARM9Write8(u32 addr, u8 val)
case 0x04000000: case 0x04000000:
ARM9IOWrite8(addr, val); ARM9IOWrite8(addr, val);
return; 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); return NDS::ARM9Write8(addr, val);

View File

@ -140,7 +140,7 @@ u16 DSi_Camera::ReadReg(u16 addr)
case 0x301A: return ((~StandbyCnt) & 0x4000) >> 12; 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; return 0;
} }
@ -162,5 +162,5 @@ void DSi_Camera::WriteReg(u16 addr, u16 val)
return; 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);
} }