summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2015-10-31 22:17:50 -0700
committerMichael Pavone <pavone@retrodev.com>2015-10-31 22:17:50 -0700
commit0e881e49fcf3d616c99631f56da80ec69d4f594f (patch)
treed2002e8bf49292d536026d054e23635c901786d7 /blastem.c
parentc29cc674cf4155f3377dbdb29193db9f7456a9fe (diff)
Implement interrupt latency. Fixes Sesame Street: Counting Cafe and gives accurate results in my test ROM
Diffstat (limited to 'blastem.c')
-rw-r--r--blastem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/blastem.c b/blastem.c
index aaed215..78d1c0d 100644
--- a/blastem.c
+++ b/blastem.c
@@ -156,6 +156,9 @@ void adjust_int_cycle(m68k_context * context, vdp_context * v_context)
}
}
}
+ if (context->int_cycle > context->current_cycle) {
+ context->int_pending = 0;
+ }
/*if (context->int_cycle != old_int_cycle) {
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;