diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/cdrcimg/cdrcimg.c | 4 | ||||
-rw-r--r-- | plugins/dfsound/registers.c | 2 | ||||
-rw-r--r-- | plugins/dfsound/spu_config.h | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/plugins/cdrcimg/cdrcimg.c b/plugins/cdrcimg/cdrcimg.c index 45016bb..f1e0777 100644 --- a/plugins/cdrcimg/cdrcimg.c +++ b/plugins/cdrcimg/cdrcimg.c @@ -100,7 +100,7 @@ static long CDRgetTD(unsigned char track, unsigned char *buffer) return 0; } -int uncomp2(void *out, unsigned long *out_size, void *in, unsigned long in_size) +static int uncompress2_pcsx(void *out, unsigned long *out_size, void *in, unsigned long in_size) { static z_stream z; int ret = 0; @@ -201,7 +201,7 @@ static long CDRreadTrack(unsigned char *time) ret = uncompress(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); break; case CDRC_ZLIB2: - ret = uncomp2(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); + ret = uncompress2_pcsx(cdbuffer->raw[0], &cdbuffer_size, cdbuffer->compressed, size); break; case CDRC_BZ: ret = pBZ2_bzBuffToBuffDecompress((char *)cdbuffer->raw, (unsigned int *)&cdbuffer_size, diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index 91bcaf8..bb64658 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -352,7 +352,7 @@ static void SoundOn(int start,int end,unsigned short val) if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?!
{
spu.s_chan[ch].pCurr=spu.spuMemC+((regAreaGet(ch,6)&~1)<<3); // must be block aligned
- spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3);
+ if (spu_config.idiablofix == 0) spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3);
spu.dwNewChannel|=(1<<ch);
}
}
diff --git a/plugins/dfsound/spu_config.h b/plugins/dfsound/spu_config.h index 3e88a2c..6b46bf3 100644 --- a/plugins/dfsound/spu_config.h +++ b/plugins/dfsound/spu_config.h @@ -7,6 +7,7 @@ typedef struct int iUseReverb; int iUseInterpolation; int iTempo; + int idiablofix; int iUseThread; int iUseFixedUpdates; // output fixed number of samples/frame |