X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fmusashi%2Fm68kcpu.c;h=38469f32f9422a004e485989d8cf4fd616d05771;hb=ee3c39efd2cf51cd654b6240f6fb595673f10f45;hp=7564c116df2dcd006da82965981570f35ef0cb4c;hpb=3335750a7df62a52857348365e9dbbf6f23a0d29;p=picodrive.git diff --git a/cpu/musashi/m68kcpu.c b/cpu/musashi/m68kcpu.c index 7564c11..38469f3 100644 --- a/cpu/musashi/m68kcpu.c +++ b/cpu/musashi/m68kcpu.c @@ -808,7 +808,7 @@ int m68k_execute(int num_cycles) // notaz m68ki_trace_t1(); - while(GET_CYCLES() >= 0) + while(GET_CYCLES() > 0) // do { /* Set tracing accodring to T1. (T0 is done inside instruction) */ @@ -825,13 +825,15 @@ int m68k_execute(int num_cycles) /* Read an instruction and call its handler */ REG_IR = m68ki_read_imm_16(); - USE_CYCLES(CYC_INSTRUCTION[REG_IR]); // notaz m68ki_instruction_jump_table[REG_IR](); + USE_CYCLES(CYC_INSTRUCTION[REG_IR]); // moving this up may cause a deadlock /* Trace m68k_exception, if necessary */ m68ki_exception_if_trace(); /* auto-disable (see m68kcpu.h) */ m68ki_trace_t1(); /* notaz */ + + m68ki_cpu_p->not_polling = 1; } // while(GET_CYCLES() > 0); // notaz /* set previous PC to current PC for the next entry into the loop */