mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
emumem: Fix range tracking when creating a subdispatch
This commit is contained in:
parent
cf29455ae1
commit
f726eeeee0
@ -201,6 +201,8 @@ template<int HighBits, int Width, int AddrShift> void handler_entry_read_dispatc
|
|||||||
cur->unref();
|
cur->unref();
|
||||||
m_u_dispatch[entry] = subdispatch;
|
m_u_dispatch[entry] = subdispatch;
|
||||||
subdispatch->populate_nomirror(start, end, ostart, oend, handler);
|
subdispatch->populate_nomirror(start, end, ostart, oend, handler);
|
||||||
|
range_cut_before(((entry - 1) << LowBits) - 1, entry);
|
||||||
|
range_cut_after((entry + 1) << LowBits, entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,6 +278,8 @@ template<int HighBits, int Width, int AddrShift> void handler_entry_read_dispatc
|
|||||||
cur->unref();
|
cur->unref();
|
||||||
m_u_dispatch[entry] = subdispatch;
|
m_u_dispatch[entry] = subdispatch;
|
||||||
subdispatch->populate_mirror(start, end, ostart, oend, mirror, handler);
|
subdispatch->populate_mirror(start, end, ostart, oend, mirror, handler);
|
||||||
|
range_cut_before(((entry - 1) << LowBits) - 1, entry);
|
||||||
|
range_cut_after((entry + 1) << LowBits, entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,6 +200,8 @@ template<int HighBits, int Width, int AddrShift> void handler_entry_write_dispat
|
|||||||
cur->unref();
|
cur->unref();
|
||||||
m_u_dispatch[entry] = subdispatch;
|
m_u_dispatch[entry] = subdispatch;
|
||||||
subdispatch->populate_nomirror(start, end, ostart, oend, handler);
|
subdispatch->populate_nomirror(start, end, ostart, oend, handler);
|
||||||
|
range_cut_before(((entry - 1) << LowBits) - 1, entry);
|
||||||
|
range_cut_after((entry + 1) << LowBits, entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,6 +277,8 @@ template<int HighBits, int Width, int AddrShift> void handler_entry_write_dispat
|
|||||||
cur->unref();
|
cur->unref();
|
||||||
m_u_dispatch[entry] = subdispatch;
|
m_u_dispatch[entry] = subdispatch;
|
||||||
subdispatch->populate_mirror(start, end, ostart, oend, mirror, handler);
|
subdispatch->populate_mirror(start, end, ostart, oend, mirror, handler);
|
||||||
|
range_cut_before(((entry - 1) << LowBits) - 1, entry);
|
||||||
|
range_cut_after((entry + 1) << LowBits, entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,8 +36,6 @@ boards without a module slot. CPU and VIA were replaced with new WDC 14MHz-rated
|
|||||||
chips, running at 16MHz.
|
chips, running at 16MHz.
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- remove install_ram workaround when emumem bug is fixed, see:
|
|
||||||
https://github.com/mamedev/mame/commit/75caceb1c143757d10f874b0c2ebf0427f4dfc9f#commitcomment-84413054
|
|
||||||
- avelan, gms3, gms4, sargon35 rom labels
|
- avelan, gms3, gms4, sargon35 rom labels
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -172,11 +170,7 @@ DEVICE_IMAGE_LOAD_MEMBER(arb_state::cart_load)
|
|||||||
|
|
||||||
// extra ram (optional)
|
// extra ram (optional)
|
||||||
if (image.get_feature("ram"))
|
if (image.get_feature("ram"))
|
||||||
{
|
m_maincpu->space(AS_PROGRAM).install_ram(0x0800, 0x0fff, 0x1000, m_extram);
|
||||||
//m_maincpu->space(AS_PROGRAM).install_ram(0x0800, 0x0fff, 0x1000, m_extram);
|
|
||||||
m_maincpu->space(AS_PROGRAM).install_ram(0x0800, 0x0fff, 0, m_extram);
|
|
||||||
m_maincpu->space(AS_PROGRAM).install_ram(0x1800, 0x1fff, 0, m_extram);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_altboard = bool(image.get_feature("altboard"));
|
m_altboard = bool(image.get_feature("altboard"));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user