void harriet_state::harriet(machine_config &config) { M68010(config, m_maincpu, 40_MHz_XTAL / 4); // MC68010FN10 m_maincpu->set_addrmap(AS_PROGRAM, &harriet_state::harriet_map); MC68681(config, "duart", 3.6864_MHz_XTAL); mc68901_device &mfp(MC68901(config, "mfp", 40_MHz_XTAL / 16)); mfp.set_timer_clock(2.4576_MHz_XTAL); mfp.set_rx_clock(9600); mfp.set_tx_clock(9600); mfp.out_so_cb().set("rs232", FUNC(rs232_port_device::write_txd)); //mfp.out_tco_cb().set("mfp", FUNC(mc68901_device::rc_w)); //mfp.out_tdo_cb().set("mfp", FUNC(mc68901_device::tc_w)); HD63450(config, "dmac", 40_MHz_XTAL / 4, "maincpu"); // MC68450R10 (or HD68450Y-10) M48T02(config, "timekpr"); NVRAM(config, "zpram", nvram_device::DEFAULT_ALL_0); // MK48Z02 rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232.rxd_handler().set("mfp", FUNC(mc68901_device::write_rx)); rs232.rxd_handler().append("mfp", FUNC(mc68901_device::tbi_w)); NSCSI_BUS(config, "scsia"); NSCSI_CONNECTOR(config, "scsia:7").option_set("wdc", WD33C93A).clock(40_MHz_XTAL / 4); //WD33C93(config, "wdcb", 40_MHz_XTAL / 4); //IMSC012(config, "c012", 40_MHz_XTAL / 8); // INMOS IMSC012-P20S link adaptor }
MCFG_DEVICE_IO_MAP(soundmem_io) MCFG_MCS51_PORT_P1_IN_CB(READ8(*this, micro3d_state, micro3d_sound_p1_r)) MCFG_MCS51_PORT_P1_OUT_CB(WRITE8(*this, micro3d_state, micro3d_sound_p1_w)) MCFG_MCS51_PORT_P3_IN_CB(READ8(*this, micro3d_state, micro3d_sound_p3_r)) MCFG_MCS51_PORT_P3_OUT_CB(WRITE8(*this, micro3d_state, micro3d_sound_p3_w)) MCFG_MCS51_SERIAL_TX_CB(WRITE8(*this, micro3d_state, data_from_i8031)) MCFG_MCS51_SERIAL_RX_CB(READ8(*this, micro3d_state, data_to_i8031)) MCFG_DEVICE_ADD("duart", MC68681, 3.6864_MHz_XTAL) MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, micro3d_state, duart_irq_handler)) MCFG_MC68681_A_TX_CALLBACK(WRITELINE("monitor_host", rs232_port_device, write_txd)) MCFG_MC68681_B_TX_CALLBACK(WRITELINE(*this, micro3d_state, duart_txb)) MCFG_MC68681_INPORT_CALLBACK(READ8(*this, micro3d_state, duart_input_r)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, micro3d_state, duart_output_w)) mc68901_device &mfp(MC68901(config, "mfp", 4000000)); mfp.set_timer_clock(4000000); mfp.set_rx_clock(0); mfp.set_tx_clock(0); mfp.out_irq_cb().set_inputline("maincpu", M68K_IRQ_4); //mfp.out_tao_cb().set("mfp", FUNC(mc68901_device::rc_w)); //mfp.out_tao_cb().append("mfp", FUNC(mc68901_device::tc_w)); mfp.out_tco_cb().set("mfp", FUNC(mc68901_device::tbi_w)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MCFG_QUANTUM_TIME(attotime::from_hz(3000)) MCFG_PALETTE_ADD("palette", 4096) MCFG_PALETTE_FORMAT(BBBBBRRRRRGGGGGx) MCFG_SCREEN_ADD("screen", RASTER)