mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
7200fifo: Allow side effects to be disabled for reads (nw)
This commit is contained in:
parent
f17e47ecfc
commit
32a962e50c
@ -143,30 +143,34 @@ uint16_t fifo7200_device::fifo_read()
|
||||
{
|
||||
if (m_ef)
|
||||
{
|
||||
logerror("IDT7200 %s fifo_read underflow!\n", tag());
|
||||
if (!machine().side_effects_disabled())
|
||||
logerror("IDT7200 %s fifo_read underflow!\n", tag());
|
||||
return 0x1ff;
|
||||
}
|
||||
|
||||
uint16_t ret = m_buffer[m_read_ptr];
|
||||
m_read_ptr = (m_read_ptr + 1) % m_ram_size;
|
||||
|
||||
// update flags
|
||||
if (m_ff)
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
m_ff = 0;
|
||||
m_ff_handler(!m_ff);
|
||||
}
|
||||
m_read_ptr = (m_read_ptr + 1) % m_ram_size;
|
||||
|
||||
else if (m_read_ptr == m_write_ptr)
|
||||
{
|
||||
m_ef = 1;
|
||||
m_ef_handler(!m_ef);
|
||||
}
|
||||
// update flags
|
||||
if (m_ff)
|
||||
{
|
||||
m_ff = 0;
|
||||
m_ff_handler(!m_ff);
|
||||
}
|
||||
|
||||
else if (((m_read_ptr + m_ram_size / 2) % m_ram_size) == m_write_ptr)
|
||||
{
|
||||
m_hf = 0;
|
||||
m_hf_handler(!m_hf);
|
||||
else if (m_read_ptr == m_write_ptr)
|
||||
{
|
||||
m_ef = 1;
|
||||
m_ef_handler(!m_ef);
|
||||
}
|
||||
|
||||
else if (((m_read_ptr + m_ram_size / 2) % m_ram_size) == m_write_ptr)
|
||||
{
|
||||
m_hf = 0;
|
||||
m_hf_handler(!m_hf);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user