summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/addrmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/addrmap.c')
-rw-r--r--src/emu/addrmap.c168
1 files changed, 84 insertions, 84 deletions
diff --git a/src/emu/addrmap.c b/src/emu/addrmap.c
index a989d1e548a..419e16b056a 100644
--- a/src/emu/addrmap.c
+++ b/src/emu/addrmap.c
@@ -48,19 +48,19 @@
// set_tag - set the appropriate tag for a device
//-------------------------------------------------
-inline void map_handler_data::set_tag(const device_config &devconfig, const char *tag)
+inline void map_handler_data::set_tag(const device_t &device, const char *tag)
{
if (tag == NULL)
m_tag = NULL;
else if (strcmp(tag, DEVICE_SELF) == 0)
- m_tag = devconfig.tag();
+ m_tag = device.tag();
else if (strcmp(tag, DEVICE_SELF_OWNER) == 0)
{
- assert(devconfig.owner() != NULL);
- m_tag = devconfig.owner()->tag();
+ assert(device.owner() != NULL);
+ m_tag = device.owner()->tag();
}
else
- m_tag = devconfig.siblingtag(m_derived_tag, tag);
+ m_tag = device.siblingtag(m_derived_tag, tag);
}
@@ -131,10 +131,10 @@ void address_map_entry::set_mask(offs_t _mask)
// an I/O port
//-------------------------------------------------
-void address_map_entry::set_read_port(const device_config &devconfig, const char *tag)
+void address_map_entry::set_read_port(const device_t &device, const char *tag)
{
m_read.m_type = AMH_PORT;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
}
@@ -143,10 +143,10 @@ void address_map_entry::set_read_port(const device_config &devconfig, const char
// an I/O port
//-------------------------------------------------
-void address_map_entry::set_write_port(const device_config &devconfig, const char *tag)
+void address_map_entry::set_write_port(const device_t &device, const char *tag)
{
m_write.m_type = AMH_PORT;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
}
@@ -155,12 +155,12 @@ void address_map_entry::set_write_port(const device_config &devconfig, const cha
// reading and writing an I/O port
//-------------------------------------------------
-void address_map_entry::set_readwrite_port(const device_config &devconfig, const char *tag)
+void address_map_entry::set_readwrite_port(const device_t &device, const char *tag)
{
m_read.m_type = AMH_PORT;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_write.m_type = AMH_PORT;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
}
@@ -169,10 +169,10 @@ void address_map_entry::set_readwrite_port(const device_config &devconfig, const
// from a memory bank
//-------------------------------------------------
-void address_map_entry::set_read_bank(const device_config &devconfig, const char *tag)
+void address_map_entry::set_read_bank(const device_t &device, const char *tag)
{
m_read.m_type = AMH_BANK;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
}
@@ -181,10 +181,10 @@ void address_map_entry::set_read_bank(const device_config &devconfig, const char
// to a memory bank
//-------------------------------------------------
-void address_map_entry::set_write_bank(const device_config &devconfig, const char *tag)
+void address_map_entry::set_write_bank(const device_t &device, const char *tag)
{
m_write.m_type = AMH_BANK;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
}
@@ -193,12 +193,12 @@ void address_map_entry::set_write_bank(const device_config &devconfig, const cha
// writing to a memory bank
//-------------------------------------------------
-void address_map_entry::set_readwrite_bank(const device_config &devconfig, const char *tag)
+void address_map_entry::set_readwrite_bank(const device_t &device, const char *tag)
{
m_read.m_type = AMH_BANK;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_write.m_type = AMH_BANK;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
}
@@ -238,7 +238,7 @@ void address_map_entry::internal_set_handler(read8_space_func rfunc, const char
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read8_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read8_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(8, unitmask, string));
@@ -246,12 +246,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 8;
m_read.m_mask = unitmask;
m_read.m_name = string;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rdevice8 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write8_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write8_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(8, unitmask, string));
@@ -259,19 +259,19 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 8;
m_write.m_mask = unitmask;
m_write.m_name = string;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wdevice8 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read8_device_func rfunc, const char *rstring, write8_device_func wfunc, const char *wstring, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read8_device_func rfunc, const char *rstring, write8_device_func wfunc, const char *wstring, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, rstring, unitmask);
- internal_set_handler(devconfig, tag, wfunc, wstring, unitmask);
+ internal_set_handler(device, tag, rfunc, rstring, unitmask);
+ internal_set_handler(device, tag, wfunc, wstring, unitmask);
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read8_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read8_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(8, unitmask, func.name()));
@@ -279,12 +279,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 8;
m_read.m_mask = unitmask;
m_read.m_name = func.name();
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rproto8 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write8_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write8_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(8, unitmask, func.name()));
@@ -292,15 +292,15 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 8;
m_write.m_mask = unitmask;
m_write.m_name = func.name();
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wproto8 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read8_delegate rfunc, write8_delegate wfunc, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read8_delegate rfunc, write8_delegate wfunc, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, unitmask);
- internal_set_handler(devconfig, tag, wfunc, unitmask);
+ internal_set_handler(device, tag, rfunc, unitmask);
+ internal_set_handler(device, tag, wfunc, unitmask);
}
@@ -340,7 +340,7 @@ void address_map_entry::internal_set_handler(read16_space_func rfunc, const char
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read16_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read16_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(16, unitmask, string));
@@ -348,12 +348,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 16;
m_read.m_mask = unitmask;
m_read.m_name = string;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rdevice16 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write16_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write16_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(16, unitmask, string));
@@ -361,19 +361,19 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 16;
m_write.m_mask = unitmask;
m_write.m_name = string;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wdevice16 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read16_device_func rfunc, const char *rstring, write16_device_func wfunc, const char *wstring, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read16_device_func rfunc, const char *rstring, write16_device_func wfunc, const char *wstring, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, rstring, unitmask);
- internal_set_handler(devconfig, tag, wfunc, wstring, unitmask);
+ internal_set_handler(device, tag, rfunc, rstring, unitmask);
+ internal_set_handler(device, tag, wfunc, wstring, unitmask);
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read16_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read16_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(16, unitmask, func.name()));
@@ -381,12 +381,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 16;
m_read.m_mask = unitmask;
m_read.m_name = func.name();
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rproto16 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write16_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write16_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(16, unitmask, func.name()));
@@ -394,15 +394,15 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 16;
m_write.m_mask = unitmask;
m_write.m_name = func.name();
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wproto16 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read16_delegate rfunc, write16_delegate wfunc, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read16_delegate rfunc, write16_delegate wfunc, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, unitmask);
- internal_set_handler(devconfig, tag, wfunc, unitmask);
+ internal_set_handler(device, tag, rfunc, unitmask);
+ internal_set_handler(device, tag, wfunc, unitmask);
}
@@ -442,7 +442,7 @@ void address_map_entry::internal_set_handler(read32_space_func rfunc, const char
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read32_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read32_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(32, unitmask, string));
@@ -450,12 +450,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 32;
m_read.m_mask = unitmask;
m_read.m_name = string;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rdevice32 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write32_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write32_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(32, unitmask, string));
@@ -463,19 +463,19 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 32;
m_write.m_mask = unitmask;
m_write.m_name = string;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wdevice32 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read32_device_func rfunc, const char *rstring, write32_device_func wfunc, const char *wstring, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read32_device_func rfunc, const char *rstring, write32_device_func wfunc, const char *wstring, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, rstring, unitmask);
- internal_set_handler(devconfig, tag, wfunc, wstring, unitmask);
+ internal_set_handler(device, tag, rfunc, rstring, unitmask);
+ internal_set_handler(device, tag, wfunc, wstring, unitmask);
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read32_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read32_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(32, unitmask, func.name()));
@@ -483,12 +483,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 32;
m_read.m_mask = unitmask;
m_read.m_name = func.name();
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rproto32 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write32_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write32_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(32, unitmask, func.name()));
@@ -496,15 +496,15 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 32;
m_write.m_mask = unitmask;
m_write.m_name = func.name();
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wproto32 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read32_delegate rfunc, write32_delegate wfunc, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read32_delegate rfunc, write32_delegate wfunc, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, unitmask);
- internal_set_handler(devconfig, tag, wfunc, unitmask);
+ internal_set_handler(device, tag, rfunc, unitmask);
+ internal_set_handler(device, tag, wfunc, unitmask);
}
@@ -544,7 +544,7 @@ void address_map_entry::internal_set_handler(read64_space_func rfunc, const char
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read64_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read64_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(64, unitmask, string));
@@ -552,12 +552,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 64;
m_read.m_mask = 0;
m_read.m_name = string;
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rdevice64 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write64_device_func func, const char *string, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write64_device_func func, const char *string, UINT64 unitmask)
{
assert(func != NULL);
assert(unitmask_is_appropriate(64, unitmask, string));
@@ -565,19 +565,19 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 64;
m_write.m_mask = 0;
m_write.m_name = string;
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wdevice64 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read64_device_func rfunc, const char *rstring, write64_device_func wfunc, const char *wstring, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read64_device_func rfunc, const char *rstring, write64_device_func wfunc, const char *wstring, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, rstring, unitmask);
- internal_set_handler(devconfig, tag, wfunc, wstring, unitmask);
+ internal_set_handler(device, tag, rfunc, rstring, unitmask);
+ internal_set_handler(device, tag, wfunc, wstring, unitmask);
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read64_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read64_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(64, unitmask, func.name()));
@@ -585,12 +585,12 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_read.m_bits = 64;
m_read.m_mask = 0;
m_read.m_name = func.name();
- m_read.set_tag(devconfig, tag);
+ m_read.set_tag(device, tag);
m_rproto64 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, write64_delegate func, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, write64_delegate func, UINT64 unitmask)
{
assert(!func.isnull());
assert(unitmask_is_appropriate(64, unitmask, func.name()));
@@ -598,15 +598,15 @@ void address_map_entry::internal_set_handler(const device_config &devconfig, con
m_write.m_bits = 64;
m_write.m_mask = 0;
m_write.m_name = func.name();
- m_write.set_tag(devconfig, tag);
+ m_write.set_tag(device, tag);
m_wproto64 = func;
}
-void address_map_entry::internal_set_handler(const device_config &devconfig, const char *tag, read64_delegate rfunc, write64_delegate wfunc, UINT64 unitmask)
+void address_map_entry::internal_set_handler(const device_t &device, const char *tag, read64_delegate rfunc, write64_delegate wfunc, UINT64 unitmask)
{
- internal_set_handler(devconfig, tag, rfunc, unitmask);
- internal_set_handler(devconfig, tag, wfunc, unitmask);
+ internal_set_handler(device, tag, rfunc, unitmask);
+ internal_set_handler(device, tag, wfunc, unitmask);
}
@@ -696,33 +696,33 @@ address_map_entry64::address_map_entry64(address_map &map, offs_t start, offs_t
// address_map - constructor
//-------------------------------------------------
-address_map::address_map(const device_config &devconfig, address_spacenum spacenum)
+address_map::address_map(const device_t &device, address_spacenum spacenum)
: m_spacenum(spacenum),
m_databits(0xff),
m_unmapval(0),
m_globalmask(0)
{
// get our memory interface
- const device_config_memory_interface *memintf;
- if (!devconfig.interface(memintf))
- throw emu_fatalerror("No memory interface defined for device '%s'\n", devconfig.tag());
+ const device_memory_interface *memintf;
+ if (!device.interface(memintf))
+ throw emu_fatalerror("No memory interface defined for device '%s'\n", device.tag());
// and then the configuration for the current address space
const address_space_config *spaceconfig = memintf->space_config(spacenum);
- if (!devconfig.interface(memintf))
- throw emu_fatalerror("No memory address space configuration found for device '%s', space %d\n", devconfig.tag(), spacenum);
+ if (!device.interface(memintf))
+ throw emu_fatalerror("No memory address space configuration found for device '%s', space %d\n", device.tag(), spacenum);
// append the internal device map (first so it takes priority) */
if (spaceconfig->m_internal_map != NULL)
- (*spaceconfig->m_internal_map)(*this, devconfig);
+ (*spaceconfig->m_internal_map)(*this, device);
// construct the standard map */
if (memintf->address_map(spacenum) != NULL)
- (*memintf->address_map(spacenum))(*this, devconfig);
+ (*memintf->address_map(spacenum))(*this, device);
// append the default device map (last so it can be overridden) */
if (spaceconfig->m_default_map != NULL)
- (*spaceconfig->m_default_map)(*this, devconfig);
+ (*spaceconfig->m_default_map)(*this, device);
}