Mercurial > repos > blastem
diff musashi/m68kcpu.c @ 1507:2455662378ed mame_interp
Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 30 Dec 2017 18:27:06 -0800 |
parents | ded16f3d7eb4 |
children | 2e57910fd641 |
line wrap: on
line diff
--- a/musashi/m68kcpu.c Wed Dec 27 13:46:52 2017 -0800 +++ b/musashi/m68kcpu.c Sat Dec 30 18:27:06 2017 -0800 @@ -708,7 +708,7 @@ /* Trace m68k_exception, if necessary */ - //m68ki_exception_if_trace(this); /* auto-disable (see m68kcpu.h) */ + m68ki_exception_if_trace(this); /* auto-disable (see m68kcpu.h) */ } /* set previous PC to current PC for the next entry into the loop */ @@ -860,10 +860,12 @@ vector = M68K_INT_ACK_AUTOVECTOR;//int_ack_callback(*this, int_level); /* Get the interrupt vector */ - if(vector == M68K_INT_ACK_AUTOVECTOR) + if(vector == M68K_INT_ACK_AUTOVECTOR) { /* Use the autovectors. This is the most commonly used implementation */ vector = EXCEPTION_INTERRUPT_AUTOVECTOR+int_level; - else if(vector == M68K_INT_ACK_SPURIOUS) + uint32_t e_clock = this->c.current_cycle / this->c.options->gen.clock_divider; + this->c.current_cycle += ((9-4) + e_clock % 10) * this->c.options->gen.clock_divider; + } else if(vector == M68K_INT_ACK_SPURIOUS) /* Called if no devices respond to the interrupt acknowledge */ vector = EXCEPTION_SPURIOUS_INTERRUPT; else if(vector > 255)