diff options
Diffstat (limited to 'src/emu/emumem.cpp')
-rw-r--r-- | src/emu/emumem.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/emu/emumem.cpp b/src/emu/emumem.cpp index ac8a3ddc319..e689b161dc9 100644 --- a/src/emu/emumem.cpp +++ b/src/emu/emumem.cpp @@ -2043,8 +2043,6 @@ void address_space::check_optimize_all(const char *function, int width, offs_t a if (addrmask & ~m_addrmask) fatalerror("%s: In range %x-%x mask %x mirror %x select %x, mask is outside of the global address mask %x, did you mean %x ?\n", function, addrstart, addrend, addrmask, addrmirror, addrselect, m_addrmask, addrmask & m_addrmask); - if (addrmirror & ~m_addrmask) - fatalerror("%s: In range %x-%x mask %x mirror %x select %x, mirror is outside of the global address mask %x, did you mean %x ?\n", function, addrstart, addrend, addrmask, addrmirror, addrselect, m_addrmask, addrmirror & m_addrmask); if (addrselect & ~m_addrmask) fatalerror("%s: In range %x-%x mask %x mirror %x select %x, select is outside of the global address mask %x, did you mean %x ?\n", function, addrstart, addrend, addrmask, addrmirror, addrselect, m_addrmask, addrselect & m_addrmask); if (addrmask & ~changing_bits) @@ -2108,7 +2106,7 @@ void address_space::check_optimize_all(const char *function, int width, offs_t a nstart = addrstart; nend = addrend; nmask = (addrmask ? addrmask : changing_bits) | addrselect; - nmirror = addrmirror | addrselect; + nmirror = (addrmirror & m_addrmask) | addrselect; if(nmirror && !(nstart & changing_bits) && !((~nend) & changing_bits)) { // If the range covers the a complete power-of-two zone, it is // possible to remove 1 bits from the mirror, pushing the end |