summaryrefslogtreecommitdiff
path: root/plugins/dfsound/registers.c
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-15 20:16:33 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-15 20:16:33 +0000
commit1af151e8bbd3f54aec49fc5956e98de68f3f6491 (patch)
tree16fb4c51c101e16447f6cb72574f3bd300aa262c /plugins/dfsound/registers.c
parent0facac847fd9cde7556a53a0d19407b93b3e3c15 (diff)
downloadpcsxr-1af151e8bbd3f54aec49fc5956e98de68f3f6491.tar.gz
dfsound - registers.c, spu.c
- Some VAG $2 silence adjustments - Align start addresses to 16-bytes - Brain Dead 13 now works git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@61205 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins/dfsound/registers.c')
-rw-r--r--plugins/dfsound/registers.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c
index d8e1e66f..fbf20101 100644
--- a/plugins/dfsound/registers.c
+++ b/plugins/dfsound/registers.c
@@ -70,7 +70,8 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val)
break;
//------------------------------------------------// start
case 6:
- s_chan[ch].pStart=spuMemC+((unsigned long) val<<3);
+ // Brain Dead 13 - align to 16 boundary
+ s_chan[ch].pStart= spuMemC+(unsigned long)((val<<3)&~0xf);
break;
//------------------------------------------------// level with pre-calcs
case 8:
@@ -429,13 +430,15 @@ void SoundOn(int start,int end,unsigned short val) // SOUND ON PSX COMAND
s_chan[ch].bIgnoreLoop=0;
s_chan[ch].bNew=1;
- // ..?
+ // do this here, not in StartSound
+ // - fixes fussy timing issues
s_chan[ch].iSilent=0;
- //s_chan[ch].bStop=0;
+ s_chan[ch].bStop=0;
+ s_chan[ch].bOn=1;
+ s_chan[ch].pCurr=s_chan[ch].pStart;
// Final Fantasy 7 - don't do any of these
- //s_chan[ch].pLoop = spuMemC;
- //s_chan[ch].pLoop = 0;
+ // - sets loop address before VoiceOn
//s_chan[ch].pLoop = s_chan[ch].pStart;
dwNewChannel|=(1<<ch); // bitfield for faster testing