mirror of
https://github.com/holub/mame
synced 2025-06-10 06:47:18 +03:00
tms52xx: Do not treat write accesses during SPEAK execution as NOP, but delay them.
This commit is contained in:
parent
da7e509780
commit
a74ff88d24
@ -1728,15 +1728,24 @@ TIMER_CALLBACK_MEMBER(tms5220_device::set_io_ready)
|
|||||||
{
|
{
|
||||||
LOGMASKED(LOG_IO_READY, "m_timer_io_ready: in SPKEXT and FIFO was full! cannot service write now, delaying 16 cycles...\n");
|
LOGMASKED(LOG_IO_READY, "m_timer_io_ready: in SPKEXT and FIFO was full! cannot service write now, delaying 16 cycles...\n");
|
||||||
m_timer_io_ready->adjust(clocks_to_attotime(16), 1);
|
m_timer_io_ready->adjust(clocks_to_attotime(16), 1);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOGMASKED(LOG_IO_READY, "m_timer_io_ready: Serviced write: %02x\n", m_write_latch);
|
// MZ: Tests with a real TI Speech Synthesizer seem to prove
|
||||||
data_write(m_write_latch);
|
// that during SPEAK, writes are not serviced either.
|
||||||
m_io_ready = param;
|
if (talk_status())
|
||||||
break;
|
{
|
||||||
|
LOGMASKED(LOG_IO_READY, "m_timer_io_ready: Speech generation is active! Cannot service write now, delaying 16 cycles...\n");
|
||||||
|
m_timer_io_ready->adjust(clocks_to_attotime(16), 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOGMASKED(LOG_IO_READY, "m_timer_io_ready: Serviced write: %02x\n", m_write_latch);
|
||||||
|
data_write(m_write_latch);
|
||||||
|
m_io_ready = param;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case 0x01:
|
case 0x01:
|
||||||
/* Read */
|
/* Read */
|
||||||
m_read_latch = status_read(true);
|
m_read_latch = status_read(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user