changeset 2136:01fcbcba5cf8

Fix regresion on mcd-verificator CDC flags test
author Michael Pavone <pavone@retrodev.com>
date Sat, 19 Mar 2022 00:14:07 -0700
parents 95b3752925e0
children 3ef9456b76cf
files segacd.c
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/segacd.c	Fri Mar 18 21:55:30 2022 -0700
+++ b/segacd.c	Sat Mar 19 00:14:07 2022 -0700
@@ -551,14 +551,16 @@
 		return;
 	}
 	context->target_cycle = context->sync_cycle < context->int_cycle ? context->sync_cycle : context->int_cycle;
-	if (context->target_cycle == cdc_cycle && context->int_num == 5) {
+	if (context->int_cycle == cdc_cycle && context->int_num == 5) {
 		uint32_t before = context->target_cycle - 2 * cd->cdc.clock_step;
-		if (before > context->current_cycle) {
-			context->target_cycle = context->sync_cycle = before;
-		} else {
-			before = context->target_cycle - cd->cdc.clock_step;
+		if (before < context->target_cycle) {
 			if (before > context->current_cycle) {
 				context->target_cycle = context->sync_cycle = before;
+			} else {
+				before = context->target_cycle - cd->cdc.clock_step;
+				if (before > context->current_cycle) {
+					context->target_cycle = context->sync_cycle = before;
+				}
 			}
 		}
 	}