From 42be0ab641d7ea2402c01a8118aac5b913cf553a Mon Sep 17 00:00:00 2001 From: TC1995 Date: Tue, 2 Apr 2024 00:20:27 +0200 Subject: [PATCH] Voodoo: vertical display programming fix. Apparently some software reprograms the vertical display wrong sometimes (in this case, vdisp + 2). This should fix software titles that use such techniques... --- src/video/vid_voodoo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/video/vid_voodoo.c b/src/video/vid_voodoo.c index 734179fa9..93bdd1a4c 100644 --- a/src/video/vid_voodoo.c +++ b/src/video/vid_voodoo.c @@ -505,6 +505,9 @@ voodoo_writel(uint32_t addr, uint32_t val, void *priv) voodoo->videoDimensions = val; voodoo->h_disp = (val & 0xfff) + 1; voodoo->v_disp = (val >> 16) & 0xfff; + if ((voodoo->v_disp == 386) || (voodoo->v_disp == 402) || + (voodoo->v_disp == 482) || (voodoo->v_disp == 602)) + voodoo->v_disp -= 2; break; case SST_fbiInit0: if (voodoo->initEnable & 0x01) {