notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
frontend: remove src alignment requirements in asm
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
registers.c
diff --git
a/plugins/dfsound/registers.c
b/plugins/dfsound/registers.c
index
d508c06
..
e069306
100644
(file)
--- a/
plugins/dfsound/registers.c
+++ b/
plugins/dfsound/registers.c
@@
-112,6
+112,7
@@
void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val,
//------------------------------------------------//
\r
case 14: // loop?
\r
spu.s_chan[ch].pLoop=spu.spuMemC+((val&~1)<<3);
\r
//------------------------------------------------//
\r
case 14: // loop?
\r
spu.s_chan[ch].pLoop=spu.spuMemC+((val&~1)<<3);
\r
+ spu.s_chan[ch].bIgnoreLoop = 1;
\r
goto upd_irq;
\r
//------------------------------------------------//
\r
}
\r
goto upd_irq;
\r
//------------------------------------------------//
\r
}
\r
@@
-203,12
+204,12
@@
void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val,
break;
\r
//-------------------------------------------------//
\r
case H_CDLeft:
\r
break;
\r
//-------------------------------------------------//
\r
case H_CDLeft:
\r
- spu.iLeftXAVol=
val & 0x7fff
;
\r
- if(spu.cddavCallback) spu.cddavCallback(0,val);
\r
+ spu.iLeftXAVol=
(int16_t)val
;
\r
+ if(spu.cddavCallback) spu.cddavCallback(0,
(int16_t)
val);
\r
break;
\r
case H_CDRight:
\r
break;
\r
case H_CDRight:
\r
- spu.iRightXAVol=
val & 0x7fff
;
\r
- if(spu.cddavCallback) spu.cddavCallback(1,val);
\r
+ spu.iRightXAVol=
(int16_t)val
;
\r
+ if(spu.cddavCallback) spu.cddavCallback(1,
(int16_t)
val);
\r
break;
\r
//-------------------------------------------------//
\r
case H_FMod1:
\r
break;
\r
//-------------------------------------------------//
\r
case H_FMod1:
\r
@@
-351,8
+352,7
@@
static void SoundOn(int start,int end,unsigned short val)
{
\r
if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?!
\r
{
\r
{
\r
if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?!
\r
{
\r
- spu.s_chan[ch].pCurr=spu.spuMemC+((regAreaGet(ch,6)&~1)<<3); // must be block aligned
\r
- if (spu_config.idiablofix == 0) spu.s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3);
\r
+ spu.s_chan[ch].bIgnoreLoop = 0;
\r
spu.dwNewChannel|=(1<<ch);
\r
}
\r
}
\r
spu.dwNewChannel|=(1<<ch);
\r
}
\r
}
\r