SPU2-X: PSX games should be able to read ENDX correctly now, which is

important functionality for many sound engines.
Fixed two other obvious errors in the psx compatibility merge, probably
inconsequential.
This commit is contained in:
Pseudonym 2016-10-20 04:10:37 +01:00
parent 8fdf973e66
commit 1f44c4be2f
2 changed files with 5 additions and 4 deletions

View File

@ -244,6 +244,7 @@ void __fastcall _hwWrite32( u32 mem, u32 value )
mcase(DMAC_ENABLEW): mcase(DMAC_ENABLEW):
if (!dmacWrite32<0x0f>(DMAC_ENABLEW, value)) return; if (!dmacWrite32<0x0f>(DMAC_ENABLEW, value)) return;
break;
default: default:
// TODO: psx add the real address in a sbus mcase // TODO: psx add the real address in a sbus mcase

View File

@ -928,7 +928,7 @@ u16 V_Core::ReadRegPS1(u32 mem)
break; // Voice 0..23 Channel ON / OFF(status) (R) (ENDX) break; // Voice 0..23 Channel ON / OFF(status) (R) (ENDX)
case 0x1d9e: case 0x1d9e:
value = Regs.ENDX >> 16; value = Regs.ENDX >> 16;
break;
case 0x1da2: case 0x1da2:
value = map_spu2to1(EffectsStartA); value = map_spu2to1(EffectsStartA);
break; break;
@ -1349,10 +1349,10 @@ static void __fastcall RegWrite_Core(u16 value)
psxmode = true; psxmode = true;
//memset(_spu2mem, 0, 0x200000); //memset(_spu2mem, 0, 0x200000);
Cores[1].FxEnable = 0; Cores[1].FxEnable = 0;
Cores[1].EffectsStartA = 0x7FFF8; // park core1 effect area in inaccessible mem Cores[1].EffectsStartA = 0x7FFF8; // park core1 effect area in inaccessible mem
Cores[1].EffectsEndA = 0x7FFFF; Cores[1].EffectsEndA = 0x7FFFF;
Cores[1].ExtEffectsStartA = 0x7FFF8; // park core1 ext effect area in high mem Cores[1].ExtEffectsStartA = 0x7FFF8;
Cores[1].ExtEffectsStartA = 0x7FFFF; Cores[1].ExtEffectsEndA = 0x7FFFF;
Cores[1].ReverbX = 0; Cores[1].ReverbX = 0;
Cores[1].RevBuffers.NeedsUpdated = true; Cores[1].RevBuffers.NeedsUpdated = true;
Cores[0].ReverbX = 0; Cores[0].ReverbX = 0;