From ce5437bdd4c39c5d97b347d187e5a7f34072c1a8 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 14 Jul 2018 23:44:55 -0400 Subject: cit220p: DUART timer drives something (nw) --- src/mame/drivers/cit220.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/cit220.cpp b/src/mame/drivers/cit220.cpp index dae636bf56f..806ddd99cf3 100644 --- a/src/mame/drivers/cit220.cpp +++ b/src/mame/drivers/cit220.cpp @@ -30,6 +30,8 @@ public: void cit220p(machine_config &config); private: + virtual void machine_start() override; + DECLARE_WRITE_LINE_MEMBER(sod_w); SCN2674_DRAW_CHARACTER_MEMBER(draw_character); @@ -46,6 +48,12 @@ private: }; +void cit220_state::machine_start() +{ + subdevice("usart")->write_cts(0); +} + + WRITE_LINE_MEMBER(cit220_state::sod_w) { // probably asserts PBREQ on SCN2674 to access memory at Exxx @@ -116,8 +124,10 @@ MACHINE_CONFIG_START(cit220_state::cit220p) MCFG_DEVICE_ADDRESS_MAP(1, attr_map) MCFG_VIDEO_SET_SCREEN("screen") - MCFG_DEVICE_ADD("duart", SCN2681, 3686400) - MCFG_MC68681_IRQ_CALLBACK(INPUTLINE("maincpu", I8085_RST55_LINE)) + scn2681_device &duart(SCN2681(config, "duart", 3686400)); + duart.irq_cb().set_inputline("maincpu", I8085_RST55_LINE); + duart.outport_cb().set("usart", FUNC(i8251_device::write_txc)).bit(3); // 9600 baud? + duart.outport_cb().append("usart", FUNC(i8251_device::write_rxc)).bit(3); MCFG_DEVICE_ADD("usart", I8251, 3000000) -- cgit v1.2.3