From db12ba4e91dcf84581ab2acfaad210ba467f3f3a Mon Sep 17 00:00:00 2001 From: OBattler Date: Sun, 5 Jul 2020 02:57:15 +0200 Subject: [PATCH] Attempt at fixing the Paradise VGA 640x480x8bpp mode in Windows 3.0. --- src/video/vid_paradise.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/video/vid_paradise.c b/src/video/vid_paradise.c index 3b6f3acab..86cdbc673 100644 --- a/src/video/vid_paradise.c +++ b/src/video/vid_paradise.c @@ -122,6 +122,7 @@ void paradise_out(uint16_t addr, uint8_t val, void *p) { svga->gdcreg[0xe] = val; paradise_remap(paradise); + svga_recalctimings(svga); return; } break; @@ -251,9 +252,11 @@ void paradise_recalctimings(svga_t *svga) if (paradise->type == WD90C30) svga->interlace = (svga->crtc[0x2d] & 0x20); - svga->lowres = !(svga->gdcreg[0xe] & 0x01); - if (svga->bpp == 8 && !svga->lowres) + if (svga->gdcreg[0xe] & 0x01) { + svga->bpp = 8; + svga->lowres = 0; svga->render = svga_render_8bpp_highres; + } } static void paradise_write(uint32_t addr, uint8_t val, void *p)