summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/emumem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/emumem.cpp')
-rw-r--r--src/emu/emumem.cpp4
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