diff --git a/src/devices/machine/i2cmem.cpp b/src/devices/machine/i2cmem.cpp index c32bd578ff3..f7ab143d5b9 100644 --- a/src/devices/machine/i2cmem.cpp +++ b/src/devices/machine/i2cmem.cpp @@ -344,13 +344,7 @@ WRITE_LINE_MEMBER( i2cmem_device::write_scl ) switch( m_state ) { case STATE_DEVSEL: - if( m_shift & 1 ) - { - verboselog( this, 1, "switching to read\n"); - m_devsel &= 0x0e; - m_devsel |= (m_shift & 0xf1); - } - else m_devsel = m_shift; + m_devsel = m_shift; if( !select_device() ) { @@ -513,13 +507,6 @@ int i2cmem_device::select_device() int device = ( m_slave_address & 0xf0 ) | ( m_e2 << 3 ) | ( m_e1 << 2 ) | ( m_e0 << 1 ); int mask = DEVSEL_ADDRESS & ~( address_mask() >> 7 ); - if( m_devsel == 0 ) - { - verboselog( this, 2, "acknowledging global call\n"); - m_sdar = 0; - return 1; - } - if( ( m_devsel & mask ) == ( device & mask ) ) { return 1;