diff --git a/src/VIDEO/vid_s3.c b/src/VIDEO/vid_s3.c index 6cc18d7e9..c9691cf5d 100644 --- a/src/VIDEO/vid_s3.c +++ b/src/VIDEO/vid_s3.c @@ -792,8 +792,15 @@ void s3_out(uint16_t addr, uint8_t val, void *p) break; case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9: - sdac_ramdac_out(addr, val, &s3->ramdac, svga); - return; + if (s3->chip == S3_VISION864) + { + sdac_ramdac_out(addr, val, &s3->ramdac, svga); + return; + } + else + { + break; + } case 0x3D4: svga->crtcreg = val & 0x7f; @@ -930,7 +937,14 @@ uint8_t s3_in(uint16_t addr, void *p) break; case 0x3c6: case 0x3c7: case 0x3c8: case 0x3c9: - return sdac_ramdac_in(addr, &s3->ramdac, svga); + if (s3->chip == S3_VISION864) + { + return sdac_ramdac_in(addr, &s3->ramdac, svga); + } + else + { + break; + } case 0x3d4: return svga->crtcreg;