From 9f707193506a92537cd55a8a3890a7f2bf523572 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Sun, 28 Jan 2018 19:36:54 +0100 Subject: Revert "Revert "74153: Improve interface"" This reverts commit caf90428dc1f3f4ac119ac8d1cbc1700826182bd. --- src/devices/machine/74153.cpp | 36 ++++++++++++++++++++++++++++++++++++ src/devices/machine/74153.h | 7 +++++++ 2 files changed, 43 insertions(+) diff --git a/src/devices/machine/74153.cpp b/src/devices/machine/74153.cpp index 427432fc9cc..7e27af93cc0 100644 --- a/src/devices/machine/74153.cpp +++ b/src/devices/machine/74153.cpp @@ -126,6 +126,14 @@ WRITE_LINE_MEMBER( ttl153_device::s1_w ) update_b(); } +WRITE8_MEMBER( ttl153_device::s_w ) +{ + m_s[0] = bool(BIT(data, 0)); + m_s[1] = bool(BIT(data, 1)); + update_a(); + update_b(); +} + WRITE_LINE_MEMBER( ttl153_device::i0a_w ) { m_ia[0] = bool(state); @@ -150,6 +158,15 @@ WRITE_LINE_MEMBER( ttl153_device::i3a_w ) update_a(); } +WRITE8_MEMBER( ttl153_device::ia_w ) +{ + m_ia[0] = bool(BIT(data, 0)); + m_ia[1] = bool(BIT(data, 1)); + m_ia[2] = bool(BIT(data, 2)); + m_ia[3] = bool(BIT(data, 3)); + update_a(); +} + WRITE_LINE_MEMBER( ttl153_device::i0b_w ) { m_ib[0] = bool(state); @@ -173,3 +190,22 @@ WRITE_LINE_MEMBER( ttl153_device::i3b_w ) m_ib[3] = bool(state); update_b(); } + +WRITE8_MEMBER( ttl153_device::ib_w ) +{ + m_ib[0] = bool(BIT(data, 0)); + m_ib[1] = bool(BIT(data, 1)); + m_ib[2] = bool(BIT(data, 2)); + m_ib[3] = bool(BIT(data, 3)); + update_b(); +} + +READ_LINE_MEMBER( ttl153_device::za_r ) +{ + return m_z[0] ? 1 : 0; +} + +READ_LINE_MEMBER( ttl153_device::zb_r ) +{ + return m_z[1] ? 1 : 0; +} diff --git a/src/devices/machine/74153.h b/src/devices/machine/74153.h index 508b4e2b158..8325d819233 100644 --- a/src/devices/machine/74153.h +++ b/src/devices/machine/74153.h @@ -59,18 +59,25 @@ public: // select DECLARE_WRITE_LINE_MEMBER(s0_w); DECLARE_WRITE_LINE_MEMBER(s1_w); + DECLARE_WRITE8_MEMBER(s_w); // input a DECLARE_WRITE_LINE_MEMBER(i0a_w); DECLARE_WRITE_LINE_MEMBER(i1a_w); DECLARE_WRITE_LINE_MEMBER(i2a_w); DECLARE_WRITE_LINE_MEMBER(i3a_w); + DECLARE_WRITE8_MEMBER(ia_w); // input b DECLARE_WRITE_LINE_MEMBER(i0b_w); DECLARE_WRITE_LINE_MEMBER(i1b_w); DECLARE_WRITE_LINE_MEMBER(i2b_w); DECLARE_WRITE_LINE_MEMBER(i3b_w); + DECLARE_WRITE8_MEMBER(ib_w); + + // output + DECLARE_READ_LINE_MEMBER(za_r); + DECLARE_READ_LINE_MEMBER(zb_r); protected: // device-level overrides -- cgit v1.2.3