address_map::address_map(const address_space &space, offs_t start, offs_t end, int bits, UINT64 unitmask, device_t &device, address_map_delegate submap_delegate) : m_spacenum(space.spacenum()), m_databits(space.data_width()), m_unmapval(space.unmap()), m_globalmask(space.bytemask()) { address_map_entry *e; switch(m_databits) { case 8: e = add(device, start, end, (address_map_entry8 *)NULL); break; case 16: e = add(device, start, end, (address_map_entry16 *)NULL); break; case 32: e = add(device, start, end, (address_map_entry32 *)NULL); break; case 64: e = add(device, start, end, (address_map_entry64 *)NULL); break; default: throw emu_fatalerror("Trying to dynamically map a device on a space with a corrupt databits width"); } e->set_submap(DEVICE_SELF, submap_delegate, bits, unitmask); }
address_map::address_map(const address_space &space, offs_t start, offs_t end, int bits, u64 unitmask, device_t &device, address_map_delegate submap_delegate) : m_spacenum(space.spacenum()), m_device(&device), m_databits(space.data_width()), m_unmapval(space.unmap()), m_globalmask(space.bytemask()) { range(start, end).set_submap(DEVICE_SELF, submap_delegate, bits, unitmask); }
debug_view_memory_source::debug_view_memory_source(const char *name, address_space &space) : debug_view_source(name, &space.device()), m_space(&space), m_memintf(dynamic_cast<device_memory_interface *>(&space.device())), m_base(nullptr), m_length(0), m_offsetxor(0), m_endianness(space.endianness()), m_prefsize(space.data_width() / 8) { }
void memory_array::set(const address_space &space, void *base, UINT32 bytes, int bpe) { set(base, bytes, space.data_width(), space.endianness(), bpe); }