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; }
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; } }
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; } }
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) }; }
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)); } }
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); } } }