static int toscr_hend;
static int nosignal_cnt, nosignal_status;
static bool nosignal_trigger;
+static int issyncstopped_count;
int display_reset;
static evt_t line_start_cycles;
static bool initial_frame;
}
}
last_copper_hpos = current_hpos();
- copper_enabled_thisline = 1;
- set_special(SPCFLAG_COPPER);
+ if (issyncstopped_count <= 2) {
+ copper_enabled_thisline = 1;
+ set_special(SPCFLAG_COPPER);
+ }
}
static void blitter_done_notify_wakeup(uae_u32 temp)
genlockvtoggle = lof_store ? 1 : 0;
}
- if ((bplcon0 & 2) && (!currprefs.genlock || currprefs.genlock_effects)) {
+ if (issyncstopped()) {
nosignal_trigger = true;
}
// Inverted CSYNC
decide_vline(0);
+ if (issyncstopped()) {
+ issyncstopped_count++;
+ } else {
+ issyncstopped_count = 0;
+ }
+
+
int hp = REFRESH_FIRST_HPOS;
refptr_p = refptr;
for (int i = 0; i < 4; i++) {