diff --git a/src/vid_nv_rivatnt.c b/src/vid_nv_rivatnt.c index 47d52c410..115330fc0 100644 --- a/src/vid_nv_rivatnt.c +++ b/src/vid_nv_rivatnt.c @@ -1012,8 +1012,6 @@ static void rivatnt_out(uint16_t addr, uint8_t val, void *p) switch(svga->crtcreg) { case 0x1a: - //if(val & 2) svga->dac8bit = 1; - //else svga->dac8bit = 0; svga_recalctimings(svga); break; case 0x1e: @@ -1219,6 +1217,13 @@ static void rivatnt_recalctimings(svga_t *svga) svga->render = svga_render_32bpp_highres; break; } + + if((svga->crtc[0x28] & 3) != 0) + { + if(svga->crtc[0x1a] & 2) svga_set_ramdac_type(svga, RAMDAC_6BIT); + else svga_set_ramdac_type(svga, RAMDAC_8BIT); + } + else svga_set_ramdac_type(svga, RAMDAC_6BIT); if (((svga->miscout >> 2) & 2) == 2) {