Esempio n. 1
0
void mos8563_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
	switch (id)
	{
	case TIMER_BLOCK_COPY:
	{
		UINT8 data = VSS_COPY ? read_videoram(m_block_addr++) : m_data;

		write_videoram(m_update_addr++, data);

		if (--m_word_count)
		{
			m_block_copy_timer->adjust( attotime::from_ticks( 1, m_clock ) );
		}
		else
		{
			m_update_ready_bit = 1;
		}
		break;
	}
	default:
		mc6845_device::device_timer(timer, id, param, ptr);
		break;
	}
}
Esempio n. 2
0
inline void abc1600_mover_device::write_videoram(offs_t offset, uint16_t data, uint16_t mask)
{
	uint16_t old_data = read_videoram(offset);

	space().write_word((offset & VIDEORAM16_MASK) << 1, (data & mask) | (old_data & (mask ^ 0xffff)));
}