Set MFP interrupt at end of frame
authorPatrice Mandin <patmandin@gmail.com>
Wed, 20 Jul 2005 17:47:18 +0000
changeset 1098 2911ff0a32bb
parent 1097 c83fa1c650dd
child 1099 1ccbb2b7d905
Set MFP interrupt at end of frame
src/audio/mint/SDL_mintaudio_dma8.c
--- a/src/audio/mint/SDL_mintaudio_dma8.c	Wed Jul 20 17:44:11 2005 +0000
+++ b/src/audio/mint/SDL_mintaudio_dma8.c	Wed Jul 20 17:47:18 2005 +0000
@@ -100,19 +100,13 @@
 	}
 
 	/* Check if we have 8 bits audio */
-/*
 	if ((cookie_snd & SND_8BIT)==0) {
 		DEBUG_PRINT((DEBUG_NAME "no 8 bits sound\n"));
 	    return(0);
 	}
-*/
-	if ((cookie_mch>>16)>MCH_F30) {
-		DEBUG_PRINT((DEBUG_NAME "unknown 8 bits audio chip\n"));
-		return 0;
-	}
 
 	/* Check if audio is lockable */
-	if ((cookie_mch>>16) == MCH_F30) {
+	if (cookie_snd & SND_16BIT) {
 		if (Locksnd()!=1) {
 			DEBUG_PRINT((DEBUG_NAME "audio locked by other application\n"));
 			return(0);
@@ -247,6 +241,7 @@
 			masterprediv=MASTERPREDIV_TT;
 			break;
 		case MCH_F30:
+		case MCH_ARANYM:
 			masterclock=MASTERCLOCK_FALCON1;
 			masterprediv=MASTERPREDIV_FALCON;
 			sfreq=1;
@@ -318,6 +313,12 @@
 	Xbtimer(XB_TIMERA, 8, 1, SDL_MintAudio_Dma8Interrupt);
 	Jenabint(MFP_DMASOUND);
 
+	if (cookie_snd & SND_16BIT) {
+		if (Setinterrupt(SI_TIMERA, SI_PLAY)<0) {
+			DEBUG_PRINT((DEBUG_NAME "Setinterrupt() failed\n"));
+		}
+	}
+
 	/* Go */
 	DMAAUDIO_IO.control = 3;	/* playback + repeat */