diff segacd.c @ 2131:d90d92ce5cab

Improve CDC decode timing accuracy
author Michael Pavone <pavone@retrodev.com>
date Wed, 16 Mar 2022 00:16:36 -0700
parents 4c9e447aa25b
children 9caebcfeac72
line wrap: on
line diff
--- a/segacd.c	Tue Mar 15 08:58:04 2022 -0700
+++ b/segacd.c	Wed Mar 16 00:16:36 2022 -0700
@@ -502,6 +502,11 @@
 		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->current_cycle) {
+				context->target_cycle = context->sync_cycle = before;
+			}
 		}
 	}
 }