From c7bce543b0ebd644bb78bd7c62cb54fe47e9e2ff Mon Sep 17 00:00:00 2001 From: OBattler Date: Sun, 7 Jun 2020 06:30:21 +0200 Subject: [PATCH] Fixed the SVGA code so characters skipped on scanline are no longer calculated twice, should fix more problems on that Kasan Korean card. --- src/video/vid_svga.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/video/vid_svga.c b/src/video/vid_svga.c index 2140f7d7e..aedaf58a9 100644 --- a/src/video/vid_svga.c +++ b/src/video/vid_svga.c @@ -611,7 +611,6 @@ svga_poll(void *p) svga_t *svga = (svga_t *)p; uint32_t x, blink_delay; int wx, wy; - int skip = (svga->crtc[8] >> 5) & 0x03; int ret, old_ma; if (!svga->linepos) { @@ -812,9 +811,9 @@ svga_poll(void *p) svga->ma = svga->maback = svga->ma_latch + ((svga->crtc[5] & 0x60) >> 5); svga->ca = ((svga->crtc[0xe] << 8) | svga->crtc[0xf]) + ((svga->crtc[0xb] & 0x60) >> 5) + svga->ca_adj; - svga->ma = (svga->ma << 2) + (skip << 2); - svga->maback = (svga->maback << 2) + (skip << 2); - svga->ca = (svga->ca << 2) + (skip << 2); + svga->ma = (svga->ma << 2); + svga->maback = (svga->maback << 2); + svga->ca = (svga->ca << 2); if (svga->vsync_callback) svga->vsync_callback(svga);