summaryrefslogtreecommitdiff
path: root/genesis.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-03-28 00:13:35 -0700
committerMichael Pavone <pavone@retrodev.com>2017-03-28 00:13:35 -0700
commit15be1a3421956600cf3a773b96bf7aaf8f092d04 (patch)
tree377049a149b3cae59df5a804e393847823525ad8 /genesis.c
parent246813eedfa1274917f3a88755afd3a316ee8aae (diff)
Implemented M68K trace mode. Some edge cases/SR update paths still need work
Diffstat (limited to 'genesis.c')
-rw-r--r--genesis.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/genesis.c b/genesis.c
index da95c8f..896e76b 100644
--- a/genesis.c
+++ b/genesis.c
@@ -82,6 +82,11 @@ static void adjust_int_cycle(m68k_context * context, vdp_context * v_context)
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) {