diff --git a/src/mame/drivers/ccs300.cpp b/src/mame/drivers/ccs300.cpp index 9e78f79ee9f..8aea648fb6f 100644 --- a/src/mame/drivers/ccs300.cpp +++ b/src/mame/drivers/ccs300.cpp @@ -34,17 +34,14 @@ public: ccs300_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); DECLARE_DRIVER_INIT(ccs300); DECLARE_MACHINE_RESET(ccs300); DECLARE_WRITE8_MEMBER(port40_w); private: required_device m_maincpu; - required_device m_sio; }; static ADDRESS_MAP_START(ccs300_mem, AS_PROGRAM, 8, ccs300_state) @@ -70,13 +67,6 @@ ADDRESS_MAP_END static INPUT_PORTS_START( ccs300 ) INPUT_PORTS_END -// source of baud frequency is unknown, so we invent a clock -WRITE_LINE_MEMBER( ccs300_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} - static const z80_daisy_config daisy_chain[] = { { "ctc" }, @@ -131,7 +121,8 @@ static MACHINE_CONFIG_START( ccs300 ) /* video hardware */ MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(ccs300_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) /* Devices */ MCFG_Z80SIO_ADD("sio", XTAL_4MHz, 0, 0, 0, 0) diff --git a/src/mame/drivers/dsb46.cpp b/src/mame/drivers/dsb46.cpp index 7e40b29a3f1..5ef235552ab 100644 --- a/src/mame/drivers/dsb46.cpp +++ b/src/mame/drivers/dsb46.cpp @@ -43,17 +43,14 @@ public: dsb46_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); DECLARE_WRITE8_MEMBER(port1a_w); DECLARE_DRIVER_INIT(dsb46); DECLARE_MACHINE_RESET(dsb46); private: required_device m_maincpu; - required_device m_sio; }; static ADDRESS_MAP_START( dsb46_mem, AS_PROGRAM, 8, dsb46_state ) @@ -97,13 +94,6 @@ WRITE8_MEMBER( dsb46_state::port1a_w ) membank("read")->set_entry(data & 1); } -// source of baud frequency is unknown, so we invent a clock -WRITE_LINE_MEMBER( dsb46_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} - static const z80_daisy_config daisy_chain[] = { { "ctc1" }, @@ -123,7 +113,8 @@ static MACHINE_CONFIG_START( dsb46 ) /* video hardware */ MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(dsb46_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) /* Devices */ MCFG_Z80SIO_ADD("sio", XTAL_4MHz, 0, 0, 0, 0) diff --git a/src/mame/drivers/jade.cpp b/src/mame/drivers/jade.cpp index 73dbe093cff..6718a3e2d61 100644 --- a/src/mame/drivers/jade.cpp +++ b/src/mame/drivers/jade.cpp @@ -26,15 +26,11 @@ public: jade_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); - private: virtual void machine_reset() override; required_device m_maincpu; - required_device m_sio; }; @@ -56,12 +52,6 @@ ADDRESS_MAP_END static INPUT_PORTS_START( jade ) INPUT_PORTS_END -// source of baud frequency is unknown, so we invent a clock -WRITE_LINE_MEMBER( jade_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} void jade_state::machine_reset() { @@ -74,7 +64,8 @@ static MACHINE_CONFIG_START( jade ) MCFG_CPU_IO_MAP(jade_io) MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(jade_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) /* Devices */ MCFG_Z80SIO_ADD("sio", XTAL_4MHz, 0, 0, 0, 0) diff --git a/src/mame/drivers/mccpm.cpp b/src/mame/drivers/mccpm.cpp index a56ba8a2002..da8686353b5 100644 --- a/src/mame/drivers/mccpm.cpp +++ b/src/mame/drivers/mccpm.cpp @@ -41,16 +41,12 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_p_ram(*this, "ram") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); - private: virtual void machine_reset() override; required_device m_maincpu; required_shared_ptr m_p_ram; - required_device m_sio; }; @@ -77,12 +73,6 @@ void mccpm_state::machine_reset() memcpy(m_p_ram, bios, 0x1000); } -WRITE_LINE_MEMBER( mccpm_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} - static MACHINE_CONFIG_START( mccpm ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) @@ -91,7 +81,8 @@ static MACHINE_CONFIG_START( mccpm ) /* Devices */ MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(mccpm_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) MCFG_Z80SIO_ADD("sio", XTAL_4MHz, 0, 0, 0, 0) MCFG_Z80SIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) diff --git a/src/mame/drivers/okean240.cpp b/src/mame/drivers/okean240.cpp index 57f02940209..4b735be05b3 100644 --- a/src/mame/drivers/okean240.cpp +++ b/src/mame/drivers/okean240.cpp @@ -77,7 +77,6 @@ public: , m_maincpu(*this, "maincpu") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); DECLARE_READ8_MEMBER(okean240_kbd_status_r); DECLARE_READ8_MEMBER(okean240a_kbd_status_r); DECLARE_READ8_MEMBER(term_status_r); diff --git a/src/mame/drivers/systec.cpp b/src/mame/drivers/systec.cpp index 5cf5599b301..39df25fa399 100644 --- a/src/mame/drivers/systec.cpp +++ b/src/mame/drivers/systec.cpp @@ -46,15 +46,11 @@ public: systec_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); - private: - required_device m_maincpu; - required_device m_sio; virtual void machine_reset() override; + required_device m_maincpu; }; static ADDRESS_MAP_START(systec_mem, AS_PROGRAM, 8, systec_state) @@ -80,12 +76,6 @@ void systec_state::machine_reset() memcpy(m_p_maincpu, m_p_roms, 0x2000); } -// source of baud frequency is unknown, so we invent a clock -WRITE_LINE_MEMBER( systec_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} static MACHINE_CONFIG_START( systec ) /* basic machine hardware */ @@ -94,7 +84,8 @@ static MACHINE_CONFIG_START( systec ) MCFG_CPU_IO_MAP(systec_io) MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(systec_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) /* Devices */ MCFG_Z80SIO_ADD("sio", XTAL_4MHz, 0, 0, 0, 0) diff --git a/src/mame/drivers/zsbc3.cpp b/src/mame/drivers/zsbc3.cpp index 3060d52c07e..7190a109203 100644 --- a/src/mame/drivers/zsbc3.cpp +++ b/src/mame/drivers/zsbc3.cpp @@ -48,15 +48,11 @@ public: zsbc3_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_sio(*this, "sio") { } - DECLARE_WRITE_LINE_MEMBER(clock_tick); - private: virtual void machine_reset() override; required_device m_maincpu; - required_device m_sio; }; @@ -84,13 +80,6 @@ void zsbc3_state::machine_reset() { } -// source of baud frequency is unknown, so we invent a clock -WRITE_LINE_MEMBER( zsbc3_state::clock_tick ) -{ - m_sio->txca_w(state); - m_sio->rxca_w(state); -} - static MACHINE_CONFIG_START( zsbc3 ) /* basic machine hardware */ @@ -100,7 +89,8 @@ static MACHINE_CONFIG_START( zsbc3 ) /* video hardware */ MCFG_DEVICE_ADD("uart_clock", CLOCK, 153600) - MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(zsbc3_state, clock_tick)) + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("sio", z80sio_device, txca_w)) + MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE("sio", z80sio_device, rxca_w)) /* Devices */ MCFG_Z80SIO_ADD("sio", XTAL_16MHz / 4, 0, 0, 0, 0)