Exemplo n.º 1
0
void bbc_opus3_device::device_start()
{
    address_space& space = machine().device("maincpu")->memory().space(AS_PROGRAM);
    m_slot = dynamic_cast<bbc_1mhzbus_slot_device *>(owner());

    space.install_readwrite_handler(0xfcf8, 0xfcfb, READ8_DEVICE_DELEGATE(m_fdc, wd1770_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_t, write));
    space.install_write_handler(0xfcfc, 0xfcfc, WRITE8_DELEGATE(bbc_opus3_device, wd1770l_write));
    space.install_write_handler(0xfcfe, 0xfcff, WRITE8_DELEGATE(bbc_opus3_device, page_w));
    space.install_readwrite_handler(0xfd00, 0xfdff, READ8_DELEGATE(bbc_opus3_device, ramdisk_r), WRITE8_DELEGATE(bbc_opus3_device, ramdisk_w));
}
Exemplo n.º 2
0
void wangpc_keyboard_device::device_start()
{
	// set serial callbacks
	m_maincpu->i8051_set_serial_tx_callback(WRITE8_DELEGATE(wangpc_keyboard_device, mcs51_tx_callback));
	m_maincpu->i8051_set_serial_rx_callback(READ8_DELEGATE(wangpc_keyboard_device, mcs51_rx_callback));
	set_data_frame(8, 2, PARITY_NONE, false);
}
Exemplo n.º 3
0
void p1_hdc_device::device_start()
{
	set_isa_device();
	m_isa->install_rom(this, 0xe2000, 0xe27ff, 0, 0, "XXX", "p1_hdc");
	m_isa->install_memory(0xd0000, 0xd0fff, 0, 0,
		READ8_DELEGATE(p1_hdc_device, p1_HDC_r),
		WRITE8_DELEGATE(p1_hdc_device, p1_HDC_w) );
}
Exemplo n.º 4
0
void bbc_acorn1770_device::device_start()
{
	device_t* cpu = machine().device("maincpu");
	address_space& space = cpu->memory().space(AS_PROGRAM);
	m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());

	space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DELEGATE(bbc_acorn1770_device, wd1770l_read), WRITE8_DELEGATE(bbc_acorn1770_device, wd1770l_write));
	space.install_readwrite_handler(0xfe84, 0xfe9f, READ8_DEVICE_DELEGATE(m_fdc, wd1770_device, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd1770_device, write));

	m_drive_control = 0xfe;
}
Exemplo n.º 5
0
void bbc_opusfdc_device::device_start()
{
	device_t* cpu = machine().device("maincpu");
	address_space& space = cpu->memory().space(AS_PROGRAM);
	m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());

	space.install_readwrite_handler(0xfe80, 0xfe83, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_device_base, write));
	space.install_readwrite_handler(0xfe84, 0xfe84, READ8_DELEGATE(bbc_opusfdc_device, ctrl_r), WRITE8_DELEGATE(bbc_opusfdc_device, ctrl_w));
}
Exemplo n.º 6
0
void bbc_opus8272_device::device_start()
{
	device_t* cpu = machine().device("maincpu");
	address_space& space = cpu->memory().space(AS_PROGRAM);
	m_slot = dynamic_cast<bbc_fdc_slot_device *>(owner());

	space.install_readwrite_handler(0xfe80, 0xfe86, READ8_DELEGATE(bbc_opus8272_device, fdc_r), WRITE8_DELEGATE(bbc_opus8272_device, fdc_w));
}
Exemplo n.º 7
0
Arquivo: exdos.c Projeto: dinkc64/mame
void ep64_exdos_device::device_start()
{
	m_slot->program().install_rom(0x080000, 0x087fff, 0, 0, m_rom->base());

	m_slot->io().install_readwrite_handler(0x10, 0x13, 0, 0x04, READ8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, read), WRITE8_DEVICE_DELEGATE(m_fdc, wd_fdc_t, write));
	m_slot->io().install_readwrite_handler(0x18, 0x18, 0, 0x04, READ8_DELEGATE(ep64_exdos_device, read), WRITE8_DELEGATE(ep64_exdos_device, write));
}
Exemplo n.º 8
0
void tiki100_state::bankswitch()
{
    address_space &program = m_maincpu->space(AS_PROGRAM);

    if (m_vire)
    {
        if (!m_rome)
        {
            /* reserved */
            program.unmap_readwrite(0x0000, 0xffff);
        }
        else
        {
            /* GFXRAM, GFXRAM, RAM */
            program.install_readwrite_handler(0x0000, 0x7fff, READ8_DELEGATE(tiki100_state, gfxram_r), WRITE8_DELEGATE(tiki100_state, gfxram_w));
            program.install_readwrite_bank(0x8000, 0xffff, "bank3");

            membank("bank1")->set_entry(BANK_VIDEO_RAM);
            membank("bank2")->set_entry(BANK_VIDEO_RAM);
            membank("bank3")->set_entry(BANK_RAM);
        }
    }
    else
    {
        if (!m_rome)
        {
            /* ROM, RAM, RAM */
            program.install_read_bank(0x0000, 0x3fff, "bank1");
            program.unmap_write(0x0000, 0x3fff);
            program.install_readwrite_bank(0x4000, 0x7fff, "bank2");
            program.install_readwrite_bank(0x8000, 0xffff, "bank3");

            membank("bank1")->set_entry(BANK_ROM);
            membank("bank2")->set_entry(BANK_RAM);
            membank("bank3")->set_entry(BANK_RAM);
        }
        else
        {
            /* RAM, RAM, RAM */
            program.install_readwrite_bank(0x0000, 0x3fff, "bank1");
            program.install_readwrite_bank(0x4000, 0x7fff, "bank2");
            program.install_readwrite_bank(0x8000, 0xffff, "bank3");

            membank("bank1")->set_entry(BANK_RAM);
            membank("bank2")->set_entry(BANK_RAM);
            membank("bank3")->set_entry(BANK_RAM);
        }
    }
}
Exemplo n.º 9
0
void d64plus_state::device_start()
{
	dragon_state::device_start();

	address_space& space = m_maincpu->space(AS_PROGRAM);
	space.install_readwrite_handler(0xffe0, 0xffe0, READ8_DEVICE_DELEGATE(m_crtc, mc6845_device, status_r), WRITE8_DEVICE_DELEGATE(m_crtc, mc6845_device, address_w));
	space.install_readwrite_handler(0xffe1, 0xffe1, READ8_DEVICE_DELEGATE(m_crtc, mc6845_device, register_r), WRITE8_DEVICE_DELEGATE(m_crtc, mc6845_device, register_w));
	space.install_readwrite_handler(0xffe2, 0xffe2, READ8_DELEGATE(d64plus_state, d64plus_6845_disp_r), WRITE8_DELEGATE(d64plus_state, d64plus_bank_w));

	// allocate memory
	m_plus_ram.allocate(0x10000);
	m_video_ram.allocate(0x800);
}