diff options
| -rw-r--r-- | plugins/dfsound/registers.c | 2 | ||||
| -rw-r--r-- | plugins/dfsound/spu.c | 17 |
2 files changed, 15 insertions, 4 deletions
diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index 2e9086ed..8ca150f2 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -436,7 +436,7 @@ void SoundOn(int start,int end,unsigned short val) // SOUND ON PSX COMAND #if 0
// ADSR init time (guess to # apu cycles)
- s_chan[ch].ADSRX.StartDelay = 20;
+ s_chan[ch].ADSRX.StartDelay = 0;
#endif
// Final Fantasy 7 - don't do any of these
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index e768eae1..bfe78c95 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -643,7 +643,16 @@ static void *MAINThread(void *arg) predict_nr=(int)*start;start++; shift_factor=predict_nr&0xf; predict_nr >>= 4; - flags=(int)*start;start++; + flags=(int)*start;start++;
+
+
+#if 0
+ // Jungle Book - Rhythm 'n Groove - use external loop address
+ // - fixes music player (+IRQ generate)
+ if( flags&4 )
+ s_chan[ch].pLoop=start-2;
+#endif
+ // -------------------------------------- // @@ -699,11 +708,13 @@ static void *MAINThread(void *arg) silence means no volume (ADSR keeps playing!!) */ - +
+#if 1 // Jungle Book - Rhythm 'n Groove - use external loop address // - fixes music player (+IRQ generate) if((flags&4) && (s_chan[ch].bIgnoreLoop == 0)) - s_chan[ch].pLoop=start-16; + s_chan[ch].pLoop=start-16;
+#endif // Jungle Book - Rhythm 'n Groove - don't reset ignore status // - fixes gameplay speed (IRQ hits) |
