//u32 oldSR = GET_SR;\r
\r
m68kcontext.io_cycle_counter -= exception_cycle_table[vect];\r
+#ifdef FAMEC_EMULATE_TRACE\r
+ m68kcontext.execinfo &= ~FM68K_EMULATE_TRACE;\r
+#endif\r
\r
PRE_IO\r
\r
\r
/* adjust SR */\r
flag_S = M68K_SR_S;\r
+ flag_T = 0;\r
\r
#ifndef FAMEC_32BIT_PC\r
newPC&=M68K_ADR_MASK\r
#ifdef FAMEC_EMULATE_TRACE\r
if (m68kcontext.execinfo & FM68K_EMULATE_TRACE)\r
{\r
- m68kcontext.io_cycle_counter = cycles_needed;\r
+ m68kcontext.io_cycle_counter += cycles_needed;\r
cycles_needed = 0;\r
m68kcontext.execinfo &= ~FM68K_EMULATE_TRACE;\r
m68kcontext.execinfo |= FM68K_DO_TRACE;\r
SET_PC(execute_exception(M68K_TRACE_EX, GET_PC, GET_SR));\r
- flag_T=0;\r
if (m68kcontext.io_cycle_counter > 0)\r
{\r
//NEXT\r
if (cycles_needed != 0)\r
{\r
u32 line;\r
- m68kcontext.io_cycle_counter = cycles_needed;\r
+ m68kcontext.io_cycle_counter += cycles_needed;\r
cycles_needed = 0;\r
if (m68kcontext.io_cycle_counter <= 0) goto famec_End;\r
line=interrupt_chk__();\r