diff options
Diffstat (limited to 'src/emu/dimemory.cpp')
-rw-r--r-- | src/emu/dimemory.cpp | 52 |
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; } |