diff options
author | 2018-07-14 23:44:55 -0400 | |
---|---|---|
committer | 2018-07-14 23:44:55 -0400 | |
commit | ce5437bdd4c39c5d97b347d187e5a7f34072c1a8 (patch) | |
tree | 7e4e503b4a779262f39f479f71710cfbb170cbdc | |
parent | 437e5b7922374bcb8c8ecebb4f68a3ec3d9f680c (diff) |
cit220p: DUART timer drives something (nw)
-rw-r--r-- | src/mame/drivers/cit220.cpp | 14 |
1 files 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<i8251_device>("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) |