I have not yet tested an 8xxx series card from NVidia, but the most all of the NVidia GeForce (non-motherboard integrated) video […]
Show full quote
Dominus wrote:
How is the VESA compatibility with newer cards? I think I read somewhere that it is no longer that great compared to old graphic cards...
I have not yet tested an 8xxx series card from NVidia, but the most all of the NVidia GeForce (non-motherboard integrated) video adapters from the 7950GT and below have very good VESA 3.0 (minus) 🤣 capability. The 'minus' is because of the mass market adoption of LCD screens and the release of VISTA, the post-GeForce 3 NVidia video adapters have received a reputation for being non-VESA compliant, especially under the Windows NTVDM environment.
The wide-spread adoption of LCD screens in the market caused the NVidia BIOS coders for the 5xxx, 6xxx and 7xxx series to do a sloppy job in implementing the video output register parameters for CRT screens. The positioning is off and the refresh rate is locked to around 60 Hz to ensure that most of the newer LCD screens do not give an 'out of range' error message as many would do with an 85Hz refresh rate. This helps avoid support issues, since even if there was an 85 Hz refresh rate option clearly marked for CRTs only, the zombies with LCDs out there would find a way to improperly select this CRT only option and cause grief for the technical support organizations. The LCD screen user see none of these problems and thinks that all is well in their 60 Hz world... 😒
The NVidia BIOS coders removed sections of BIOS code so that the CRT users can no longer use the VESA 3.0 Int10h call enhacements to function 4F02h to set the VESA VBE CRTC Information Block parameters, ncluding the desired refresh rate. This means the VESA utility programs such as VBEPlus and UniRefresh will no longer work in DOS, much less the NTVDM environment.
The release of VISTA and the deprecated support for Int10h calls in the VISTA kernel means that the NVidia (and others) video BIOS coders placed some BIOS level 'protection' in the latest BIOS versions to protect VISTA 32-bit from any full-screen NTVDM occurance. A side effect of this VISTA 32-bit video BIOS protection is to cause problems with the WinXP (SP2) users who get new NVidia cards or who update their video BIOS. The problem that they get is a failure to go into full-screen NTVDM session in any plain IBM VGA or VESA graphics mode with a Windows popup message such as this:
The NTVDM CPU has encounterd an illegal instruction
CS;c000 IP:d0d9 OP:c6 6c 38 0c c6 Choose 'Close' to terminate application
When I shifted from an Leaktek 6600GT to a BFG 7950GT I ran into the problem and had to fix the VGA.SYS for WinXP (SP2). Now all VESA 1.2 modes plus the NVida specific VESA mode 152h (2048x1536x32bpp) work just fine in an NTVDM session.
Hope this helps,
dvwjr