From 803453cdcb8d53a48ea909669576ccc6ebff9c42 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Sat, 27 Dec 2025 17:45:40 +0600 Subject: [PATCH] Fix card detection by S3VBEFIX --- src/video/vid_s3.c | 2 +- src/video/vid_s3_virge.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video/vid_s3.c b/src/video/vid_s3.c index 175b5048f..101d3ae8b 100644 --- a/src/video/vid_s3.c +++ b/src/video/vid_s3.c @@ -3527,7 +3527,7 @@ s3_in(uint16_t addr, void *priv) } break; case 0x30: - return s3->id; /*Chip ID*/ + return ((svga->crtc[0x38] & 0xcc) != 0x48) ? 0xFF : s3->id; /*Chip ID*/ case 0x31: return (svga->crtc[0x31] & 0xcf) | ((s3->ma_ext & 3) << 4); case 0x35: diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index cc4f75205..bb1b2b11e 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -751,7 +751,7 @@ s3_virge_in(uint16_t addr, void *priv) ret = virge->virge_rev; break; case 0x30: - ret = virge->virge_id; + ret = ((svga->crtc[0x38] & 0xcc) != 0x48) ? 0xFF : virge->virge_id; break; /*Chip ID*/ case 0x31: ret = (svga->crtc[0x31] & 0xcf) | ((virge->ma_ext & 3) << 4);