void ttl7404_device::update() { uint8_t last_y = m_y; m_y = (~m_a) & 0x3f; if (m_y != last_y) { for (int bit = 0; bit < 6; bit++) { if (BIT(m_y, bit) == BIT(last_y, bit)) continue; switch(bit) { case 0: m_y1_func(BIT(m_y, bit)); break; case 1: m_y2_func(BIT(m_y, bit)); break; case 2: m_y3_func(BIT(m_y, bit)); break; case 3: m_y4_func(BIT(m_y, bit)); break; case 4: m_y5_func(BIT(m_y, bit)); break; case 5: m_y6_func(BIT(m_y, bit)); break; } } } }
void ttl7400_device::update() { uint8_t last_y = m_y; m_y = (m_a & m_b) & 0xf; if (m_y != last_y) { for (int bit = 0; bit < 4; bit++) { if (BIT(m_y, bit) == BIT(last_y, bit)) continue; switch(bit) { case 0: m_y1_func(BIT(m_y, bit)); break; case 1: m_y2_func(BIT(m_y, bit)); break; case 2: m_y3_func(BIT(m_y, bit)); break; case 3: m_y4_func(BIT(m_y, bit)); break; } } } }