summaryrefslogtreecommitdiff
path: root/vdp.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2015-05-14 23:17:55 -0700
committerMichael Pavone <pavone@retrodev.com>2015-05-14 23:17:55 -0700
commit7d1aa2ab5e1b839f8cd15425f1004c7d1e952400 (patch)
tree90b86598dc59b53a093448d1f2a8f74260e85352 /vdp.c
parentb88dc02ba056c2b5891b1bb062a2ad44df5df544 (diff)
Small horizontal interrupt fixes
Diffstat (limited to 'vdp.c')
-rw-r--r--vdp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vdp.c b/vdp.c
index e6d5aea..a7f9d1b 100644
--- a/vdp.c
+++ b/vdp.c
@@ -1476,7 +1476,7 @@ void vdp_run_context(vdp_context * context, uint32_t target_cycles)
}
}
if (is_h40 && slot == LINE_CHANGE_H40 || !is_h40 && slot == LINE_CHANGE_H32) {
- if (line >= inactive_start) {
+ if (line > inactive_start) {
context->hint_counter = context->regs[REG_HINT];
} else if (context->hint_counter) {
context->hint_counter--;
@@ -1954,7 +1954,7 @@ uint32_t vdp_next_hint(vdp_context * context)
}
uint32_t inactive_start = context->latched_mode & BIT_PAL ? PAL_INACTIVE_START : NTSC_INACTIVE_START;
uint32_t hint_line;
- if (context->vcounter >= inactive_start) {
+ if (context->vcounter + context->hint_counter >= inactive_start) {
hint_line = context->regs[REG_HINT];
} else {
hint_line = context->vcounter + context->hint_counter + 1;