ramwatch: protect all ram, not just the bottom half

This commit is contained in:
Flyinghead 2021-09-06 16:14:38 +02:00
parent a402c69c55
commit 414fb9dba2
1 changed files with 7 additions and 7 deletions

View File

@ -112,12 +112,12 @@ class RamWatcher : public Watcher<RamWatcher>
protected:
void protectMem(u32 addr, u32 size)
{
bm_LockPage(addr, std::min(VRAM_SIZE - addr, size) & ~PAGE_MASK);
bm_LockPage(addr, std::min(RAM_SIZE - addr, size) & ~PAGE_MASK);
}
void unprotectMem(u32 addr, u32 size)
{
bm_UnlockPage(addr, std::min(VRAM_SIZE - addr, size) & ~PAGE_MASK);
bm_UnlockPage(addr, std::min(RAM_SIZE - addr, size) & ~PAGE_MASK);
}
u32 getMemOffset(void *p)
@ -154,16 +154,16 @@ extern AicaRamWatcher aramWatcher;
inline static bool writeAccess(void *p)
{
if (vramWatcher.hit(p))
{
VramLockedWrite((u8 *)p);
return true;
}
if (ramWatcher.hit(p))
{
bm_RamWriteAccess(p);
return true;
}
if (vramWatcher.hit(p))
{
VramLockedWrite((u8 *)p);
return true;
}
return aramWatcher.hit(p);
}