From da6e537b3167c58ec1f687f87d88f219a425cf89 Mon Sep 17 00:00:00 2001 From: SarahW Date: Sun, 22 Oct 2017 12:40:09 +0100 Subject: [PATCH] Add S3 Enhanced Mode Mappings address override. Fixes some hangs with Trio64 and Windows 95. --- src/vid_s3.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/vid_s3.c b/src/vid_s3.c index 13f71cf..d8f5fe9 100644 --- a/src/vid_s3.c +++ b/src/vid_s3.c @@ -1034,7 +1034,14 @@ void s3_updatemapping(s3_t *s3) } // pclog("Update mapping - bank %02X ", svga->gdcreg[6] & 0xc); - switch (svga->gdcreg[6] & 0xc) /*Banked framebuffer*/ + /*Banked framebuffer*/ + if (svga->crtc[0x31] & 0x08) /*Enhanced mode mappings*/ + { + /*Enhanced mapping forces 64kb at 0xa0000*/ + mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000); + svga->banked_mask = 0xffff; + } + else switch (svga->gdcreg[6] & 0xc) /*VGA mapping*/ { case 0x0: /*128k at A0000*/ mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x20000);