mirror of https://github.com/PCSX2/pcsx2.git
SPU2-X:
- Fix Silent Hill Origins, Max Payne 2 and a few others. This was a really old bug :p git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2681 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
8064d9a4d4
commit
a7aac122d6
|
@ -509,6 +509,16 @@ static s32 __forceinline __fastcall GetNoiseValues( V_Core& thiscore, uint voice
|
||||||
// of the SPU2 (between 0x0000 and SPU2_DYN_MEMLINE)
|
// of the SPU2 (between 0x0000 and SPU2_DYN_MEMLINE)
|
||||||
static __forceinline void spu2M_WriteFast( u32 addr, s16 value )
|
static __forceinline void spu2M_WriteFast( u32 addr, s16 value )
|
||||||
{
|
{
|
||||||
|
// Fixes some of the oldest hangs in pcsx2's history! :p
|
||||||
|
for( int i=0; i<2; i++ )
|
||||||
|
{
|
||||||
|
if( Cores[i].IRQEnable && Cores[i].IRQA == addr )
|
||||||
|
{
|
||||||
|
//printf("Core %d special write IRQ Called (IRQ passed). IRQA = %x\n",i,addr);
|
||||||
|
Spdif.Info |= 4 << i;
|
||||||
|
SetIrqCall();
|
||||||
|
}
|
||||||
|
}
|
||||||
// throw an assertion if the memory range is invalid:
|
// throw an assertion if the memory range is invalid:
|
||||||
#ifndef DEBUG_FAST
|
#ifndef DEBUG_FAST
|
||||||
jASSUME( addr < SPU2_DYN_MEMLINE );
|
jASSUME( addr < SPU2_DYN_MEMLINE );
|
||||||
|
|
Loading…
Reference in New Issue