dfsound: backport fixes from pcsxr
[pcsx_rearmed.git] / plugins / dfsound / spu.c
index 7805828..8936e45 100644 (file)
@@ -245,15 +245,16 @@ INLINE void StartSound(int ch)
  StartADSR(ch);
  StartREVERB(ch);
 
- s_chan[ch].pCurr=s_chan[ch].pStart;                   // set sample start
+ // fussy timing issues - do in VoiceOn
+ //s_chan[ch].pCurr=s_chan[ch].pStart;                   // set sample start
+ //s_chan[ch].bStop=0;
+ //s_chan[ch].bOn=1;
 
  s_chan[ch].s_1=0;                                     // init mixing vars
  s_chan[ch].s_2=0;
  s_chan[ch].iSBPos=28;
 
  s_chan[ch].bNew=0;                                    // init channel flags
- s_chan[ch].bStop=0;
- s_chan[ch].bOn=1;
 
  s_chan[ch].SB[29]=0;                                  // init our interpolation helpers
  s_chan[ch].SB[30]=0;
@@ -441,7 +442,7 @@ INLINE int iGetInterpolationVal(int ch)
 static void *MAINThread(void *arg)
 {
  int s_1,s_2,fa,ns;
-#ifndef _MACOSX
+#if !defined(_MACOSX) && !defined(__arm__)
  int voldiv = iVolume;
 #else
  const int voldiv = 2;
@@ -923,10 +924,10 @@ long CALLBACK SPUinit(void)
  pMixIrq = 0;
  memset((void *)s_chan, 0, (MAXCHAN + 1) * sizeof(SPUCHAN));
  pSpuIrq = 0;
- iSPUIRQWait = 1;
+ iSPUIRQWait = 0;
  lastch = -1;
 
- ReadConfigSPU();                                      // read user stuff
//ReadConfigSPU();                                      // read user stuff
  SetupStreams();                                       // prepare streaming
 
  return 0;
@@ -979,7 +980,7 @@ long CALLBACK SPUconfigure(void)
 #ifdef _MACOSX
  DoConfiguration();
 #else
- StartCfgTool("CFG");
+// StartCfgTool("CFG");
 #endif
  return 0;
 }
@@ -990,7 +991,7 @@ void CALLBACK SPUabout(void)
 #ifdef _MACOSX
  DoAbout();
 #else
- StartCfgTool("ABOUT");
+// StartCfgTool("ABOUT");
 #endif
 }