Prevent aggressive incompetence (nw)

This commit is contained in:
Olivier Galibert 2018-07-27 22:34:45 +02:00
parent af6434355d
commit f9b28ee6f5
4 changed files with 10 additions and 13 deletions

View File

@ -1456,12 +1456,12 @@ void psxcpu_device::update_cop0(int reg)
{
if (ip & CAUSE_IP0) debugger_exception_hook(EXC_INT);
if (ip & CAUSE_IP1) debugger_exception_hook(EXC_INT);
if (ip & CAUSE_IP2) debugger_interrupt_hook(PSXCPU_IRQ0);
if (ip & CAUSE_IP3) debugger_interrupt_hook(PSXCPU_IRQ1);
if (ip & CAUSE_IP4) debugger_interrupt_hook(PSXCPU_IRQ2);
if (ip & CAUSE_IP5) debugger_interrupt_hook(PSXCPU_IRQ3);
if (ip & CAUSE_IP6) debugger_interrupt_hook(PSXCPU_IRQ4);
if (ip & CAUSE_IP7) debugger_interrupt_hook(PSXCPU_IRQ5);
if (ip & CAUSE_IP2) standard_irq_callback(PSXCPU_IRQ0);
if (ip & CAUSE_IP3) standard_irq_callback(PSXCPU_IRQ1);
if (ip & CAUSE_IP4) standard_irq_callback(PSXCPU_IRQ2);
if (ip & CAUSE_IP5) standard_irq_callback(PSXCPU_IRQ3);
if (ip & CAUSE_IP6) standard_irq_callback(PSXCPU_IRQ4);
if (ip & CAUSE_IP7) standard_irq_callback(PSXCPU_IRQ5);
m_op = m_cache->read_dword(m_pc);
execute_unstoppable_instructions(1);
exception(EXC_INT);

View File

@ -325,7 +325,7 @@ void score7_cpu_device::check_irq()
if (m_pending_interrupt[i])
{
m_pending_interrupt[i] = false;
debugger_interrupt_hook(i);
standard_irq_callback(i);
gen_exception(EXCEPTION_INTERRUPT, i);
return;
}

View File

@ -522,7 +522,9 @@ int device_execute_interface::standard_irq_callback(int irqline)
vector = m_driver_irq(device(), irqline);
// notify the debugger
debugger_interrupt_hook(irqline);
if (device().machine().debug_flags & DEBUG_FLAG_ENABLED)
device().debug()->interrupt_hook(irqline);
return vector;
}

View File

@ -237,11 +237,6 @@ protected:
if (device().machine().debug_flags & DEBUG_FLAG_ENABLED)
device().debug()->exception_hook(exception);
}
void debugger_interrupt_hook(int irqline)
{
if (device().machine().debug_flags & DEBUG_FLAG_ENABLED)
device().debug()->interrupt_hook(irqline);
}
private:
// internal information about the state of inputs