XBIOS in interrupt not usable under MiNT
authorPatrice Mandin <patmandin@gmail.com>
Wed, 20 Jul 2005 17:39:10 +0000
changeset 1095 f10892fa2e48
parent 1094 5012b97142ac
child 1096 37b766becf3b
XBIOS in interrupt not usable under MiNT
README.MiNT
src/audio/mint/SDL_mintaudio_mcsn.c
src/audio/mint/SDL_mintaudio_xbios.c
--- a/README.MiNT	Mon Jul 18 13:42:57 2005 +0000
+++ b/README.MiNT	Wed Jul 20 17:39:10 2005 +0000
@@ -204,7 +204,7 @@
 
 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)
--- a/src/audio/mint/SDL_mintaudio_mcsn.c	Mon Jul 18 13:42:57 2005 +0000
+++ b/src/audio/mint/SDL_mintaudio_mcsn.c	Wed Jul 20 17:39:10 2005 +0000
@@ -82,8 +82,14 @@
 
 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"));
--- a/src/audio/mint/SDL_mintaudio_xbios.c	Mon Jul 18 13:42:57 2005 +0000
+++ b/src/audio/mint/SDL_mintaudio_xbios.c	Wed Jul 20 17:39:10 2005 +0000
@@ -82,8 +82,14 @@
 
 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"));