示例#1
0
文件: melodik.cpp 项目: k2-git/mame
void spectrum_melodik_device::device_reset()
{
	m_exp->set_io_space(&io_space());

	io_space().install_write_handler(0x8000, 0x8000, 0, 0x3ffd, 0, write8smo_delegate(FUNC(ay8910_device::address_w), m_psg.target()));
	io_space().install_readwrite_handler(0xc000, 0xc000, 0, 0x3ffd, 0, read8smo_delegate(FUNC(ay8910_device::data_r), m_psg.target()), write8smo_delegate(FUNC(ay8910_device::data_w), m_psg.target()));
}
示例#2
0
文件: tk02.cpp 项目: Dagarman/mame
void tk02_device::device_reset()
{
	m_pipe->set_io_space(&io_space());
	m_pipe->set_program_space(&program_space());

	io_space().install_device(0x40, 0x4f, *this, &tk02_device::map);
	io_space().install_readwrite_handler(0x40, 0x47, 0, 0, 0xff00, read8_delegate(FUNC(tk02_device::ram_r), this), write8_delegate(FUNC(tk02_device::ram_w), this));
}
示例#3
0
文件: sdx.cpp 项目: fesh0r/mame-full
void mtx_sdxbas_device::device_reset()
{
	machine().root_device().membank("rommap_bank1")->configure_entry(3, m_sdx_rom->base());

	/* SDX FDC */
	io_space().install_readwrite_handler(0x10, 0x13, read8sm_delegate(FUNC(mb8877_device::read), m_fdc.target()), write8sm_delegate(FUNC(mb8877_device::write), m_fdc.target()));
	io_space().install_readwrite_handler(0x14, 0x14, read8_delegate(FUNC(mtx_sdx_device::sdx_status_r), this), write8_delegate(FUNC(mtx_sdx_device::sdx_control_w), this));
}
示例#4
0
void einstein_silicon_disc_device::device_reset()
{
	// copy our rom into the main bios region so it will get picked up by the bank switching
	// not really part of the pipe interface cartridge but here for convenience, in reality
	// the rom gets put directly onto the main motherboard into the second empty socket
	memcpy(m_bios->base() + 0x4000, m_rom->base(), 0x2000);

	// install i/o ports
	io_space().install_device(0xf0, 0xff, *this, &einstein_silicon_disc_device::map);
	io_space().install_readwrite_handler(0xfa, 0xfa, 0, 0, 0xff00,
		read8_delegate(FUNC(einstein_silicon_disc_device::ram_r), this),
		write8_delegate(FUNC(einstein_silicon_disc_device::ram_w), this));
}
示例#5
0
文件: sdx.cpp 项目: fesh0r/mame-full
void mtx_sdxcpm_device::device_reset()
{
	machine().root_device().membank("rommap_bank1")->configure_entry(3, m_sdx_rom->base());

	/* SDX FDC */
	io_space().install_readwrite_handler(0x10, 0x13, read8sm_delegate(FUNC(mb8877_device::read), m_fdc.target()), write8sm_delegate(FUNC(mb8877_device::write), m_fdc.target()));
	io_space().install_readwrite_handler(0x14, 0x14, read8_delegate(FUNC(mtx_sdx_device::sdx_status_r), this), write8_delegate(FUNC(mtx_sdx_device::sdx_control_w), this));

	/* 80 column */
	io_space().install_readwrite_handler(0x30, 0x33, read8_delegate(FUNC(mtx_sdxcpm_device::mtx_80col_r), this), write8_delegate(FUNC(mtx_sdxcpm_device::mtx_80col_w), this));
	io_space().install_readwrite_handler(0x38, 0x38, read8smo_delegate(FUNC(mc6845_device::status_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::address_w), m_crtc.target()));
	io_space().install_readwrite_handler(0x39, 0x39, read8smo_delegate(FUNC(mc6845_device::register_r), m_crtc.target()), write8smo_delegate(FUNC(mc6845_device::register_w), m_crtc.target()));

	memset(m_80col_char_ram, 0, sizeof(m_80col_char_ram));
	memset(m_80col_attr_ram, 0, sizeof(m_80col_attr_ram));
}
示例#6
0
void einstein_speculator_device::device_reset()
{
	// ram: range 0x1f, 0x3f, 0x5f, 0x7f, 0x9f, 0xbf, 0xdf, 0xff
	io_space().install_readwrite_handler(0x1f, 0x1f, 0, 0, 0xffe0,
		read8_delegate(FUNC(einstein_speculator_device::ram_r), this),
		write8_delegate(FUNC(einstein_speculator_device::ram_w), this));

	// ram: range 0x60 - 0xff
	io_space().install_readwrite_handler(0x60, 0x60, 0, 0, 0xff9f,
		read8_delegate(FUNC(einstein_speculator_device::ram_r), this),
		write8_delegate(FUNC(einstein_speculator_device::ram_w), this));

	// tape read/nmi write register: range 0xff
	io_space().install_readwrite_handler(0xff, 0xff, 0, 0, 0xff00,
		read8_delegate(FUNC(einstein_speculator_device::tape_r), this),
		write8_delegate(FUNC(einstein_speculator_device::nmi_w), this));
}
示例#7
0
文件: floppy.cpp 项目: system11b/mame
void vtech_floppy_controller_device::device_reset()
{
	m_memexp->set_io_space(&io_space());
	m_memexp->set_program_space(&program_space());

	program_space().install_rom(0x4000, 0x5fff, memregion("software")->base());

	io_space().install_device(0x10, 0x1f, *this, &vtech_floppy_controller_device::map);

	m_latch = 0x00;
	m_floppy = nullptr;
	m_current_cyl = 0;
	m_shifter = 0x00;
	m_latching_inverter = false;
	m_last_latching_inverter_update_time = machine().time();
	m_write_start_time = attotime::never;
	m_write_position = 0;
	memset(m_write_buffer, 0, sizeof(m_write_buffer));
}
示例#8
0
文件: arc.cpp 项目: MoochMcGee/mame
void msx_cart_arc_device::device_start()
{
	// Install IO read/write handlers
	io_space().install_write_handler(0x7f, 0x7f, write8smo_delegate(FUNC(msx_cart_arc_device::io_7f_w), this));
	io_space().install_read_handler(0x7f, 0x7f, read8smo_delegate(FUNC(msx_cart_arc_device::io_7f_r), this));
}
示例#9
0
文件: intf1.cpp 项目: MASHinfo/mame
void spectrum_intf1_device::device_reset()
{
	m_exp->set_io_space(&io_space());

	m_romcs = 0;
}