From b821b6ad3d6375098d7e0c1165aa965fba2f1c07 Mon Sep 17 00:00:00 2001 From: Patrice Mandin Date: Wed, 20 Jul 2005 17:39:10 +0000 Subject: [PATCH] XBIOS in interrupt not usable under MiNT --- README.MiNT | 2 +- src/audio/mint/SDL_mintaudio_mcsn.c | 6 ++++++ src/audio/mint/SDL_mintaudio_xbios.c | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.MiNT b/README.MiNT index 961ab8d64..9632dab34 100644 --- a/README.MiNT +++ b/README.MiNT @@ -204,7 +204,7 @@ VBL timer driver: Audio drivers: Cookies _SND, MCSN, STFA and GSXB used to detect supported audio - capabilities. + capabilities. Note: XBIOS and MCSN drivers can not be used under MiNT. STE, Mega STE, TT: 8 bits DMA (hardware access) diff --git a/src/audio/mint/SDL_mintaudio_mcsn.c b/src/audio/mint/SDL_mintaudio_mcsn.c index a5b67eaeb..7855d2805 100644 --- a/src/audio/mint/SDL_mintaudio_mcsn.c +++ b/src/audio/mint/SDL_mintaudio_mcsn.c @@ -82,8 +82,14 @@ static void Mint_InitAudio(_THIS, SDL_AudioSpec *spec); static int Audio_Available(void) { + unsigned long dummy; const char *envr = getenv("SDL_AUDIODRIVER"); + /* We can't use XBIOS in interrupt under MiNT */ + if (Getcookie(C_MiNT, &dummy) == C_FOUND) { + return(0); + } + /* Check if user asked a different audio driver */ if ((envr) && (strcmp(envr, MINT_AUDIO_DRIVER_NAME)!=0)) { DEBUG_PRINT((DEBUG_NAME "user asked a different audio driver\n")); diff --git a/src/audio/mint/SDL_mintaudio_xbios.c b/src/audio/mint/SDL_mintaudio_xbios.c index f95a880f7..b012ff21b 100644 --- a/src/audio/mint/SDL_mintaudio_xbios.c +++ b/src/audio/mint/SDL_mintaudio_xbios.c @@ -82,8 +82,14 @@ static void Mint_InitAudio(_THIS, SDL_AudioSpec *spec); static int Audio_Available(void) { + unsigned long dummy; const char *envr = getenv("SDL_AUDIODRIVER"); + /* We can't use XBIOS in interrupt under MiNT */ + if (Getcookie(C_MiNT, &dummy) == C_FOUND) { + return(0); + } + /* Check if user asked a different audio driver */ if ((envr) && (strcmp(envr, MINT_AUDIO_DRIVER_NAME)!=0)) { DEBUG_PRINT((DEBUG_NAME "user asked a different audio driver\n"));