diff --git a/rpcs3/Emu/Cell/SPUInterpreter.h b/rpcs3/Emu/Cell/SPUInterpreter.h index 7f88e6e3ec..4d8125575f 100644 --- a/rpcs3/Emu/Cell/SPUInterpreter.h +++ b/rpcs3/Emu/Cell/SPUInterpreter.h @@ -475,6 +475,12 @@ private: { const u32 t = (CPU.GPR[rb]._u32[3] + CPU.GPR[ra]._u32[3]) & 0xF; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u8[15 - t] = 0x03; @@ -483,6 +489,12 @@ private: { const u32 t = (CPU.GPR[rb]._u32[3] + CPU.GPR[ra]._u32[3]) & 0xE; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u16[7 - (t >> 1)] = 0x0203; @@ -490,6 +502,12 @@ private: void CWX(u32 rt, u32 ra, u32 rb) { const u32 t = (CPU.GPR[ra]._u32[3] + CPU.GPR[rb]._u32[3]) & 0xC; + + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; @@ -499,6 +517,12 @@ private: { const u32 t = (CPU.GPR[rb]._u32[3] + CPU.GPR[ra]._u32[3]) & 0x8; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u64[1 - (t >> 3)] = (u64)0x0001020304050607; @@ -584,6 +608,12 @@ private: { const int t = (CPU.GPR[ra]._u32[3] + i7) & 0xF; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u8[15 - t] = 0x03; @@ -592,6 +622,12 @@ private: { const int t = (CPU.GPR[ra]._u32[3] + i7) & 0xE; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u16[7 - (t >> 1)] = 0x0203; @@ -600,6 +636,12 @@ private: { const int t = (CPU.GPR[ra]._u32[3] + i7) & 0xC; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u32[3 - (t >> 2)] = 0x00010203; @@ -608,6 +650,12 @@ private: { const int t = (CPU.GPR[ra]._u32[3] + i7) & 0x8; + if (ra == 1 && (CPU.GPR[ra]._u32[3] & 0xF)) + { + LOG_ERROR(SPU, "%s(): SP = 0x%x", __FUNCTION__, CPU.GPR[ra]._u32[3]); + Emu.Pause(); + } + CPU.GPR[rt]._u64[0] = (u64)0x18191A1B1C1D1E1F; CPU.GPR[rt]._u64[1] = (u64)0x1011121314151617; CPU.GPR[rt]._u64[1 - (t >> 3)] = (u64)0x0001020304050607; diff --git a/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp b/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp index 972eb1c593..e23461cda8 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellAdec.cpp @@ -651,7 +651,7 @@ int cellAdecDecodeAu(u32 handle, vm::ptr auInfo) task.au.pts = ((u64)auInfo->pts.upper << 32) | (u64)auInfo->pts.lower; task.au.userdata = auInfo->userData; - cellAdec->Notice("cellAdecDecodeAu(): addr=0x%x, size=0x%x, pts=0x%llx", task.au.addr, task.au.size, task.au.pts); + //cellAdec->Notice("cellAdecDecodeAu(): addr=0x%x, size=0x%x, pts=0x%llx", task.au.addr, task.au.size, task.au.pts); adec->job.Push(task, &adec->is_closed); return CELL_OK; } @@ -675,12 +675,6 @@ int cellAdecGetPcm(u32 handle, vm::ptr outBuffer) AVFrame* frame = af.data; - if (!af.data) - { - // hack - return CELL_OK; - } - if (outBuffer) { // reverse byte order: