summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-04-19 17:06:25 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-04-19 17:06:25 -0400
commit2529e1432a239d3f345e148cbca7b27b49d0dc98 (patch)
tree33646ecab95acd0b302bd6fbc597439e31c35da1
parentb17e76d1052f650580c2b818061f79d887f09ef7 (diff)
hd63450: Update IRQ output when enable bit changes (nw)
-rw-r--r--src/devices/machine/hd63450.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/devices/machine/hd63450.cpp b/src/devices/machine/hd63450.cpp
index 44343895fa9..85cf00bfa86 100644
--- a/src/devices/machine/hd63450.cpp
+++ b/src/devices/machine/hd63450.cpp
@@ -206,6 +206,10 @@ WRITE16_MEMBER(hd63450_device::write)
dma_transfer_halt(channel);
if (data & 0x0040) // continure operation
dma_transfer_continue(channel);
+ if ((data & 0x0008) == 0)
+ clear_irq(channel);
+ else if ((m_reg[channel].csr & 0xf2) != 0)
+ set_irq(channel);
LOG("DMA#%i: Channel Control write : %02x\n",channel,m_reg[channel].ccr);
}
break;