mirror of
https://github.com/holub/mame
synced 2025-10-07 09:25:34 +03:00
Ensure split accesses are always done in increasing addresses order (nw)
This commit is contained in:
parent
0ae1c2aaa5
commit
5d04fdd06a
@ -13,6 +13,7 @@ template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, A
|
|||||||
{
|
{
|
||||||
const auto &entries = descriptor.get_entries_for_key(ukey);
|
const auto &entries = descriptor.get_entries_for_key(ukey);
|
||||||
fill(descriptor, entries);
|
fill(descriptor, entries);
|
||||||
|
std::sort(m_subunit_infos, m_subunit_infos + m_subunits, [](const subunit_info &a, const subunit_info &b) { return a.m_offset < a.m_offset; });
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, AddrShift, Endian>::handler_entry_read_units(const memory_units_descriptor<Width, AddrShift, Endian> &descriptor, u8 ukey, const handler_entry_read_units *src) :
|
template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, AddrShift, Endian>::handler_entry_read_units(const memory_units_descriptor<Width, AddrShift, Endian> &descriptor, u8 ukey, const handler_entry_read_units *src) :
|
||||||
@ -32,6 +33,7 @@ template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, A
|
|||||||
}
|
}
|
||||||
|
|
||||||
fill(descriptor, entries);
|
fill(descriptor, entries);
|
||||||
|
std::sort(m_subunit_infos, m_subunit_infos + m_subunits, [](const subunit_info &a, const subunit_info &b) { return a.m_offset < a.m_offset; });
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, AddrShift, Endian>::~handler_entry_read_units()
|
template<int Width, int AddrShift, int Endian> handler_entry_read_units<Width, AddrShift, Endian>::~handler_entry_read_units()
|
||||||
@ -126,6 +128,7 @@ template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width,
|
|||||||
{
|
{
|
||||||
const auto &entries = descriptor.get_entries_for_key(ukey);
|
const auto &entries = descriptor.get_entries_for_key(ukey);
|
||||||
fill(descriptor, entries);
|
fill(descriptor, entries);
|
||||||
|
std::sort(m_subunit_infos, m_subunit_infos + m_subunits, [](const subunit_info &a, const subunit_info &b) { return a.m_offset < a.m_offset; });
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width, AddrShift, Endian>::handler_entry_write_units(const memory_units_descriptor<Width, AddrShift, Endian> &descriptor, u8 ukey, const handler_entry_write_units<Width, AddrShift, Endian> *src) :
|
template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width, AddrShift, Endian>::handler_entry_write_units(const memory_units_descriptor<Width, AddrShift, Endian> &descriptor, u8 ukey, const handler_entry_write_units<Width, AddrShift, Endian> *src) :
|
||||||
@ -145,6 +148,7 @@ template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width,
|
|||||||
}
|
}
|
||||||
|
|
||||||
fill(descriptor, entries);
|
fill(descriptor, entries);
|
||||||
|
std::sort(m_subunit_infos, m_subunit_infos + m_subunits, [](const subunit_info &a, const subunit_info &b) { return a.m_offset < a.m_offset; });
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width, AddrShift, Endian>::~handler_entry_write_units()
|
template<int Width, int AddrShift, int Endian> handler_entry_write_units<Width, AddrShift, Endian>::~handler_entry_write_units()
|
||||||
|
Loading…
Reference in New Issue
Block a user