# HG changeset patch # User Patrice Mandin # Date 1223931020 0 # Node ID 4d743a3d0bc1c1eaf849ba2484c3c8b06a561076 # Parent db4007f17bc8f69a5f7e72195f033b0f6fb2d686 Disable Xbios video driver if FVDI present, but still allow it to be used when setting SDL_VIDEODRIVER diff -r db4007f17bc8 -r 4d743a3d0bc1 src/video/xbios/SDL_xbios.c --- a/src/video/xbios/SDL_xbios.c Mon Sep 15 20:47:55 2008 +0000 +++ b/src/video/xbios/SDL_xbios.c Mon Oct 13 20:50:20 2008 +0000 @@ -53,6 +53,10 @@ #define XBIOS_VID_DRIVER_NAME "xbios" +#ifndef C_fVDI +#define C_fVDI 0x66564449L +#endif + /* Debug print info */ #if 0 #define DEBUG_PRINT(what) \ @@ -95,6 +99,8 @@ static int XBIOS_Available(void) { unsigned long cookie_vdo, cookie_mil, cookie_hade, cookie_scpn; + unsigned long cookie_fvdi; + const char *envr = SDL_getenv("SDL_VIDEODRIVER"); /* Milan/Hades Atari clones do not have an Atari video chip */ if ( (Getcookie(C__MIL, &cookie_mil) == C_FOUND) || @@ -102,6 +108,17 @@ return 0; } + /* fVDI means graphic card, so no Xbios with it */ + if (Getcookie(C_fVDI, &cookie_fvdi) == C_FOUND) { + if (!envr) { + return 0; + } + if (SDL_strcmp(envr, XBIOS_VID_DRIVER_NAME)!=0) { + return 0; + } + /* Except if we force Xbios usage, through env var */ + } + /* Cookie _VDO present ? if not, assume ST machine */ if (Getcookie(C__VDO, &cookie_vdo) != C_FOUND) { cookie_vdo = VDO_ST << 16;