Disable Xbios video driver if FVDI present, but still allow it to be used when setting SDL_VIDEODRIVER

--HG--
branch : SDL-1.2
This commit is contained in:
Patrice Mandin
2008-10-13 20:50:20 +00:00
parent 390ea0d774
commit 8875f324a6

View File

@@ -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 unsigned long F30_palette[256];
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 @@ static int XBIOS_Available(void)
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;