diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 6b7223761..8f145fc56 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -894,10 +894,12 @@ gd54xx_out(uint16_t addr, uint8_t val, void *p) svga->gdcreg[5] &= ~0x04; svga->writemode = svga->gdcreg[5] & 3; svga->adv_flags &= (FLAG_EXTRA_BANKS | FLAG_ADDR_BY8 | FLAG_LATCH8); - svga->gdcreg[0] &= 0x0f; - gd543x_mmio_write(0xb8000, svga->gdcreg[0], gd54xx); - svga->gdcreg[1] &= 0x0f; - gd543x_mmio_write(0xb8004, svga->gdcreg[1], gd54xx); + if (svga->crtc[0x27] != CIRRUS_ID_CLGD5436) { + svga->gdcreg[0] &= 0x0f; + gd543x_mmio_write(0xb8000, svga->gdcreg[0], gd54xx); + svga->gdcreg[1] &= 0x0f; + gd543x_mmio_write(0xb8004, svga->gdcreg[1], gd54xx); + } svga->seqregs[2] &= 0x0f; } case 0x09: