summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/z80dma.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/z80dma.cpp')
-rw-r--r--src/devices/machine/z80dma.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/devices/machine/z80dma.cpp b/src/devices/machine/z80dma.cpp
index 21ef334bd5f..e99f71e8c7c 100644
--- a/src/devices/machine/z80dma.cpp
+++ b/src/devices/machine/z80dma.cpp
@@ -894,10 +894,10 @@ void z80dma_device::write(u8 data)
TIMER_CALLBACK_MEMBER(z80dma_device::rdy_write_callback)
{
// normalize state
- const bool is_ready = m_force_ready || (param == READY_ACTIVE_HIGH);
- m_status = (m_status & 0xfd) | (!is_ready << 1);
+ m_rdy = param;
+ m_status = (m_status & 0xfd) | (!is_ready() << 1);
- if (is_ready && INT_ON_READY)
+ if (is_ready() && INT_ON_READY)
{
trigger_interrupt(INT_RDY);
}
@@ -909,11 +909,6 @@ TIMER_CALLBACK_MEMBER(z80dma_device::rdy_write_callback)
void z80dma_device::rdy_w(int state)
{
LOGLINE("Z80DMA RDY: %d Active High: %d\n", state, READY_ACTIVE_HIGH);
-
- // update RDY immediately so the state machine can react to it
- m_rdy = state;
-
- // synchronize the side effects
machine().scheduler().synchronize(timer_expired_delegate(FUNC(z80dma_device::rdy_write_callback), this), state);
}