From ce6d304d850c5a8b64d2f18bae1b21e79b63a757 Mon Sep 17 00:00:00 2001 From: mightymax Date: Sat, 6 Jan 2007 14:13:01 +0000 Subject: [PATCH] fixed recalculate permission masks on region permission added, corrected ITCM base address write, its read only --- desmume/src/cp15.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/desmume/src/cp15.c b/desmume/src/cp15.c index 22141df05..f42101788 100644 --- a/desmume/src/cp15.c +++ b/desmume/src/cp15.c @@ -478,9 +478,11 @@ BOOL armcp15_moveARM2CP(armcp15_t *armcp15, u32 val, u8 CRn, u8 CRm, u8 opcode1, { case 2 : armcp15->DaccessPerm = val; + armcp15_maskPrecalc(armcp15) return TRUE; case 3 : armcp15->IaccessPerm = val; + armcp15_maskPrecalc(armcp15) return TRUE; default : return FALSE; @@ -564,7 +566,8 @@ BOOL armcp15_moveARM2CP(armcp15_t *armcp15, u32 val, u8 CRn, u8 CRm, u8 opcode1, return TRUE; case 1 : armcp15->ITCMRegion = val; - MMU.ITCMRegion = val & 0x0FFFFFFC0; + /* ITCM base is not writeable! */ + MMU.ITCMRegion = 0; return TRUE; default : return FALSE;