aboutsummaryrefslogtreecommitdiff
path: root/src/CP15.cpp
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-06-10 15:29:40 +0200
committerArisotura <thetotalworm@gmail.com>2019-06-10 15:29:40 +0200
commitfd28391160c5d069c4a930387a2be379b4c59b0b (patch)
treeee810f8df3abb1f67abbdaa130bc61e2cb9063c3 /src/CP15.cpp
parentd28035674a7a886199f1fb5805fdd6e8238215d9 (diff)
fix ass-stupid bug in CP15 PU region setup
Diffstat (limited to 'src/CP15.cpp')
-rw-r--r--src/CP15.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/CP15.cpp b/src/CP15.cpp
index 61a3ec4..a4db5f3 100644
--- a/src/CP15.cpp
+++ b/src/CP15.cpp
@@ -174,7 +174,15 @@ void ARMv5::UpdatePURegions()
for (int n = 0; n < 8; n++)
{
u32 rgn = PU_Region[n];
- if (!(rgn & (1<<0))) continue;
+ if (!(rgn & (1<<0)))
+ {
+ coderw >>= 4;
+ datarw >>= 4;
+ codecache >>= 1;
+ datacache >>= 1;
+ datawrite >>= 1;
+ continue;
+ }
u32 start = rgn >> 12;
u32 sz = 2 << ((rgn >> 1) & 0x1F);
@@ -399,7 +407,7 @@ void ARMv5::ICacheInvalidateAll()
void ARMv5::CP15Write(u32 id, u32 val)
{
- //printf("CP15 write op %03X %08X %08X\n", id, val, NDS::ARM9->R[15]);
+ //printf("CP15 write op %03X %08X %08X\n", id, val, R[15]);
switch (id)
{