Esempio n. 1
0
void coco_rs232_device::device_add_mconfig(machine_config &config)
{
	MOS6551(config, m_uart, 0);
	m_uart->set_xtal(1.8432_MHz_XTAL);
	m_uart->irq_handler().set(FUNC(coco_rs232_device::uart_irq_w));
	m_uart->txd_handler().set(PORT_TAG, FUNC(rs232_port_device::write_txd));

	rs232_port_device &rs232(RS232_PORT(config, PORT_TAG, default_rs232_devices, nullptr));
	rs232.rxd_handler().set(m_uart, FUNC(mos6551_device::write_rxd));
	rs232.dcd_handler().set(m_uart, FUNC(mos6551_device::write_dcd));
	rs232.dsr_handler().set(m_uart, FUNC(mos6551_device::write_dsr));
	rs232.cts_handler().set(m_uart, FUNC(mos6551_device::write_cts));
}
Esempio n. 2
0
	/* sound hardware */
	SPEAKER(config, "speaker").front_center();
	WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
	AY8910(config, m_ay8910[0], 1000000).add_route(ALL_OUTPUTS, "speaker", 0.5);
	AY8910(config, m_ay8910[1], 1000000).add_route(ALL_OUTPUTS, "speaker", 0.5);

	/* snapshot/quickload */
	MCFG_SNAPSHOT_ADD("snapshot", microtan_state, microtan, "m65", attotime::from_msec(500))
	MCFG_QUICKLOAD_ADD("quickload", microtan_state, microtan, "hex", attotime::from_msec(500))

	/* cassette */
	CASSETTE(config, m_cassette);

	/* acia */
	mos6551_device &acia(MOS6551(config, "acia", 0));
	acia.set_xtal(1.8432_MHz_XTAL);

	/* via */
	VIA6522(config, m_via6522[0], 6_MHz_XTAL / 8);
	m_via6522[0]->readpa_handler().set(FUNC(microtan_state::via_0_in_a));
	m_via6522[0]->writepa_handler().set(FUNC(microtan_state::via_0_out_a));
	m_via6522[0]->writepb_handler().set(FUNC(microtan_state::via_0_out_b));
	m_via6522[0]->ca2_handler().set(FUNC(microtan_state::via_0_out_ca2));
	m_via6522[0]->cb2_handler().set(FUNC(microtan_state::via_0_out_cb2));
	m_via6522[0]->irq_handler().set(m_irq_line, FUNC(input_merger_device::in_w<IRQ_VIA_0>));

	VIA6522(config, m_via6522[1], 6_MHz_XTAL / 8);
	m_via6522[1]->writepa_handler().set(FUNC(microtan_state::via_1_out_a));
	m_via6522[1]->writepb_handler().set(FUNC(microtan_state::via_1_out_b));
	m_via6522[1]->ca2_handler().set(FUNC(microtan_state::via_1_out_ca2));