mirror of
https://github.com/holub/mame
synced 2025-06-19 18:56:40 +03:00
i86, i186, i286: Don't automatically clear IRQ state upon acknowledgment
i86, i386, v20, v30 & related CPUs: Add exception hook for debugger gex command
This commit is contained in:
parent
e0a5fca0d5
commit
e9fe64ecdb
@ -577,12 +577,8 @@ void i8086_common_cpu_device::interrupt(int int_num, int trap)
|
|||||||
m_TF = m_IF = 0;
|
m_TF = m_IF = 0;
|
||||||
|
|
||||||
if (int_num == -1)
|
if (int_num == -1)
|
||||||
{
|
|
||||||
int_num = standard_irq_callback(0);
|
int_num = standard_irq_callback(0);
|
||||||
|
debugger_exception_hook(int_num);
|
||||||
m_irq_state = CLEAR_LINE;
|
|
||||||
m_pending_irq &= ~INT_IRQ;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_easeg = CS;
|
m_easeg = CS;
|
||||||
uint16_t dest_off = read_word(int_num * 4 + 0);
|
uint16_t dest_off = read_word(int_num * 4 + 0);
|
||||||
|
@ -323,7 +323,8 @@ void nec_common_device::nec_interrupt(unsigned int_num, int/*INTSOURCES*/ source
|
|||||||
m_MF = 1;
|
m_MF = 1;
|
||||||
|
|
||||||
if (source == INT_IRQ) /* get vector */
|
if (source == INT_IRQ) /* get vector */
|
||||||
int_num = (standard_irq_callback)(0);
|
int_num = standard_irq_callback(0);
|
||||||
|
debugger_exception_hook(int_num);
|
||||||
|
|
||||||
dest_off = read_mem_word(int_num*4);
|
dest_off = read_mem_word(int_num*4);
|
||||||
dest_seg = read_mem_word(int_num*4+2);
|
dest_seg = read_mem_word(int_num*4+2);
|
||||||
|
@ -263,6 +263,8 @@ void v25_common_device::nec_interrupt(unsigned int_num, int /*INTSOURCES*/ sourc
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
debugger_exception_hook(int_num);
|
||||||
|
|
||||||
dest_off = read_mem_word(int_num*4);
|
dest_off = read_mem_word(int_num*4);
|
||||||
dest_seg = read_mem_word(int_num*4+2);
|
dest_seg = read_mem_word(int_num*4+2);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user