Commit graph

5315 commits

Author SHA1 Message Date
elad335
9c99e75939 SPU Debug: WrDec and LSA view
Report the last written value to WrDec.
2025-03-28 19:56:54 +03:00
elad335
047f71b434 PPU/cellSpurs: MGS4: Fix cellSpursAddUrgentCommand race condition
cellSpursAddUrgentCommand searches in 4 slots for an empty slot to put the command at.
At first, it seems to do so unordered.

Meanwhile, on SPU side, it expects an order between all the commands because it pops them it in FIFO manner.
Not keeping track of how many commands are queued in total.

After second observation of cellSpursAddUrgentCommand, something odd comes takes places here.
Usually, reservation loops are individual and are expected to be closed without any changes of the previous loop affected by the proceeding one.
But in this case, after a single failure, the entire operayion is reset, a loop of 4 reservation operations suddenly is reset completely.

This makes one wonder if it the HW expects sometjing else here, perhaps it caches the reservation internally here?
After some adjustments to LDARX and STDCX to cache the reservation between succeeding loops, Metal Gear Solid 4 no longer freezes!
2025-03-28 19:56:54 +03:00
elad335
91b1ec6d5c SPU LLVM: Dump some funcs 2025-03-28 19:56:54 +03:00
Megamouse
b8236e183c cellMic: log ALCenum error string 2025-03-27 00:51:15 +01:00
Malcolm Jestadt
c52920755a SPU LLVM: Don't use vperm2b256to128 outside of CPUTranslator.h
- The vperm2b function uses vperm2b256to128 when it's ideal
2025-03-25 10:42:02 +02:00
RipleyTom
40ff182c31 Fix p2p binding to vport 0 2025-03-23 06:08:09 +01:00
Megamouse
1a51ce1e66 SPU: Add Disable SPU GETLLAR Spin Optimization checkbox 2025-03-18 09:30:28 +02:00
Megamouse
42ba0b6271 Qt: Use localized game icons and titles 2025-03-17 00:47:43 +01:00
Malcolm Jestadt
f9a72e8d75 SPU LLVM: Preserve sign on inf to NaN conversion in spu_re_acc with vfixupimmps 2025-03-15 10:46:08 +02:00
Attila Fidan
7b212e0e57 sys_usbd: Fix null pointer deref on destruction 2025-03-13 01:36:09 +01:00
DH
95d0cb18e4 Coding style issues fixes
Thanks @Megamouse
2025-03-10 21:09:27 +01:00
DH
5084fb82b8 Android stuff 2 2025-03-10 21:09:27 +01:00
DH
798c194025 android stuff 2025-03-10 21:09:27 +01:00
Elad
5e4637e15c SPU LLVM: Subtract Timebase from decrementer 2025-03-09 07:42:59 +02:00
kd-11
eca86ad449 rsx: Add program cache lookup ellision rate to overlay 2025-03-08 22:10:55 +03:00
Elad
26495a8455 SPU: Fixup 2025-03-08 14:21:57 +02:00
Elad
e4ed5c47a3 Fixup 2025-03-08 10:48:21 +02:00
Elad
e4b9a21acc SPU Analyzer: Fix for value propagation 2025-03-08 10:36:26 +02:00
RipleyTom
66952fe301 Add memory breakpoints
RPCS3 needs to be compiled with -DHAS_MEMORY_BREAKPOINTS=ON for it to be available
2025-03-04 15:41:36 +01:00
Megamouse
7fd1f5b5d3 Fix some warning 2025-03-02 23:44:08 +01:00
trigger
1dc3ebf891
SPU Analyzer: A fixup for crash, TODO: proper fix 2025-03-02 10:24:42 +02:00
trigger
af23df842d
PPU: Report encrypted modules with KLIC in main file, opportunistic compilation at exit-spawn (#16743) 2025-03-01 11:45:03 +02:00
Elad
207ee59acd PPU Analyzer: Firmware/import caller analysis and KLIC finding pass 2025-02-27 12:32:21 +02:00
oltolm
29ad4ecc78 concepts: fix review notes 2025-02-26 11:04:02 +02:00
oltolm
ebde5310b9 use concepts instead of std::enable_if 2025-02-26 11:04:02 +02:00
Megamouse
5e6aef5dfd cellMic: fix division by zero 2025-02-26 07:53:33 +01:00
Malcolm Jestadt
bd49c6bedb SPU LLVM: Small FCGT optimization 2025-02-22 07:35:14 +02:00
trigger
1e01511ca0
cellMic: Implement SIGSTATE_MICENG 2025-02-20 11:57:41 +02:00
RipleyTom
a29ecaf1d3 Fix sendto for p2ps packets 2025-02-14 22:28:11 +00:00
RipleyTom
159370446f RPCN v1.4 2025-02-12 15:00:50 +01:00
RipleyTom
cd87a64621 Headers cleanup 2025-02-11 20:38:35 +01:00
Elad
63147fdede Remove ppu_acontext 2025-02-11 16:12:33 +02:00
Malcolm Jestadt
dfd83bc7a4 SPU LLVM: Add two dependency chains for SPU verification
- Should restore performance to match the xorsum builds
2025-02-11 12:30:21 +02:00
Elad
9a7b8e41eb PPU Analyzer: Minor Fixup 2025-02-09 14:28:08 +02:00
Elad
c7e853bf99 PPU Analyzer: GPR-assisted jump table analysis 2025-02-07 20:27:17 +02:00
Elad
ac97b36b1c PPU Analyzer: Opt-out suspected floats from instruction stream 2025-02-07 20:27:17 +02:00
Elad
181c92a868 PPU Analyzer: Clean addr_heap fron non-valid code
Should speed up analysis in some cases.
2025-02-07 20:27:17 +02:00
Elad
86b7078464 PPU LLVM: Fix compilation of PRX with no relocations 2025-02-07 20:27:17 +02:00
Megamouse
a1a0333e56 cellVdec: implement cellVdecOpenExt 2025-02-06 19:31:23 +01:00
Megamouse
449c23ba4e cellL10n: implement SBCS conversions 2025-02-06 09:38:17 +01:00
Megamouse
cec1004da8 cellL10n: fix compilation on linux 2025-02-05 07:51:47 +01:00
Megamouse
666bbeba6e cellL10n: Use string_view 2025-02-05 07:51:47 +01:00
Megamouse
770b2ab26d cellL10n: implement ucs2/utf8/16/23 conversions 2025-02-05 07:51:47 +01:00
Elad
2420aa7a21 Fixup PPU block unfolding 2025-02-04 20:33:24 +02:00
Megamouse
a5d07af89a cellMusic: always select the whole playlist instead of a single track 2025-02-04 18:13:07 +01:00
Megamouse
b5dbafb3e2 cellMusic: make selection context valid when setting a playlist 2025-02-04 18:13:07 +01:00
Megamouse
85f288651b cellGem: reduce cellCamera log spam by setting some camera features 2025-02-04 03:09:27 +01:00
kd-11
6123838a48 ppu/arm64: Fix ppu_recompiler_fallback implementation for ARM processors 2025-02-02 22:44:42 +03:00
Megamouse
3187dc816e Fix some warnings 2025-02-02 17:06:39 +01:00
Malcolm Jestadt
911f0928cf SPU LLVM: Replace xorsum with simple checksum
- Fixes crashes in GTAV
2025-02-01 21:40:30 +02:00