- cyc_do_m68k=SekCycleAim-SekCycleCnt;
- cyc_do_s68k=SekCycleAimS68k-SekCycleCntS68k;
- while (cyc_done_m68k < cyc_do_m68k || cyc_done_s68k < cyc_do_s68k) {
- it++;
- if (cyc_done_m68k < cyc_do_m68k && it*PS_STEP_M68K > cyc_done_m68k) {
+
+// fprintf(stderr, "=== start %3i/%3i [%3i/%3i] {%05i.%i} ===\n", cyc_m68k, cyc_s68k,
+// SekCycleAim-SekCycleCnt, SekCycleAimS68k-SekCycleCntS68k, Pico.m.frame_count, Pico.m.scanline);
+
+ /* loop 488 downto 0 in steps of PS_STEP */
+ for (cycn = (488<<16)-PS_STEP_M68K; cycn >= 0; cycn -= PS_STEP_M68K)
+ {
+ ex = 0;
+ cycn_s68k = (cycn + cycn/2 + cycn/8) >> 16;
+//fprintf(stderr, "%3i/%3i: ", cycn>>16, cycn_s68k);
+ if ((cyc_do = SekCycleAim-SekCycleCnt-(cycn>>16)) > 0) {