diff --git a/mpxplay/au_cards/sc_sbl24.c b/mpxplay/au_cards/sc_sbl24.c index d5581203..9691a63b 100644 --- a/mpxplay/au_cards/sc_sbl24.c +++ b/mpxplay/au_cards/sc_sbl24.c @@ -375,7 +375,7 @@ static int snd_live24_isr(emu10k1_card *card) outl(card->iobase+IPR, intmask); int intmask2 = snd_ca0106_ptr_read(card, EXTENDED_INT, 0); snd_ca0106_ptr_write(card, EXTENDED_INT, 0, intmask2); //ack - return intmask; + return intmask|intmask2; } #endif diff --git a/mpxplay/au_cards/sc_sbliv.c b/mpxplay/au_cards/sc_sbliv.c index 869e9d39..43ff3ea0 100644 --- a/mpxplay/au_cards/sc_sbliv.c +++ b/mpxplay/au_cards/sc_sbliv.c @@ -863,7 +863,7 @@ static void snd_emu10kx_setrate(struct emu10k1_card *card,struct mpxplay_audioou static void snd_emu10kx_pcm_start_playback(struct emu10k1_card *card) { #ifdef SBEMU - emu10k1_writefn0(card, INTE, emu10k1_readfn0(card, INTE)|INTE_SAMPLERATETRACKER|INTE_INTERVALTIMERENB); //enable timer interrupt + emu10k1_writefn0(card, INTE, emu10k1_readfn0(card, INTE)|INTE_SAMPLERATETRACKER|INTE_INTERVALTIMERENB|INTE_FXDSPENABLE); //enable timer interrupt emu10k1_writefn0(card, TIMER, 0x240); //set timer rate #endif