summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2021-06-25 21:02:42 -0500
committer cracyc <cracyc@users.noreply.github.com>2021-06-25 21:02:42 -0500
commitd0458b0c7d5a6410e08569e9bed5bd042e7d7bd0 (patch)
tree9954a0c1540b65527914414ba0c35b5b01166427
parent506ddeecee4da80e4e66d875a1d05bcf26ae1afd (diff)
hd63450: unhalt cpu if a dma bus error occurs
-rw-r--r--src/devices/machine/hd63450.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/devices/machine/hd63450.cpp b/src/devices/machine/hd63450.cpp
index ec4647fd0db..9d8226c3f9e 100644
--- a/src/devices/machine/hd63450.cpp
+++ b/src/devices/machine/hd63450.cpp
@@ -520,6 +520,8 @@ void hd63450_device::set_error(int channel, uint8_t code)
m_reg[channel].cer = code;
m_reg[channel].ccr &= ~0xc0;
+ if (((m_reg[channel].dcr & 0xc0) == 0x00) || ((m_reg[channel].ocr & 3) == 1))
+ m_cpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); // if the cpu is halted resume it
set_irq(channel);
}