74153: Improve interface

This commit is contained in:
Dirk Best 2018-01-27 20:01:13 +01:00
parent 29d963a4fb
commit 13efc263fd
2 changed files with 43 additions and 0 deletions

View File

@ -126,6 +126,14 @@ WRITE_LINE_MEMBER( ttl153_device::s1_w )
update_b(); 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 ) WRITE_LINE_MEMBER( ttl153_device::i0a_w )
{ {
m_ia[0] = bool(state); m_ia[0] = bool(state);
@ -150,6 +158,15 @@ WRITE_LINE_MEMBER( ttl153_device::i3a_w )
update_a(); 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 ) WRITE_LINE_MEMBER( ttl153_device::i0b_w )
{ {
m_ib[0] = bool(state); m_ib[0] = bool(state);
@ -173,3 +190,22 @@ WRITE_LINE_MEMBER( ttl153_device::i3b_w )
m_ib[3] = bool(state); m_ib[3] = bool(state);
update_b(); 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;
}

View File

@ -59,18 +59,25 @@ public:
// select // select
DECLARE_WRITE_LINE_MEMBER(s0_w); DECLARE_WRITE_LINE_MEMBER(s0_w);
DECLARE_WRITE_LINE_MEMBER(s1_w); DECLARE_WRITE_LINE_MEMBER(s1_w);
DECLARE_WRITE8_MEMBER(s_w);
// input a // input a
DECLARE_WRITE_LINE_MEMBER(i0a_w); DECLARE_WRITE_LINE_MEMBER(i0a_w);
DECLARE_WRITE_LINE_MEMBER(i1a_w); DECLARE_WRITE_LINE_MEMBER(i1a_w);
DECLARE_WRITE_LINE_MEMBER(i2a_w); DECLARE_WRITE_LINE_MEMBER(i2a_w);
DECLARE_WRITE_LINE_MEMBER(i3a_w); DECLARE_WRITE_LINE_MEMBER(i3a_w);
DECLARE_WRITE8_MEMBER(ia_w);
// input b // input b
DECLARE_WRITE_LINE_MEMBER(i0b_w); DECLARE_WRITE_LINE_MEMBER(i0b_w);
DECLARE_WRITE_LINE_MEMBER(i1b_w); DECLARE_WRITE_LINE_MEMBER(i1b_w);
DECLARE_WRITE_LINE_MEMBER(i2b_w); DECLARE_WRITE_LINE_MEMBER(i2b_w);
DECLARE_WRITE_LINE_MEMBER(i3b_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: protected:
// device-level overrides // device-level overrides