From 4f11821ee68740ec1fde29a64b826d27279caa1c Mon Sep 17 00:00:00 2001 From: TomW Date: Sun, 6 Jul 2014 21:40:28 +0100 Subject: [PATCH] Port 0x3da diagnostic bits now held static during blanking, fixes DOS 6.2/V hang. --- src/vid_svga.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vid_svga.c b/src/vid_svga.c index 36034f7..4e1f676 100644 --- a/src/vid_svga.c +++ b/src/vid_svga.c @@ -229,7 +229,10 @@ uint8_t svga_in(uint16_t addr, void *p) return svga->gdcreg[svga->gdcaddr & 0xf]; case 0x3DA: svga->attrff = 0; - svga->cgastat ^= 0x30; + if (svga->cgastat & 0x01) + svga->cgastat &= ~0x30; + else + svga->cgastat ^= 0x30; return svga->cgastat; } // printf("Bad EGA read %04X %04X:%04X\n",addr,cs>>4,pc);