From 667963aa56744786ee5963393171ad046c992966 Mon Sep 17 00:00:00 2001 From: OBattler Date: Sat, 10 Jan 2026 04:51:24 +0100 Subject: [PATCH] More fixes. --- src/timer.c | 2 -- src/video/vid_voodoo.c | 10 +++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/timer.c b/src/timer.c index 7eacf36f6..34c1e74f5 100644 --- a/src/timer.c +++ b/src/timer.c @@ -119,8 +119,6 @@ timer_process(void) if (!timer_head) return; - uint64_t old_target = timer_target; - while (1) { pc_timer_t *timer = timer_head; diff --git a/src/video/vid_voodoo.c b/src/video/vid_voodoo.c index 6920ece5c..745347cd4 100644 --- a/src/video/vid_voodoo.c +++ b/src/video/vid_voodoo.c @@ -338,11 +338,11 @@ voodoo_readl(uint32_t addr, void *priv) break; case SST_hvRetrace: { - uint32_t line_time = (uint32_t) (voodoo->line_time >> 32); - uint32_t diff = (timer_get_ts_int(&voodoo->timer) > (tsc & 0xffffffff)) ? (timer_get_ts_int(&voodoo->timer) - (tsc & 0xffffffff)) : 0; - uint32_t pre_div = diff * voodoo->h_total; - uint32_t post_div = pre_div / line_time; - uint32_t h_pos = (voodoo->h_total - 1) - post_div; + uint64_t line_time = (uint64_t) (voodoo->line_time >> 32); + uint64_t diff = (timer_get_ts_int(&voodoo->timer) > tsc) ? (timer_get_ts_int(&voodoo->timer) - tsc) : 0; + uint64_t pre_div = diff * voodoo->h_total; + uint64_t post_div = pre_div / line_time; + uint64_t h_pos = (voodoo->h_total - 1) - post_div; if (h_pos >= voodoo->h_total) h_pos = 0;