From d583566a3e4ccdad7a36828dfbacc794fa3428b8 Mon Sep 17 00:00:00 2001 From: zeromus Date: Fri, 11 Feb 2011 07:35:08 +0000 Subject: [PATCH] fix bugs in arm7's VRAMSTAT register --- desmume/src/MMU.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desmume/src/MMU.cpp b/desmume/src/MMU.cpp index 69507b774..34a61a40b 100644 --- a/desmume/src/MMU.cpp +++ b/desmume/src/MMU.cpp @@ -503,8 +503,9 @@ static inline void MMU_VRAMmapRefreshBank(const int bank) break; case 2: //arm7 vramConfiguration.banks[bank].purpose = VramConfiguration::ARM7; - if(bank == 2) T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) | 2); - if(bank == 3) T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) | 1); + if(bank == 2) T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) | 1); + if(bank == 3) T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) | 2); + printf("DING!\n"); switch(ofs) { case 0: case 1: @@ -729,8 +730,7 @@ static inline void MMU_VRAMmapControl(u8 block, u8 VRAMBankCnt) MMU_VRAM_unmap_all(); //unmap VRAM_BANK_C and VRAM_BANK_D from arm7. theyll get mapped again in a moment if necessary - T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) & 2); - T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, T1ReadByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240) & 1); + T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM7][0x40], 0x240, 0); //write the new value to the reg T1WriteByte(MMU.MMU_MEM[ARMCPU_ARM9][0x40], 0x240 + block, VRAMBankCnt);