diff genesis.c @ 1303:208803173ebc

Implemented M68K trace mode. Some edge cases/SR update paths still need work
author Michael Pavone <pavone@retrodev.com>
date Tue, 28 Mar 2017 00:13:35 -0700
parents f17fe0d00626
children 5b90d7669eee
line wrap: on
line diff
--- a/genesis.c	Mon Mar 27 09:45:40 2017 -0700
+++ b/genesis.c	Tue Mar 28 00:13:35 2017 -0700
@@ -82,6 +82,11 @@
 		printf("int cycle changed to: %d, level: %d @ %d(%d), frame: %d, vcounter: %d, hslot: %d, mask: %d, hint_counter: %d\n", context->int_cycle, context->int_num, v_context->cycles, context->current_cycle, v_context->frame, v_context->vcounter, v_context->hslot, context->status & 0x7, v_context->hint_counter);
 		old_int_cycle = context->int_cycle;
 	}*/
+	
+	if (context->status & M68K_STATUS_TRACE) {
+		context->target_cycle = context->current_cycle;
+		return;
+	}
 
 	context->target_cycle = context->int_cycle < context->sync_cycle ? context->int_cycle : context->sync_cycle;
 	if (context->should_return) {