}
}
-static void write_return_cycles(const char *s, int end)
+static void write_return_cycles2(const char *s, int end, int no4)
{
if (end <= 0) {
clearmmufixup(0, 1);
}
} else {
int cc = count_cycles;
- if (count_read + count_write + cc == 0)
+ if (count_read + count_write + cc == 0 && !no4)
cc = 4;
returncycles(s, (count_read + count_write) * 4 + cc);
if (end) {
}
}
+static void write_return_cycles(const char *s, int end)
+{
+ write_return_cycles2(s, end, 0);
+}
+static void write_return_cycles_noadd(const char *s, int end)
+{
+ write_return_cycles2(s, end, 1);
+}
+
+
static void addcycles_ce020 (const char *name, int head, int tail, int cycles)
{
if (!isce020())
(getv == 1 && (g_instr->smode == PC16 || g_instr->smode == PC8r) ? 2 : 1) | fcmodeflags);
}
- write_return_cycles("\t\t", 0);
+ write_return_cycles_noadd("\t\t", 0);
printf("\t}\n");
}
addcycles000_nonce("\t\t", 6);
}
printf("\t\texception3i(opcode, srca);\n");
- write_return_cycles("\t\t", 0);
+ write_return_cycles_noadd("\t\t", 0);
printf("\t}\n");
pop_ins_cnt();
}
addcycles000_nonce("\t\t", 6);
}
printf("\t\texception3i(opcode, srca);\n");
- write_return_cycles("\t\t", 0);
+ write_return_cycles_noadd("\t\t", 0);
printf("\t}\n");
pop_ins_cnt();
}