summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/dimemory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/dimemory.cpp')
-rw-r--r--src/emu/dimemory.cpp52
1 files changed, 3 insertions, 49 deletions
diff --git a/src/emu/dimemory.cpp b/src/emu/dimemory.cpp
index 9a78f88d6c4..84b161a5a13 100644
--- a/src/emu/dimemory.cpp
+++ b/src/emu/dimemory.cpp
@@ -36,8 +36,8 @@ address_space_config::address_space_config()
m_logaddr_width(0),
m_page_shift(0),
m_is_octal(false),
- m_internal_map(nullptr),
- m_default_map(nullptr)
+ m_internal_map(address_map_constructor()),
+ m_default_map(address_map_constructor())
{
}
@@ -78,38 +78,6 @@ address_space_config::address_space_config(const char *name, endianness_t endian
{
}
-address_space_config::address_space_config(const char *name, endianness_t endian, u8 datawidth, u8 addrwidth, s8 addrshift, address_map_delegate internal, address_map_delegate defmap)
- : m_name(name),
- m_endianness(endian),
- m_data_width(datawidth),
- m_addr_width(addrwidth),
- m_addr_shift(addrshift),
- m_logaddr_width(addrwidth),
- m_page_shift(0),
- m_is_octal(false),
- m_internal_map(nullptr),
- m_default_map(nullptr),
- m_internal_map_delegate(std::move(internal)),
- m_default_map_delegate(std::move(defmap))
-{
-}
-
-address_space_config::address_space_config(const char *name, endianness_t endian, u8 datawidth, u8 addrwidth, s8 addrshift, u8 logwidth, u8 pageshift, address_map_delegate internal, address_map_delegate defmap)
- : m_name(name),
- m_endianness(endian),
- m_data_width(datawidth),
- m_addr_width(addrwidth),
- m_addr_shift(addrshift),
- m_logaddr_width(logwidth),
- m_page_shift(pageshift),
- m_is_octal(false),
- m_internal_map(nullptr),
- m_default_map(nullptr),
- m_internal_map_delegate(std::move(internal)),
- m_default_map_delegate(std::move(defmap))
-{
-}
-
//**************************************************************************
// MEMORY DEVICE MANAGEMENT
@@ -137,27 +105,13 @@ device_memory_interface::~device_memory_interface()
//-------------------------------------------------
-// static_set_addrmap - configuration helper
-// to connect an address map to a device
-//-------------------------------------------------
-
-void device_memory_interface::static_set_addrmap(device_t &device, int spacenum, address_map_constructor map)
-{
- device_memory_interface *memory;
- if (!device.interface(memory))
- throw emu_fatalerror("MCFG_DEVICE_ADDRESS_MAP called on device '%s' with no memory interface", device.tag());
- memory->set_addrmap(spacenum, map);
-}
-
-
-//-------------------------------------------------
// set_addrmap - connect an address map to a device
//-------------------------------------------------
void device_memory_interface::set_addrmap(int spacenum, address_map_constructor map)
{
if (spacenum >= int(m_address_map.size()))
- m_address_map.resize(spacenum+1, nullptr);
+ m_address_map.resize(spacenum+1);
m_address_map[spacenum] = map;
}