From 4974c9cfb1974d3c4db0a5c1b49ff628d6d7c457 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 25 Oct 2017 21:09:03 +0100 Subject: [PATCH] Use standard VGA RAMDAC on Trio32/64 instead of SDAC - the internal Trio RAMDAC does not implement any extended registers. --- src/vid_s3.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/vid_s3.c b/src/vid_s3.c index 438e2ef..b6aa40f 100644 --- a/src/vid_s3.c +++ b/src/vid_s3.c @@ -798,7 +798,10 @@ void s3_out(uint16_t addr, uint8_t val, void *p) case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9: // pclog("Write RAMDAC %04X %02X %04X:%04X\n", addr, val, CS, pc); - sdac_ramdac_out(addr, val, &s3->ramdac, svga); + if (s3->chip == S3_TRIO32 || s3->chip == S3_TRIO64) + svga_out(addr, val, svga); + else + sdac_ramdac_out(addr, val, &s3->ramdac, svga); return; case 0x3D4: @@ -933,6 +936,8 @@ uint8_t s3_in(uint16_t addr, void *p) case 0x3c6: case 0x3c7: case 0x3c8: case 0x3c9: // pclog("Read RAMDAC %04X %04X:%04X\n", addr, CS, pc); + if (s3->chip == S3_TRIO32 || s3->chip == S3_TRIO64) + return svga_in(addr, svga); return sdac_ramdac_in(addr, &s3->ramdac, svga); case 0x3d4: