From 55ed92f801382c69146724b9087f9ba263f53417 Mon Sep 17 00:00:00 2001 From: OBattler Date: Thu, 26 Nov 2020 19:01:48 +0100 Subject: [PATCH] Added the Cirrus change to the forgotten Write mode 2. --- src/video/vid_svga.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/video/vid_svga.c b/src/video/vid_svga.c index df81a9cb2..efe663d8c 100644 --- a/src/video/vid_svga.c +++ b/src/video/vid_svga.c @@ -1102,8 +1102,13 @@ svga_write_common(uint32_t addr, uint8_t val, uint8_t linear, void *p) if (!(svga->gdcreg[3] & 0x18) && (!svga->gdcreg[1] || svga->set_reset_disabled)) { for (i = 0; i < count; i++) { - if (writemask2 & (1 << i)) - svga->vram[addr | i] = (vall.b[i] & svga->gdcreg[8]) | (svga->latch.b[i] & ~svga->gdcreg[8]); + if ((svga->adv_flags & FLAG_EXT_WRITE) && (svga->adv_flags & FLAG_ADDR_BY8)) { + if (writemask2 & (0x80 >> i)) + svga->vram[addr | i] = (vall.b[i] & svga->gdcreg[8]) | (svga->latch.b[i] & ~svga->gdcreg[8]); + } else { + if (writemask2 & (1 << i)) + svga->vram[addr | i] = (vall.b[i] & svga->gdcreg[8]) | (svga->latch.b[i] & ~svga->gdcreg[8]); + } } return; }