VESA Support and Windows XP: Difference between revisions

From Sierra Wiki
Jump to navigationJump to search
(Created page with "<div align="center" style="font-size: 22pt">VESA Support and XP</div><br /> <div align="center">Compiled from threads from VOGONS</div> Many have trouble getting VESA 2.0 modes for their old DOS games, even with UNIVESA, an old utility that provided VESA modes for old graphics cards that had no VESA 2.0 or 3.0 support. UNIVESA will not work on modern machines. This utility is quite old, and has no support for modern GPUs. UNIVESA was created to provide VESA BIOS calls...")
 
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:




Many have trouble getting VESA 2.0 modes for their old DOS games, even with UNIVESA, an old utility that provided VESA modes for old graphics cards that had no VESA 2.0 or 3.0 support. UNIVESA will not work on modern machines. This utility is quite old, and has no support for modern GPUs. UNIVESA was created to provide VESA BIOS calls for old cards that did not have complete VESA 2.0 or 3.0 support. Modern cards (like the GeFroce 4 MX440) <br /> ''do'' have VESA 3.0 support built-in, so you do not need a utility like Univesa, but you will not have these VESA modes under Windows 2000/XP due to lack of support from VGA.SYS and the NTVDM in general.
Many have trouble getting VESA 2.0 modes for their old DOS games, even with UNIVESA, an old utility that provided VESA modes for old graphics cards that had no VESA 2.0 or 3.0 support. UNIVESA will not work on modern machines. This utility is quite old, and has no support for modern GPUs. UNIVESA was created to provide VESA BIOS calls for old cards that did not have complete VESA 2.0 or 3.0 support. Modern cards (like the GeFroce 4 MX440) ''do'' have VESA 3.0 support built-in, so you do not need a utility like Univesa, but you will not have these VESA modes under Windows 2000/XP due to lack of support from VGA.SYS and the NTVDM in general.


Why can't you play games using some VESA modes under Windows 2000/XP? The answer to this question has to be split in two: how to set your card to the desired video mode and how to access video memory.
Why can't you play games using some VESA modes under Windows 2000/XP? The answer to this question has to be split in two: how to set your card to the desired video mode and how to access video memory.
Line 9: Line 9:
===<br /> Setting VESA mode  ===
===<br /> Setting VESA mode  ===


First of all, to set your card into the correct VESA mode you need access to the I/O ports used by the card, and access to these ports is controlled by the NTVDM and VGA.SYS, the standard full-screen VGA driver from Windows. From several discussions in this forum we have learned that vga.sys restricts access to some I/O ports based on card model. Most ATI cards and nVidia GeForce 2 and 3 cards have no problem with this, but GeForce 4 MX cards are in trouble because vga.sys won't let the BIOS write to the correct I/O ports needed to switch modes. There are a couple of alternatives to fix this: there's a patch for vga.sys that "unblocks" access to some I/O ports used by Geforce 4 cards in [http://vogons.zetafleet.com/viewtopic.php?t=1659">this thread]] and there is the new [http://vogons.zetafleet.com/viewtopic.php?t=4494">SolVBE driver]] written by [http://sol.gfxile.net/">Sol_HSA]].
First of all, to set your card into the correct VESA mode you need access to the I/O ports used by the card, and access to these ports is controlled by the NTVDM and VGA.SYS, the standard full-screen VGA driver from Windows. From several discussions in this forum we have learned that vga.sys restricts access to some I/O ports based on card model. Most ATI cards and nVidia GeForce 2 and 3 cards have no problem with this, but GeForce 4 MX cards are in trouble because vga.sys won't let the BIOS write to the correct I/O ports needed to switch modes. There are a couple of alternatives to fix this: there's a patch for vga.sys that "unblocks" access to some I/O ports used by Geforce 4 cards in [http://vogons.zetafleet.com/viewtopic.php?t=1659 this thread] and there is the new [http://vogons.zetafleet.com/viewtopic.php?t=4494 SolVBE driver] written by [http://sol.gfxile.net/ Sol_HSA].


===<br /> Accessing Video Memory ===
===<br /> Accessing Video Memory ===


The second part of the problem involves access to the video memory. Some VESA modes require linear access to the card memory, but the DPMI services provided by the NTVDM do not allow this and there is no other way to have direct access to physical memory regions inside the VDM, so you are limited to banked modes. Eventually you need to force a game to detected only banked modes, so you need [[Display Utilities/NOLFB|<br /> NOLFB]] to "hide" linear modes from the list of modes returned by BIOS calls issued by the game. SolVBE also does this trick, showing only banked modes.
The second part of the problem involves access to the video memory. Some VESA modes require linear access to the card memory, but the DPMI services provided by the NTVDM do not allow this and there is no other way to have direct access to physical memory regions inside the VDM, so you are limited to banked modes. Eventually you need to force a game to detected only banked modes, so you need [[NOLFB]] to "hide" linear modes from the list of modes returned by BIOS calls issued by the game. SolVBE also does this trick, showing only banked modes.


Finally, please keep in mind that this is a tough subject and results may vary.
Finally, please keep in mind that this is a tough subject and results may vary.
<div align="right">Regards, <br /> MajorGrubert</div>
<div align="right">Regards, <br /> MajorGrubert</div>


<blockquote>
== References ==
[[Display Utilities|Display Utilities Page]] </blockquote>
 
==<br /> References ==


<references />
<references />
Line 28: Line 24:
== See Also ==
== See Also ==


* [[Windows 3x on DOSBox Guide|Main Windows 3x Page]]
* [[Display Utilities|Display Utilities Page]]
* [[DOSBox|Main DOSBox Page]]
* [[General Game Help]]
* [[General Game Help]]
* [[Game Troubleshooting]]
* [[Game Troubleshooting]]
* [[Emulators]]
* [[Utilities]]
* [[Utilities|Main Utilities Page]]
* [[Utilities|Main Utilities Page]]
* [[Sierra Game Updates|Main Update Page]]
&nbsp;
&nbsp;
[[Category:Technical Info]]
[[Category:Technical Info]]
Line 42: Line 34:
[[Category:Game Help]]
[[Category:Game Help]]
[[Category:Guides]]
[[Category:Guides]]
[[Category:Tutorials]]
[[Category:Utilities]]
[[Category:Utilities]]
[[Category:Patches and Updates]]
[[Category:New Pages to be Edited]]
[[Category:New Pages to be Edited]]

Latest revision as of 20:54, 7 November 2024

VESA Support and XP


Compiled from threads from VOGONS


Many have trouble getting VESA 2.0 modes for their old DOS games, even with UNIVESA, an old utility that provided VESA modes for old graphics cards that had no VESA 2.0 or 3.0 support. UNIVESA will not work on modern machines. This utility is quite old, and has no support for modern GPUs. UNIVESA was created to provide VESA BIOS calls for old cards that did not have complete VESA 2.0 or 3.0 support. Modern cards (like the GeFroce 4 MX440) do have VESA 3.0 support built-in, so you do not need a utility like Univesa, but you will not have these VESA modes under Windows 2000/XP due to lack of support from VGA.SYS and the NTVDM in general.

Why can't you play games using some VESA modes under Windows 2000/XP? The answer to this question has to be split in two: how to set your card to the desired video mode and how to access video memory.


Setting VESA mode

First of all, to set your card into the correct VESA mode you need access to the I/O ports used by the card, and access to these ports is controlled by the NTVDM and VGA.SYS, the standard full-screen VGA driver from Windows. From several discussions in this forum we have learned that vga.sys restricts access to some I/O ports based on card model. Most ATI cards and nVidia GeForce 2 and 3 cards have no problem with this, but GeForce 4 MX cards are in trouble because vga.sys won't let the BIOS write to the correct I/O ports needed to switch modes. There are a couple of alternatives to fix this: there's a patch for vga.sys that "unblocks" access to some I/O ports used by Geforce 4 cards in this thread and there is the new SolVBE driver written by Sol_HSA.


Accessing Video Memory

The second part of the problem involves access to the video memory. Some VESA modes require linear access to the card memory, but the DPMI services provided by the NTVDM do not allow this and there is no other way to have direct access to physical memory regions inside the VDM, so you are limited to banked modes. Eventually you need to force a game to detected only banked modes, so you need NOLFB to "hide" linear modes from the list of modes returned by BIOS calls issued by the game. SolVBE also does this trick, showing only banked modes.

Finally, please keep in mind that this is a tough subject and results may vary.

Regards,
MajorGrubert

References


See Also