Q43587: Why _setvideomode() May Fail to Set Some Modes
Article: Q43587
Product(s): See article
Version(s): 5.00 5.10
Operating System(s): MS-DOS
Keyword(s): ENDUSER | S_QUICKC setvideomode _setvideomode | mspl13_c
Last Modified: 25-MAY-1989
The following are possible reasons that _setvideomode() might fail
when attempting to set a video mode:
1. Some of the older IBM EGA (enhanced graphics adapter) cards only
have 64K of video memory. As such, they cannot display the
640 x 350 16 (_ERES16COLOR) color EGA mode. However,
lower-resolution modes may work correctly because they don't
require that much memory.
2. There are EGA cards that have dip-switch settings to set the card
into high- or low-resolution modes. Some BIOS ignore these dip
switches and set the mode to high resolution. However, the
_setvideomode() function does its own checking and may honor the
dip-switch settings depending on the particular card. Setting the
dip switches properly for the high-resolution modes should resolve
the problem.
3. The video card may not support the requested mode. If the card does
not support the mode, then _setvideomode() cannot set it into that
mode.
4. Many VGA cards have non-standard extended modes that are unique to
those cards. _setvideomode() supports only standard video modes
and, thus, will not recognize the extended modes.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.