summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-06-22 16:23:32 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-06-22 16:23:32 +0000
commit742a3a92b393f10b8d43bb791627369923c72f2a (patch)
treef2d6f0f64ac375476c48fb5706e8e6890ad4048f /src
parent2e199e3e83e03cb48c2c899818bea6583207dfab (diff)
Fix for remaining issues with validation of rom regions (no whatsnew)
Diffstat (limited to 'src')
-rw-r--r--src/emu/dimemory.c6
-rw-r--r--src/emu/memory.c12
2 files changed, 15 insertions, 3 deletions
diff --git a/src/emu/dimemory.c b/src/emu/dimemory.c
index 9b793f9d45f..8e1f43a0b08 100644
--- a/src/emu/dimemory.c
+++ b/src/emu/dimemory.c
@@ -318,7 +318,11 @@ bool device_memory_interface::interface_validity_check(emu_options &options, con
{
astring fulltag;
astring regiontag;
- device().siblingtag(regiontag, entry->m_region);
+ if (strchr(entry->m_region,':')) {
+ regiontag = entry->m_region;
+ } else {
+ device().siblingtag(regiontag, entry->m_region);
+ }
rom_region_name(fulltag, &driver, source, romp);
if (fulltag.cmp(regiontag) == 0)
{
diff --git a/src/emu/memory.c b/src/emu/memory.c
index 5d0b10bc3b0..2f19d82bfa3 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -2136,7 +2136,11 @@ void address_space::prepare_map()
if (entry->m_region != NULL && entry->m_share == NULL && entry->m_baseptr == NULL)
{
astring regiontag;
- m_device.siblingtag(regiontag, entry->m_region);
+ if (strchr(entry->m_region,':')) {
+ regiontag = entry->m_region;
+ } else {
+ m_device.siblingtag(regiontag, entry->m_region);
+ }
const memory_region *region = machine().region(regiontag.cstr());
if (region == NULL)
fatalerror("Error: device '%s' %s space memory map entry %X-%X references non-existant region \"%s\"", m_device.tag(), m_name, entry->m_addrstart, entry->m_addrend, entry->m_region);
@@ -2149,7 +2153,11 @@ void address_space::prepare_map()
// convert any region-relative entries to their memory pointers
if (entry->m_region != NULL) {
astring regiontag;
- m_device.siblingtag(regiontag, entry->m_region);
+ if (strchr(entry->m_region,':')) {
+ regiontag = entry->m_region;
+ } else {
+ m_device.siblingtag(regiontag, entry->m_region);
+ }
entry->m_memory = machine().region(regiontag.cstr())->base() + entry->m_rgnoffs;
}
}