Ejemplo n.º 1
0
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;
			}
		}
	}
}
Ejemplo n.º 2
0
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;
			}
		}
	}
}