{
if (loopmode) {
printf("\tif(!regs.loop_mode) {\n");
- printf("\t\tregs.ird = opcode;\n");
}
}
static void loopmode_end(void)
loopmode = 0;
// 68010 loop mode available if
- if (cpu_level == 1) {
+ if (cpu_level == 1 && (using_ce || using_prefetch)) {
loopmode = opcode_loop_mode(opcode);
if (curi->mnemo == i_DBcc || loopmode) {
next_level_000();
regs.intmask = nr - 24;
branch_stack_push(currpc, currpc);
regs.ir = x_get_word (m68k_getpc ()); // prefetch 1
+ regs.ird = regs.ir;
x_do_cycles (2 * cpucycleunit);
regs.ipl_pin = intlev();
ipl_fetch();
// old statefile compatibility, this needs to done,
// even in 68000 cycle-exact mode
regs.ir = get_word (m68k_getpc ());
+ regs.ird = regs.ir;
regs.irc = get_word (m68k_getpc () + 2);
}
} else if (currprefs.cpu_model <= 68010) {
uaecptr pc = m68k_getpc ();
regs.ir = x_get_word (pc);
+ regs.ird = regs.ir;
regs.irc = x_get_word (pc + 2);
}
}