/* * Machine configuration */ void mvme162_state::mvme162(machine_config &config) { M68040(config, m_maincpu, 25_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &mvme162_state::mvme162_mem); M48T02(config, "m48t18", 0); /* t08 differs only in accepted voltage levels compared to t18 */ /* Terminal Port config */ SCC85230(config, m_sccterm, SCC_CLOCK); m_sccterm->out_txda_callback().set("rs232trm", FUNC(rs232_port_device::write_txd)); m_sccterm->out_dtra_callback().set("rs232trm", FUNC(rs232_port_device::write_dtr)); m_sccterm->out_rtsa_callback().set("rs232trm", FUNC(rs232_port_device::write_rts)); rs232_port_device &rs232trm(RS232_PORT(config, "rs232trm", default_rs232_devices, "terminal")); rs232trm.rxd_handler().set(m_sccterm, FUNC(scc85230_device::rxa_w)); rs232trm.cts_handler().set(m_sccterm, FUNC(scc85230_device::ctsa_w)); }
void ioc2_device::device_add_mconfig(machine_config &config) { SCC85230(config, m_scc, SCC_PCLK); m_scc->configure_channels(SCC_RXA_CLK.value(), SCC_TXA_CLK.value(), SCC_RXB_CLK.value(), SCC_TXB_CLK.value()); m_scc->out_txda_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_txd)); m_scc->out_dtra_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_dtr)); m_scc->out_rtsa_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_rts)); m_scc->out_txdb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_txd)); m_scc->out_dtrb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_dtr)); m_scc->out_rtsb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_rts)); m_scc->out_int_callback().set(FUNC(ioc2_device::duart_int_w)); rs232_port_device &rs232a(RS232_PORT(config, RS232A_TAG, default_rs232_devices, nullptr)); rs232a.cts_handler().set(m_scc, FUNC(scc85230_device::ctsa_w)); rs232a.dcd_handler().set(m_scc, FUNC(scc85230_device::dcda_w)); rs232a.rxd_handler().set(m_scc, FUNC(scc85230_device::rxa_w)); rs232_port_device &rs232b(RS232_PORT(config, RS232B_TAG, default_rs232_devices, nullptr)); rs232b.cts_handler().set(m_scc, FUNC(scc85230_device::ctsb_w)); rs232b.dcd_handler().set(m_scc, FUNC(scc85230_device::dcdb_w)); rs232b.rxd_handler().set(m_scc, FUNC(scc85230_device::rxb_w)); PC_LPT(config, m_pi1); KBDC8042(config, m_kbdc); m_kbdc->set_keyboard_type(kbdc8042_device::KBDC8042_PS2); m_kbdc->system_reset_callback().set_inputline(m_maincpu, INPUT_LINE_RESET); m_kbdc->input_buffer_full_callback().set(FUNC(ioc2_device::kbdc_int_w)); PIT8254(config, m_pit, 0); m_pit->set_clk<0>(1000000); m_pit->set_clk<1>(1000000); m_pit->set_clk<2>(1000000); m_pit->out_handler<0>().set(FUNC(ioc2_device::timer0_int)); m_pit->out_handler<1>().set(FUNC(ioc2_device::timer1_int)); m_pit->out_handler<2>().set(m_kbdc, FUNC(kbdc8042_device::write_out2)); }