From 3b5dbeea3bad50ad04c966de4afffb864a9856d0 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Fri, 24 Feb 2023 09:03:52 +0100 Subject: [PATCH] m68000: move to sr/ccr must also update the internal flags (was preventing the Union Demo from booting) --- src/devices/cpu/m68000/m68000-sdf.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sdfm.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sdp.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sdpm.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sif.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sifm.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sip.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000-sipm.cpp | 62 +++++++++++++------------- src/devices/cpu/m68000/m68000gen.py | 4 +- 9 files changed, 250 insertions(+), 250 deletions(-) diff --git a/src/devices/cpu/m68000/m68000-sdf.cpp b/src/devices/cpu/m68000/m68000-sdf.cpp index d311e8c586f..0b405a973cb 100644 --- a/src/devices/cpu/m68000/m68000-sdf.cpp +++ b/src/devices/cpu/m68000/m68000-sdf.cpp @@ -2838,7 +2838,7 @@ void m68000_device::ori_imm8_ccr_df() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -3932,7 +3932,7 @@ void m68000_device::ori_i16u_sr_df() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -10267,7 +10267,7 @@ void m68000_device::andi_imm8_ccr_df() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -11361,7 +11361,7 @@ void m68000_device::andi_i16u_sr_df() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -24509,7 +24509,7 @@ void m68000_device::eori_imm8_ccr_df() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -25603,7 +25603,7 @@ void m68000_device::eori_i16u_sr_df() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -80215,7 +80215,7 @@ void m68000_device::move_ds_ccr_df() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80307,7 +80307,7 @@ void m68000_device::move_ais_ccr_df() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80403,7 +80403,7 @@ void m68000_device::move_aips_ccr_df() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80501,7 +80501,7 @@ void m68000_device::move_pais_ccr_df() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80615,7 +80615,7 @@ void m68000_device::move_das_ccr_df() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80767,7 +80767,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80880,7 +80880,7 @@ void m68000_device::move_adr16_ccr_df() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81014,7 +81014,7 @@ void m68000_device::move_adr32_ccr_df() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81127,7 +81127,7 @@ void m68000_device::move_dpc_ccr_df() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81278,7 +81278,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81369,7 +81369,7 @@ void m68000_device::move_imm8_ccr_df() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -84008,7 +84008,7 @@ void m68000_device::move_ds_sr_df() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84106,7 +84106,7 @@ void m68000_device::move_ais_sr_df() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84208,7 +84208,7 @@ void m68000_device::move_aips_sr_df() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84312,7 +84312,7 @@ void m68000_device::move_pais_sr_df() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84432,7 +84432,7 @@ void m68000_device::move_das_sr_df() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84590,7 +84590,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84709,7 +84709,7 @@ void m68000_device::move_adr16_sr_df() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84849,7 +84849,7 @@ void m68000_device::move_adr32_sr_df() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84968,7 +84968,7 @@ void m68000_device::move_dpc_sr_df() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85125,7 +85125,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85222,7 +85222,7 @@ void m68000_device::move_i16u_sr_df() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -94470,7 +94470,7 @@ void m68000_device::stop_i16u_df() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -94554,7 +94554,7 @@ void m68000_device::rte_df() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -95012,7 +95012,7 @@ void m68000_device::rtr_df() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sdfm.cpp b/src/devices/cpu/m68000/m68000-sdfm.cpp index 70c70e6bb1d..6d1cb6f92f9 100644 --- a/src/devices/cpu/m68000/m68000-sdfm.cpp +++ b/src/devices/cpu/m68000/m68000-sdfm.cpp @@ -2838,7 +2838,7 @@ void m68000_device::ori_imm8_ccr_dfm() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -3932,7 +3932,7 @@ void m68000_device::ori_i16u_sr_dfm() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -10267,7 +10267,7 @@ void m68000_device::andi_imm8_ccr_dfm() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -11361,7 +11361,7 @@ void m68000_device::andi_i16u_sr_dfm() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -24509,7 +24509,7 @@ void m68000_device::eori_imm8_ccr_dfm() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -25603,7 +25603,7 @@ void m68000_device::eori_i16u_sr_dfm() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -80215,7 +80215,7 @@ void m68000_device::move_ds_ccr_dfm() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80307,7 +80307,7 @@ void m68000_device::move_ais_ccr_dfm() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80403,7 +80403,7 @@ void m68000_device::move_aips_ccr_dfm() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80501,7 +80501,7 @@ void m68000_device::move_pais_ccr_dfm() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80615,7 +80615,7 @@ void m68000_device::move_das_ccr_dfm() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80767,7 +80767,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80880,7 +80880,7 @@ void m68000_device::move_adr16_ccr_dfm() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81014,7 +81014,7 @@ void m68000_device::move_adr32_ccr_dfm() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81127,7 +81127,7 @@ void m68000_device::move_dpc_ccr_dfm() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81278,7 +81278,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81369,7 +81369,7 @@ void m68000_device::move_imm8_ccr_dfm() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -84008,7 +84008,7 @@ void m68000_device::move_ds_sr_dfm() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84106,7 +84106,7 @@ void m68000_device::move_ais_sr_dfm() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84208,7 +84208,7 @@ void m68000_device::move_aips_sr_dfm() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84312,7 +84312,7 @@ void m68000_device::move_pais_sr_dfm() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84432,7 +84432,7 @@ void m68000_device::move_das_sr_dfm() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84590,7 +84590,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84709,7 +84709,7 @@ void m68000_device::move_adr16_sr_dfm() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84849,7 +84849,7 @@ void m68000_device::move_adr32_sr_dfm() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84968,7 +84968,7 @@ void m68000_device::move_dpc_sr_dfm() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85125,7 +85125,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85222,7 +85222,7 @@ void m68000_device::move_i16u_sr_dfm() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -94470,7 +94470,7 @@ void m68000_device::stop_i16u_dfm() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -94554,7 +94554,7 @@ void m68000_device::rte_dfm() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -95012,7 +95012,7 @@ void m68000_device::rtr_dfm() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sdp.cpp b/src/devices/cpu/m68000/m68000-sdp.cpp index 0b5230939c1..eadc34edef1 100644 --- a/src/devices/cpu/m68000/m68000-sdp.cpp +++ b/src/devices/cpu/m68000/m68000-sdp.cpp @@ -3221,7 +3221,7 @@ void m68000_device::ori_imm8_ccr_dp() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -4468,7 +4468,7 @@ void m68000_device::ori_i16u_sr_dp() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -11648,7 +11648,7 @@ void m68000_device::andi_imm8_ccr_dp() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -12895,7 +12895,7 @@ void m68000_device::andi_i16u_sr_dp() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -27859,7 +27859,7 @@ void m68000_device::eori_imm8_ccr_dp() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -29106,7 +29106,7 @@ void m68000_device::eori_i16u_sr_dp() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -91329,7 +91329,7 @@ void m68000_device::move_ds_ccr_dp() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91434,7 +91434,7 @@ void m68000_device::move_ais_ccr_dp() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91543,7 +91543,7 @@ void m68000_device::move_aips_ccr_dp() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91654,7 +91654,7 @@ void m68000_device::move_pais_ccr_dp() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91784,7 +91784,7 @@ void m68000_device::move_das_ccr_dp() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91955,7 +91955,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92084,7 +92084,7 @@ void m68000_device::move_adr16_ccr_dp() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92237,7 +92237,7 @@ void m68000_device::move_adr32_ccr_dp() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92366,7 +92366,7 @@ void m68000_device::move_dpc_ccr_dp() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92536,7 +92536,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92640,7 +92640,7 @@ void m68000_device::move_imm8_ccr_dp() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -95665,7 +95665,7 @@ void m68000_device::move_ds_sr_dp() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95776,7 +95776,7 @@ void m68000_device::move_ais_sr_dp() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95891,7 +95891,7 @@ void m68000_device::move_aips_sr_dp() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96008,7 +96008,7 @@ void m68000_device::move_pais_sr_dp() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96144,7 +96144,7 @@ void m68000_device::move_das_sr_dp() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96321,7 +96321,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96456,7 +96456,7 @@ void m68000_device::move_adr16_sr_dp() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96615,7 +96615,7 @@ void m68000_device::move_adr32_sr_dp() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96750,7 +96750,7 @@ void m68000_device::move_dpc_sr_dp() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96926,7 +96926,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -97036,7 +97036,7 @@ void m68000_device::move_i16u_sr_dp() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -107562,7 +107562,7 @@ void m68000_device::stop_i16u_dp() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -107659,7 +107659,7 @@ void m68000_device::rte_dp() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -108184,7 +108184,7 @@ void m68000_device::rtr_dp() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sdpm.cpp b/src/devices/cpu/m68000/m68000-sdpm.cpp index a5d3d94a73a..95cb2d438bf 100644 --- a/src/devices/cpu/m68000/m68000-sdpm.cpp +++ b/src/devices/cpu/m68000/m68000-sdpm.cpp @@ -3221,7 +3221,7 @@ void m68000_device::ori_imm8_ccr_dpm() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -4468,7 +4468,7 @@ void m68000_device::ori_i16u_sr_dpm() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -11648,7 +11648,7 @@ void m68000_device::andi_imm8_ccr_dpm() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -12895,7 +12895,7 @@ void m68000_device::andi_i16u_sr_dpm() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -27859,7 +27859,7 @@ void m68000_device::eori_imm8_ccr_dpm() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -29106,7 +29106,7 @@ void m68000_device::eori_i16u_sr_dpm() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -91329,7 +91329,7 @@ void m68000_device::move_ds_ccr_dpm() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91434,7 +91434,7 @@ void m68000_device::move_ais_ccr_dpm() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91543,7 +91543,7 @@ void m68000_device::move_aips_ccr_dpm() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91654,7 +91654,7 @@ void m68000_device::move_pais_ccr_dpm() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91784,7 +91784,7 @@ void m68000_device::move_das_ccr_dpm() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91955,7 +91955,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92084,7 +92084,7 @@ void m68000_device::move_adr16_ccr_dpm() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92237,7 +92237,7 @@ void m68000_device::move_adr32_ccr_dpm() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92366,7 +92366,7 @@ void m68000_device::move_dpc_ccr_dpm() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92536,7 +92536,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92640,7 +92640,7 @@ void m68000_device::move_imm8_ccr_dpm() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -95665,7 +95665,7 @@ void m68000_device::move_ds_sr_dpm() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95776,7 +95776,7 @@ void m68000_device::move_ais_sr_dpm() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95891,7 +95891,7 @@ void m68000_device::move_aips_sr_dpm() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96008,7 +96008,7 @@ void m68000_device::move_pais_sr_dpm() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96144,7 +96144,7 @@ void m68000_device::move_das_sr_dpm() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96321,7 +96321,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96456,7 +96456,7 @@ void m68000_device::move_adr16_sr_dpm() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96615,7 +96615,7 @@ void m68000_device::move_adr32_sr_dpm() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96750,7 +96750,7 @@ void m68000_device::move_dpc_sr_dpm() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96926,7 +96926,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -97036,7 +97036,7 @@ void m68000_device::move_i16u_sr_dpm() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -107562,7 +107562,7 @@ void m68000_device::stop_i16u_dpm() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -107659,7 +107659,7 @@ void m68000_device::rte_dpm() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -108184,7 +108184,7 @@ void m68000_device::rtr_dpm() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sif.cpp b/src/devices/cpu/m68000/m68000-sif.cpp index ad98805c048..ebfa0f05d33 100644 --- a/src/devices/cpu/m68000/m68000-sif.cpp +++ b/src/devices/cpu/m68000/m68000-sif.cpp @@ -2838,7 +2838,7 @@ void m68000_device::ori_imm8_ccr_if() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -3932,7 +3932,7 @@ void m68000_device::ori_i16u_sr_if() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -10267,7 +10267,7 @@ void m68000_device::andi_imm8_ccr_if() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -11361,7 +11361,7 @@ void m68000_device::andi_i16u_sr_if() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -24509,7 +24509,7 @@ void m68000_device::eori_imm8_ccr_if() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -25603,7 +25603,7 @@ void m68000_device::eori_i16u_sr_if() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -80215,7 +80215,7 @@ void m68000_device::move_ds_ccr_if() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80307,7 +80307,7 @@ void m68000_device::move_ais_ccr_if() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80403,7 +80403,7 @@ void m68000_device::move_aips_ccr_if() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80501,7 +80501,7 @@ void m68000_device::move_pais_ccr_if() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80615,7 +80615,7 @@ void m68000_device::move_das_ccr_if() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80767,7 +80767,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80880,7 +80880,7 @@ void m68000_device::move_adr16_ccr_if() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81014,7 +81014,7 @@ void m68000_device::move_adr32_ccr_if() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81127,7 +81127,7 @@ void m68000_device::move_dpc_ccr_if() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81278,7 +81278,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81369,7 +81369,7 @@ void m68000_device::move_imm8_ccr_if() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -84008,7 +84008,7 @@ void m68000_device::move_ds_sr_if() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84106,7 +84106,7 @@ void m68000_device::move_ais_sr_if() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84208,7 +84208,7 @@ void m68000_device::move_aips_sr_if() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84312,7 +84312,7 @@ void m68000_device::move_pais_sr_if() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84432,7 +84432,7 @@ void m68000_device::move_das_sr_if() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84590,7 +84590,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84709,7 +84709,7 @@ void m68000_device::move_adr16_sr_if() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84849,7 +84849,7 @@ void m68000_device::move_adr32_sr_if() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84968,7 +84968,7 @@ void m68000_device::move_dpc_sr_if() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85125,7 +85125,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85222,7 +85222,7 @@ void m68000_device::move_i16u_sr_if() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -94470,7 +94470,7 @@ void m68000_device::stop_i16u_if() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -94554,7 +94554,7 @@ void m68000_device::rte_if() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -95012,7 +95012,7 @@ void m68000_device::rtr_if() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sifm.cpp b/src/devices/cpu/m68000/m68000-sifm.cpp index 4799953661e..08e4452345c 100644 --- a/src/devices/cpu/m68000/m68000-sifm.cpp +++ b/src/devices/cpu/m68000/m68000-sifm.cpp @@ -2838,7 +2838,7 @@ void m68000_device::ori_imm8_ccr_ifm() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -3932,7 +3932,7 @@ void m68000_device::ori_i16u_sr_ifm() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -10267,7 +10267,7 @@ void m68000_device::andi_imm8_ccr_ifm() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -11361,7 +11361,7 @@ void m68000_device::andi_i16u_sr_ifm() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -24509,7 +24509,7 @@ void m68000_device::eori_imm8_ccr_ifm() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -25603,7 +25603,7 @@ void m68000_device::eori_i16u_sr_ifm() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -80215,7 +80215,7 @@ void m68000_device::move_ds_ccr_ifm() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80307,7 +80307,7 @@ void m68000_device::move_ais_ccr_ifm() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80403,7 +80403,7 @@ void m68000_device::move_aips_ccr_ifm() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80501,7 +80501,7 @@ void m68000_device::move_pais_ccr_ifm() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80615,7 +80615,7 @@ void m68000_device::move_das_ccr_ifm() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80767,7 +80767,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -80880,7 +80880,7 @@ void m68000_device::move_adr16_ccr_ifm() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81014,7 +81014,7 @@ void m68000_device::move_adr32_ccr_ifm() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81127,7 +81127,7 @@ void m68000_device::move_dpc_ccr_ifm() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81278,7 +81278,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -81369,7 +81369,7 @@ void m68000_device::move_imm8_ccr_ifm() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -84008,7 +84008,7 @@ void m68000_device::move_ds_sr_ifm() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84106,7 +84106,7 @@ void m68000_device::move_ais_sr_ifm() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84208,7 +84208,7 @@ void m68000_device::move_aips_sr_ifm() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84312,7 +84312,7 @@ void m68000_device::move_pais_sr_ifm() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84432,7 +84432,7 @@ void m68000_device::move_das_sr_ifm() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84590,7 +84590,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84709,7 +84709,7 @@ void m68000_device::move_adr16_sr_ifm() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84849,7 +84849,7 @@ void m68000_device::move_adr32_sr_ifm() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -84968,7 +84968,7 @@ void m68000_device::move_dpc_sr_ifm() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85125,7 +85125,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -85222,7 +85222,7 @@ void m68000_device::move_i16u_sr_ifm() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -94470,7 +94470,7 @@ void m68000_device::stop_i16u_ifm() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -94554,7 +94554,7 @@ void m68000_device::rte_ifm() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -95012,7 +95012,7 @@ void m68000_device::rtr_ifm() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sip.cpp b/src/devices/cpu/m68000/m68000-sip.cpp index 43a30bdb727..a0894900657 100644 --- a/src/devices/cpu/m68000/m68000-sip.cpp +++ b/src/devices/cpu/m68000/m68000-sip.cpp @@ -3221,7 +3221,7 @@ void m68000_device::ori_imm8_ccr_ip() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -4468,7 +4468,7 @@ void m68000_device::ori_i16u_sr_ip() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -11648,7 +11648,7 @@ void m68000_device::andi_imm8_ccr_ip() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -12895,7 +12895,7 @@ void m68000_device::andi_i16u_sr_ip() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -27859,7 +27859,7 @@ void m68000_device::eori_imm8_ccr_ip() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -29106,7 +29106,7 @@ void m68000_device::eori_i16u_sr_ip() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -91329,7 +91329,7 @@ void m68000_device::move_ds_ccr_ip() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91434,7 +91434,7 @@ void m68000_device::move_ais_ccr_ip() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91543,7 +91543,7 @@ void m68000_device::move_aips_ccr_ip() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91654,7 +91654,7 @@ void m68000_device::move_pais_ccr_ip() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91784,7 +91784,7 @@ void m68000_device::move_das_ccr_ip() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91955,7 +91955,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92084,7 +92084,7 @@ void m68000_device::move_adr16_ccr_ip() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92237,7 +92237,7 @@ void m68000_device::move_adr32_ccr_ip() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92366,7 +92366,7 @@ void m68000_device::move_dpc_ccr_ip() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92536,7 +92536,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92640,7 +92640,7 @@ void m68000_device::move_imm8_ccr_ip() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -95665,7 +95665,7 @@ void m68000_device::move_ds_sr_ip() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95776,7 +95776,7 @@ void m68000_device::move_ais_sr_ip() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95891,7 +95891,7 @@ void m68000_device::move_aips_sr_ip() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96008,7 +96008,7 @@ void m68000_device::move_pais_sr_ip() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96144,7 +96144,7 @@ void m68000_device::move_das_sr_ip() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96321,7 +96321,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96456,7 +96456,7 @@ void m68000_device::move_adr16_sr_ip() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96615,7 +96615,7 @@ void m68000_device::move_adr32_sr_ip() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96750,7 +96750,7 @@ void m68000_device::move_dpc_sr_ip() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96926,7 +96926,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -97036,7 +97036,7 @@ void m68000_device::move_i16u_sr_ip() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -107562,7 +107562,7 @@ void m68000_device::stop_i16u_ip() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -107659,7 +107659,7 @@ void m68000_device::rte_ip() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -108184,7 +108184,7 @@ void m68000_device::rtr_ip() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000-sipm.cpp b/src/devices/cpu/m68000/m68000-sipm.cpp index eb239a737ac..1f4ea4f981e 100644 --- a/src/devices/cpu/m68000/m68000-sipm.cpp +++ b/src/devices/cpu/m68000/m68000-sipm.cpp @@ -3221,7 +3221,7 @@ void m68000_device::ori_imm8_ccr_ipm() // 003c ffff // alu r=14 c=0 m=..... i=b...... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=14 c=0 m=..... i=b...... ALU.or_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -4468,7 +4468,7 @@ void m68000_device::ori_i16u_sr_ipm() // 007c ffff // alu r=14 c=0 m=..... i=....... ALU.or_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=14 c=0 m=..... i=....... ALU.or_ a=none d=none @@ -11648,7 +11648,7 @@ void m68000_device::andi_imm8_ccr_ipm() // 023c ffff // alu r=4 c=0 m=..... i=b...... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=4 c=0 m=..... i=b...... ALU.and_ a=none d=none m_icount -= 2; // 1e1 malw3 @@ -12895,7 +12895,7 @@ void m68000_device::andi_i16u_sr_ipm() // 027c ffff // alu r=4 c=0 m=..... i=....... ALU.and_ a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=4 c=0 m=..... i=....... ALU.and_ a=none d=none @@ -27859,7 +27859,7 @@ void m68000_device::eori_imm8_ccr_ipm() // 0a3c ffff // alu r=13 c=0 m=..... i=b...... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); // alu r=13 c=0 m=..... i=b...... ALU.eor a=none d=none m_icount -= 2; // 1e1 malw3 @@ -29106,7 +29106,7 @@ void m68000_device::eori_i16u_sr_ipm() // 0a7c ffff // alu r=13 c=0 m=..... i=....... ALU.eor a=R.aluo:m_aluo d=none m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); // alu r=13 c=0 m=..... i=....... ALU.eor a=none d=none @@ -91329,7 +91329,7 @@ void m68000_device::move_ds_ccr_ipm() // 44c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91434,7 +91434,7 @@ void m68000_device::move_ais_ccr_ipm() // 44d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91543,7 +91543,7 @@ void m68000_device::move_aips_ccr_ipm() // 44d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91654,7 +91654,7 @@ void m68000_device::move_pais_ccr_ipm() // 44e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91784,7 +91784,7 @@ void m68000_device::move_das_ccr_ipm() // 44e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -91955,7 +91955,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92084,7 +92084,7 @@ void m68000_device::move_adr16_ccr_ipm() // 44f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92237,7 +92237,7 @@ void m68000_device::move_adr32_ccr_ipm() // 44f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92366,7 +92366,7 @@ void m68000_device::move_dpc_ccr_ipm() // 44fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92536,7 +92536,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -92640,7 +92640,7 @@ void m68000_device::move_imm8_ccr_ipm() // 44fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_icount -= 2; // 1e1 malw3 m_aob = m_au; @@ -95665,7 +95665,7 @@ void m68000_device::move_ds_sr_ipm() // 46c0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95776,7 +95776,7 @@ void m68000_device::move_ais_sr_ipm() // 46d0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -95891,7 +95891,7 @@ void m68000_device::move_aips_sr_ipm() // 46d8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96008,7 +96008,7 @@ void m68000_device::move_pais_sr_ipm() // 46e0 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96144,7 +96144,7 @@ void m68000_device::move_das_sr_ipm() // 46e8 fff8 m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96321,7 +96321,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96456,7 +96456,7 @@ void m68000_device::move_adr16_sr_ipm() // 46f8 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96615,7 +96615,7 @@ void m68000_device::move_adr32_sr_ipm() // 46f9 ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96750,7 +96750,7 @@ void m68000_device::move_dpc_sr_ipm() // 46fa ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -96926,7 +96926,7 @@ adsw2: m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -97036,7 +97036,7 @@ void m68000_device::move_i16u_sr_ipm() // 46fc ffff m_au = m_au - 2; m_icount -= 2; // 321 stiw4 - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_icount -= 2; @@ -107562,7 +107562,7 @@ void m68000_device::stop_i16u_ipm() // 4e72 ffff m_ird = m_ir; if(m_next_state != S_TRACE) m_next_state = m_int_next_state; m_pc = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_au = m_au - 2; @@ -107659,7 +107659,7 @@ void m68000_device::rte_ipm() // 4e73 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = m_ftu & (SR_CCR|SR_SR); + m_sr = m_isr = m_ftu & (SR_CCR|SR_SR); update_user_super(); update_interrupt(); m_dbin = m_edb; @@ -108184,7 +108184,7 @@ void m68000_device::rtr_ipm() // 4e77 ffff } set_16h(m_at, m_dbin); m_da[m_sp] = m_au; - m_sr = (m_ftu & SR_CCR) | (m_sr & SR_SR); + m_sr = m_isr = (m_ftu & SR_CCR) | (m_sr & SR_SR); m_dbin = m_edb; // 2b3 jmal2 m_aob = merge_16_32(high16(m_at), m_dbin); diff --git a/src/devices/cpu/m68000/m68000gen.py b/src/devices/cpu/m68000/m68000gen.py index c3282ea9789..7d407ba60bd 100755 --- a/src/devices/cpu/m68000/m68000gen.py +++ b/src/devices/cpu/m68000/m68000gen.py @@ -2179,7 +2179,7 @@ def generate_source_from_code(code, gen_mode): elif ci[0] == "=": source.append("\t%s = %s;" % (regname[ci[1]], make_expression(ci[2:]))) elif ci[0] == "=sr": - source.append("\t%s = %s & (SR_CCR|SR_SR);" % (regname[ci[1]], make_expression(ci[2:]))) + source.append("\t%s = m_isr = %s & (SR_CCR|SR_SR);" % (regname[ci[1]], make_expression(ci[2:]))) source.append("\tupdate_user_super();") source.append("\tupdate_interrupt();") elif ci[0] == "=sri7": @@ -2189,7 +2189,7 @@ def generate_source_from_code(code, gen_mode): source.append("\t%s = (%s & ~SR_I) | ((m_next_state >> 16) & SR_I);" % (regname[R.sr], regname[R.sr])) source.append("\tupdate_interrupt();") elif ci[0] == "=ccr": - source.append("\t%s = (%s & SR_CCR) | (%s & SR_SR);" % (regname[ci[1]], make_expression(ci[2:]), regname[ci[1]])) + source.append("\t%s = m_isr = (%s & SR_CCR) | (%s & SR_SR);" % (regname[ci[1]], make_expression(ci[2:]), regname[ci[1]])) elif ci[0] == "=8": source.append("\tset_8(%s, %s);" % (regname[ci[1]], make_expression(ci[2:]))) elif ci[0] == "=8h":