Ejemplo n.º 1
0
device_memory_interface::space_config_vector g65816_device::memory_space_config() const
{
	space_config_vector spaces = {
		std::make_pair(AS_PROGRAM, &m_program_config)
	};
	if (has_configured_map(AS_DATA))
		spaces.push_back(std::make_pair(AS_DATA, &m_data_config));
	if (has_configured_map(AS_OPCODES))
		spaces.push_back(std::make_pair(AS_OPCODES, &m_opcode_config));
	if (has_configured_map(AS_VECTORS))
		spaces.push_back(std::make_pair(AS_VECTORS, &m_vector_config));
	return spaces;
}
Ejemplo n.º 2
0
const address_space_config *m6809_base_device::memory_space_config(address_spacenum spacenum) const
{
	switch(spacenum)
	{
	case AS_PROGRAM:           return &m_program_config;
	case AS_DECRYPTED_OPCODES: return has_configured_map(AS_DECRYPTED_OPCODES) ? &m_sprogram_config : nullptr;
	default:                   return nullptr;
	}
}
Ejemplo n.º 3
0
const address_space_config *m6800_cpu_device::memory_space_config(address_spacenum spacenum) const
{
	switch(spacenum)
	{
	case AS_PROGRAM:           return &m_program_config;
	case AS_IO:                return m_has_io ? &m_io_config : nullptr;
	case AS_DECRYPTED_OPCODES: return has_configured_map(AS_DECRYPTED_OPCODES) ? &m_decrypted_opcodes_config : nullptr;
	default:                   return nullptr;
	}
}
Ejemplo n.º 4
0
device_memory_interface::space_config_vector deco16_device::memory_space_config() const
{
	if(has_configured_map(AS_OPCODES))
		return space_config_vector {
			std::make_pair(AS_PROGRAM, &program_config),
			std::make_pair(AS_OPCODES, &sprogram_config),
			std::make_pair(AS_IO,      &io_config)
		};
	else
		return space_config_vector {
			std::make_pair(AS_PROGRAM, &program_config),
			std::make_pair(AS_IO,      &io_config)
		};
}
Ejemplo n.º 5
0
void m50458_device::m50458_vram(address_map &map)
{
	if (!has_configured_map(0))
	{
		map(0x0000, 0x023f).ram(); // vram
		map(0x0240, 0x0241).w(FUNC(m50458_device::vreg_120_w));
		map(0x0242, 0x0243).w(FUNC(m50458_device::vreg_121_w));
		map(0x0244, 0x0245).w(FUNC(m50458_device::vreg_122_w));
		map(0x0246, 0x0247).w(FUNC(m50458_device::vreg_123_w));
		map(0x0248, 0x0249).w(FUNC(m50458_device::vreg_124_w));
		map(0x024a, 0x024b).w(FUNC(m50458_device::vreg_125_w));
		map(0x024c, 0x024d).w(FUNC(m50458_device::vreg_126_w));
		map(0x024e, 0x024f).w(FUNC(m50458_device::vreg_127_w));
	}
}
Ejemplo n.º 6
0
void device_rom_interface::interface_pre_start()
{
	m_rom_direct = &space().direct();
	m_bank = nullptr;
	m_cur_bank = -1;
	device().save_item(NAME(m_cur_bank));
	device().save_item(NAME(m_bank_count));
	device().machine().save().register_postload(save_prepost_delegate(FUNC(device_rom_interface::reset_bank), this));

	if(!has_configured_map(0)) {
		memory_region *reg = device().memregion(DEVICE_SELF);
		if(reg)
			set_rom(reg->base(), reg->bytes());
		else {
			UINT32 end = m_rom_config.addr_width() == 32 ? 0xffffffff : (1 << m_rom_config.addr_width()) - 1;
			space().unmap_read(0, end);
		}
	}
}