mirror of https://github.com/PCSX2/pcsx2.git
SPU2-X: TDA is a fake internal register (which should probably be nuked), so reading from the FIFO (or whatever 1AC is) certainly shouldn't use it. Also fixed up related code a little. We don't know of any games which actually use this though. Actually I don't know if we know that reading this register does anything, this could all be the product of an overactive imagination.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5399 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
7027c54309
commit
d4e4abfe82
|
@ -589,7 +589,7 @@ EXPORT_C_(u16) SPU2read(u32 rmem)
|
|||
u16 ret=0xDEAD; u32 core=0, mem=rmem&0xFFFF, omem=mem;
|
||||
if (mem & 0x400) { omem^=0x400; core=1; }
|
||||
|
||||
if(rmem==0x1f9001AC)
|
||||
if(omem == 0x1f9001AC)
|
||||
{
|
||||
ret = Cores[core].DmaRead();
|
||||
}
|
||||
|
@ -602,7 +602,7 @@ EXPORT_C_(u16) SPU2read(u32 rmem)
|
|||
{
|
||||
ret = Cores[0].ReadRegPS1(rmem);
|
||||
}
|
||||
else if( (mem&0xFFFF) >= 0x800 )
|
||||
else if (mem >= 0x800)
|
||||
{
|
||||
ret = spu2Ru16(mem);
|
||||
ConLog("* SPU2-X: Read from reg>=0x800: %x value %x\n",mem,ret);
|
||||
|
|
|
@ -496,8 +496,8 @@ struct V_Core
|
|||
|
||||
__forceinline u16 DmaRead()
|
||||
{
|
||||
const u16 ret = (u16)spu2M_Read(TDA);
|
||||
++TDA; TDA &= 0xfffff;
|
||||
const u16 ret = (u16)spu2M_Read(TSA);
|
||||
++TSA; TSA &= 0xfffff;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue