diff --git a/src/video/vid_s3.c b/src/video/vid_s3.c index 11321dae1..fae21a279 100644 --- a/src/video/vid_s3.c +++ b/src/video/vid_s3.c @@ -2178,7 +2178,7 @@ s3_out(uint16_t addr, uint8_t val, void *p) return; } else if ((svga->seqaddr == 0x0d) && (svga->seqregs[0x08] == 0x06)) { svga->seqregs[svga->seqaddr] = val; - svga->dpms = ((s3->chip >= S3_VISION964) && (svga->seqregs[0x0d] & 0xf0)) || (svga->crtc[0x56] & ((s3->chip >= S3_TRIO32) ? 0x06 : 0x20)); + svga->dpms = ((s3->chip >= S3_VISION964) && (svga->seqregs[0x0d] & 0x50)) || (svga->crtc[0x56] & ((s3->chip >= S3_TRIO32) ? 0x06 : 0x20)); svga_recalctimings(svga); return; } @@ -2387,7 +2387,7 @@ s3_out(uint16_t addr, uint8_t val, void *p) break; case 0x56: - svga->dpms = ((s3->chip >= S3_VISION964) && (svga->seqregs[0x0d] & 0xf0)) || (svga->crtc[0x56] & ((s3->chip >= S3_TRIO32) ? 0x06 : 0x20)); + svga->dpms = ((s3->chip >= S3_VISION964) && (svga->seqregs[0x0d] & 0x50)) || (svga->crtc[0x56] & ((s3->chip >= S3_TRIO32) ? 0x06 : 0x20)); old = ~val; /* force recalc */ break; diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 0752499b3..4b37eda62 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -433,7 +433,7 @@ static void s3_virge_out(uint16_t addr, uint8_t val, void *p) return; } else if ((svga->seqaddr == 0x0d) && (svga->seqregs[0x08] == 0x06)) { svga->seqregs[svga->seqaddr] = val; - svga->dpms = (svga->seqregs[0x0d] & 0xf0) || (svga->crtc[0x56] & 0x06); + svga->dpms = (svga->seqregs[0x0d] & 0x50) || (svga->crtc[0x56] & 0x06); svga_recalctimings(svga); return; } @@ -553,7 +553,7 @@ static void s3_virge_out(uint16_t addr, uint8_t val, void *p) break; case 0x56: - svga->dpms = (svga->seqregs[0x0d] & 0xf0) || (svga->crtc[0x56] & 0x06); + svga->dpms = (svga->seqregs[0x0d] & 0x50) || (svga->crtc[0x56] & 0x06); old = ~val; /* force recalc */ break;