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