From 7abddb0b3575ca4a54ddac69ceebbfd37ab98b8e Mon Sep 17 00:00:00 2001 From: OBattler Date: Mon, 30 Jun 2025 18:31:07 +0200 Subject: [PATCH] Tseng graphics cards: restore some legacy renderers, fixes Slackware in 4bpp high resolution mode. --- src/video/vid_et3000.c | 3 +++ src/video/vid_et4000.c | 11 +++++++++++ src/video/vid_et4000w32.c | 3 +++ 3 files changed, 17 insertions(+) diff --git a/src/video/vid_et3000.c b/src/video/vid_et3000.c index a82f93385..482cc60a3 100644 --- a/src/video/vid_et3000.c +++ b/src/video/vid_et3000.c @@ -476,6 +476,9 @@ et3000_recalctimings(svga_t *svga) svga->clock = (cpuclock * (double) (1ULL << 32)) / 36000000.0; break; } + + if (svga->render == svga_render_4bpp_highres) + svga->render = svga_render_4bpp_tseng_highres; } static void * diff --git a/src/video/vid_et4000.c b/src/video/vid_et4000.c index a99cb8872..d7de0706e 100644 --- a/src/video/vid_et4000.c +++ b/src/video/vid_et4000.c @@ -723,6 +723,17 @@ et4000_recalctimings(svga_t *svga) svga->rowoffset <<= 1; svga->render = svga_render_8bpp_highres; } + + if (svga->render == svga_render_4bpp_highres) + svga->render = svga_render_4bpp_tseng_highres; + + if (dev->type == ET4000_TYPE_TC6058AF) { + if (svga->render == svga_render_8bpp_lowres) + svga->render = svga_render_8bpp_tseng_lowres; + + else if (svga->render == svga_render_8bpp_highres) + svga->render = svga_render_8bpp_tseng_highres; + } } static void diff --git a/src/video/vid_et4000w32.c b/src/video/vid_et4000w32.c index 533bd1f28..2e9a7796a 100644 --- a/src/video/vid_et4000w32.c +++ b/src/video/vid_et4000w32.c @@ -600,6 +600,9 @@ et4000w32p_recalctimings(svga_t *svga) } } } + + if (svga->render == svga_render_4bpp_highres) + svga->render = svga_render_4bpp_tseng_highres; } void