Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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)
{
}
Exemplo n.º 4
0
void memory_array::set(const address_space &space, void *base, UINT32 bytes, int bpe)
{
	set(base, bytes, space.data_width(), space.endianness(), bpe);
}