diff options
Diffstat (limited to 'src/emu/addrmap.cpp')
-rw-r--r-- | src/emu/addrmap.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/emu/addrmap.cpp b/src/emu/addrmap.cpp index 0616947af03..0d8d7bc4eef 100644 --- a/src/emu/addrmap.cpp +++ b/src/emu/addrmap.cpp @@ -708,17 +708,19 @@ void address_map::map_validity_check(validity_checker &valid, int spacenum) cons // look for the region for (device_t &dev : device_iterator(m_device->mconfig().root_device())) - for (const rom_entry *romp = rom_first_region(dev); romp != nullptr && !found; romp = rom_next_region(romp)) + { + for (romload::region const ®ion : romload::entries(dev.rom_region()).get_regions()) { - if (rom_region_name(dev, romp) == entry_region) + if (dev.subtag(region.get_tag()) == entry_region) { // verify the address range is within the region's bounds - offs_t length = ROMREGION_GETLENGTH(romp); + offs_t const length = region.get_length(); if (entry.m_rgnoffs + (byteend - bytestart + 1) > length) osd_printf_error("%s space memory map entry %X-%X extends beyond region '%s' size (%X)\n", spaceconfig.m_name, entry.m_addrstart, entry.m_addrend, entry.m_region, length); found = true; } } + } // error if not found if (!found) |