Ejemplo n.º 1
0
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
}
Ejemplo n.º 2
0
	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)