From f2aec10aa8e3befe7e89070e8559d070835cc23e Mon Sep 17 00:00:00 2001 From: notaz Date: Fri, 6 Jul 2012 20:40:38 +0300 Subject: [PATCH] spu: get rid of iSPUIRQWait there should be no reason to ever turn it off --- frontend/main.c | 2 -- frontend/menu.c | 4 ---- plugins/dfsound/externals.h | 3 --- plugins/dfsound/spu.c | 12 ++++-------- 4 files changed, 4 insertions(+), 17 deletions(-) diff --git a/frontend/main.c b/frontend/main.c index e072cdec..d6f4cd19 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -37,7 +37,6 @@ void StopDebugger(); extern int iUseReverb; extern int iUseInterpolation; extern int iXAPitch; -extern int iSPUIRQWait; extern int iVolume; int ready_to_go; @@ -157,7 +156,6 @@ void emu_set_default_config(void) iUseReverb = 2; iUseInterpolation = 1; iXAPitch = 0; - iSPUIRQWait = 1; iVolume = 768; #ifndef __ARM_ARCH_7A__ /* XXX */ iUseReverb = 0; diff --git a/frontend/menu.c b/frontend/menu.c index 866c2b42..d34b7f9d 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -106,7 +106,6 @@ int filter; extern int iUseReverb; extern int iUseInterpolation; extern int iXAPitch; -extern int iSPUIRQWait; extern int iVolume; static const char *bioses[24]; @@ -307,7 +306,6 @@ static const struct { CE_INTVAL_V(iUseReverb, 3), CE_INTVAL_V(iXAPitch, 3), CE_INTVAL_V(iUseInterpolation, 3), - CE_INTVAL_V(iSPUIRQWait, 3), CE_INTVAL(warned_about_bios), CE_INTVAL(in_evdev_allow_abs_only), CE_INTVAL(volume_boost), @@ -1213,7 +1211,6 @@ static int menu_loop_plugin_gpu_peopsgl(int id, int keys) static const char *men_spu_interp[] = { "None", "Simple", "Gaussian", "Cubic", NULL }; static const char h_spu_volboost[] = "Large values cause distortion"; -static const char h_spu_irq_wait[] = "Wait for CPU (recommended set to ON)"; static menu_entry e_menu_plugin_spu[] = { @@ -1221,7 +1218,6 @@ static menu_entry e_menu_plugin_spu[] = mee_onoff ("Reverb", 0, iUseReverb, 2), mee_enum ("Interpolation", 0, iUseInterpolation, men_spu_interp), mee_onoff ("Adjust XA pitch", 0, iXAPitch, 1), - mee_onoff_h ("SPU IRQ Wait", 0, iSPUIRQWait, 1, h_spu_irq_wait), mee_end, }; diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index dd582fff..0146553a 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -197,9 +197,6 @@ extern unsigned char * pSpuBuffer; extern int iVolume; extern int iXAPitch; -extern int iSPUIRQWait; -extern int iDebugMode; -extern int iRecordMode; extern int iUseReverb; extern int iUseInterpolation; // MISC diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index 4930e53a..4759f3fc 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -81,9 +81,6 @@ unsigned char * pMixIrq=0; int iVolume=768; // 1024 is 1.0 int iXAPitch=1; -int iSPUIRQWait=1; -int iDebugMode=0; -int iRecordMode=0; int iUseReverb=2; int iUseInterpolation=2; @@ -535,7 +532,7 @@ static int do_samples_##name(int ch, int ns, int ns_to) \ { \ sbpos = 0; \ d = decode_block(ch); \ - if(d && iSPUIRQWait) \ + if(d) \ { \ ret = ns; \ goto out; \ @@ -744,7 +741,7 @@ static int do_samples(int forced_updates) // advance "stopped" channels that can cause irqs // (all chans are always playing on the real thing..) - if(!bIRQReturn && (spuCtrl&CTRL_IRQ)) + if(spuCtrl&CTRL_IRQ) for(ch=0;ch pSpuIrq && s_chan[ch].pLoop > pSpuIrq) continue; - s_chan[ch].spos += s_chan[ch].sinc * NSSIZE; + s_chan[ch].spos += s_chan[ch].sinc * (ns_to - ns_from); while(s_chan[ch].spos >= 28 * 0x10000) { unsigned char *start = s_chan[ch].pCurr; @@ -771,7 +768,7 @@ static int do_samples(int forced_updates) } } - if(bIRQReturn && iSPUIRQWait) // special return for "spu irq - wait for cpu action" + if(bIRQReturn) // special return for "spu irq - wait for cpu action" return 0; @@ -1001,7 +998,6 @@ long CALLBACK SPUinit(void) pMixIrq = 0; memset((void *)s_chan, 0, (MAXCHAN + 1) * sizeof(SPUCHAN)); pSpuIrq = 0; - //iSPUIRQWait = 0; lastch = -1; SetupStreams(); // prepare streaming -- 2.39.5