mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 18:53:28 +01:00
Allow overlapping ranges in cellGcmMapEaIoAdress with coherency check (#3070)
According to Jarves, lle-gcm branch already does the same thing so we know the behaviour should be correct
This commit is contained in:
parent
b2fa0fdf53
commit
1bef748dc4
@ -59,7 +59,10 @@ bool VirtualMemoryBlock::Map(u32 realaddr, u32 size, u32 addr)
|
||||
{
|
||||
if (addr >= m_mapped_memory[i].addr && addr + size - 1 <= m_mapped_memory[i].addr + m_mapped_memory[i].size - 1)
|
||||
{
|
||||
return false;
|
||||
// it seems mapping another range inside a previous one is legit on ps3
|
||||
// as long as it's coherent aliasing : offset from EA must match IO offset
|
||||
// example game using this pattern : BCES01584 - the last of us
|
||||
return (addr - m_mapped_memory[i].addr) == (realaddr - m_mapped_memory[i].realAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user