summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine')
-rw-r--r--src/mame/machine/dmac_0266.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mame/machine/dmac_0266.cpp b/src/mame/machine/dmac_0266.cpp
index 0e65a33af87..e3343baa8e0 100644
--- a/src/mame/machine/dmac_0266.cpp
+++ b/src/mame/machine/dmac_0266.cpp
@@ -143,12 +143,15 @@ void dmac_0266_device::dma_check(void *ptr, s32 param)
* adapter waits for more data that the DMAC is not ready to supply.
* It's not clear how the real hardware works - for now this hack
* continues to read and discard data from the device, or write
- * arbitrary zero bytes to it until it deasserts the request line.
+ * arbitrary zero bytes to it until it asserts EOP (driven by IRQ).
*/
- if (m_control & DIRECTION)
- m_dma_r();
- else
- m_dma_w(0);
+ if (!(m_status & INTERRUPT))
+ {
+ if (m_control & DIRECTION)
+ m_dma_r();
+ else
+ m_dma_w(0);
+ }
return;
}