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); }