diff options
Diffstat (limited to 'src/devices/cpu/t11/t11ops.hxx')
| -rw-r--r-- | src/devices/cpu/t11/t11ops.hxx | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/devices/cpu/t11/t11ops.hxx b/src/devices/cpu/t11/t11ops.hxx index bae21eab67d..90c0a4121f3 100644 --- a/src/devices/cpu/t11/t11ops.hxx +++ b/src/devices/cpu/t11/t11ops.hxx @@ -273,21 +273,10 @@ void t11_device::trap_to(uint16_t vector) { - if (c_insn_set & IS_VM1) - { - m_vsel = vector; - if (vector == T11_ILLINST || vector == T11_TIMEOUT) - m_mcir = MCIR_ILL; - else - m_mcir = MCIR_SET; - } - else - { - PUSH(PSW); - PUSH(PC); - PC = RWORD(vector); - PSW = RWORD(vector + 2); - } + PUSH(PSW); + PUSH(PC); + PC = RWORD(vector); + PSW = RWORD(vector + 2); m_check_irqs = true; } @@ -337,7 +326,8 @@ void t11_device::halt(uint16_t op) m_icount -= 48; if (c_insn_set & IS_VM1) { - trap_to(VM1_HALT); + m_mcir = MCIR_HALT; + m_vsel = VM1_HALT; } else { |
