diff --git a/vidix/nvidia_vid.c b/vidix/nvidia_vid.c index 302d99dfc9..d87cfc807f 100644 --- a/vidix/nvidia_vid.c +++ b/vidix/nvidia_vid.c @@ -673,12 +673,15 @@ static void nv_getscreenproperties(struct rivatv_info *info){ /* and the 10th in CRTC_OVERFLOW*/ info->screen_y |=(VID_RD08(info->chip.PCIO,0x03D5) &0x40)<<3; ++info->screen_y; + + if(info->chip.arch >= NV_ARCH_10){ /* NV_PCRTC_EXTRA_VERT_DISPLAY_END_10 */ VID_WR08(info->chip.PCIO,0x03D4,0x25); info->screen_y |= (VID_RD08(info->chip.PCIO,0x03D5) &0x02)<<9; /* NV_PCRTC_???_VERT_DISPLAY_END_11 */ VID_WR08(info->chip.PCIO,0x03D4,0x41); info->screen_y |= (VID_RD08(info->chip.PCIO,0x03D5) &0x04)<<9; + } /* NV_PCRTC_OFFSET */ VID_WR08 (info->chip.PCIO, 0x3D4, 0x13);