void bbc_opus2793_device::device_add_mconfig(machine_config &config) { WD2793(config, m_fdc, 16_MHz_XTAL / 16); m_fdc->drq_wr_callback().set(FUNC(bbc_opusfdc_device::fdc_drq_w)); m_fdc->hld_wr_callback().set(FUNC(bbc_opusfdc_device::motor_w)); FLOPPY_CONNECTOR(config, m_floppy0, bbc_floppies_525, "525qd", bbc_opusfdc_device::floppy_formats).enable_sound(true); FLOPPY_CONNECTOR(config, m_floppy1, bbc_floppies_525, "525qd", bbc_opusfdc_device::floppy_formats).enable_sound(true); }
void econet_e01_device::device_add_mconfig(machine_config &config) { // basic machine hardware M65C02(config, m_maincpu, XTAL(8'000'000)/4); // Rockwell R65C102P3 m_maincpu->set_addrmap(AS_PROGRAM, &econet_e01_device::e01_mem); MC146818(config, m_rtc, 32.768_kHz_XTAL); m_rtc->irq().set(FUNC(econet_e01_device::rtc_irq_w)); // devices via6522_device &via(VIA6522(config, R6522_TAG, 8_MHz_XTAL / 4)); via.writepa_handler().set("cent_data_out", FUNC(output_latch_device::bus_w)); via.irq_handler().set(FUNC(econet_e01_device::via_irq_w)); MC6854(config, m_adlc, 0); m_adlc->out_irq_cb().set(FUNC(econet_e01_device::adlc_irq_w)); m_adlc->out_txd_cb().set(FUNC(econet_e01_device::econet_data_w)); WD2793(config, m_fdc, 8_MHz_XTAL / 4); m_fdc->intrq_wr_callback().set(FUNC(econet_e01_device::fdc_irq_w)); m_fdc->drq_wr_callback().set(FUNC(econet_e01_device::fdc_drq_w)); for (int i = 0; i < 2; i++) { FLOPPY_CONNECTOR(config, m_floppy[i]); m_floppy[i]->option_add("35dd", FLOPPY_35_DD); m_floppy[i]->set_default_option("35dd"); m_floppy[i]->set_formats(floppy_formats_afs); } software_list_device &softlist(SOFTWARE_LIST(config, "flop_ls_e01")); softlist.set_type("e01_flop", SOFTWARE_LIST_ORIGINAL_SYSTEM); CENTRONICS(config, m_centronics, centronics_devices, "printer"); m_centronics->ack_handler().set(R6522_TAG, FUNC(via6522_device::write_ca1)); output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out")); m_centronics->set_output_latch(cent_data_out); SCSI_PORT(config, m_scsibus); m_scsibus->set_data_input_buffer(m_scsi_data_in); m_scsibus->msg_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit0)); m_scsibus->bsy_handler().set(FUNC(econet_e01_device::scsi_bsy_w)); // bit1 // bit 2 0 // bit 3 0 // bit 4 NIRQ m_scsibus->req_handler().set(FUNC(econet_e01_device::scsi_req_w)); // bit5 m_scsibus->io_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit6)); m_scsibus->cd_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit7)); m_scsibus->set_slot_device(1, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0)); OUTPUT_LATCH(config, m_scsi_data_out); m_scsibus->set_output_latch(*m_scsi_data_out); INPUT_BUFFER(config, m_scsi_data_in); INPUT_BUFFER(config, m_scsi_ctrl_in); // internal ram RAM(config, m_ram); m_ram->set_default_size("64K"); }