Commit graph

5316 commits

Author SHA1 Message Date
Megamouse 6511e0f3e6 cellSaveData: properly initialize SaveDataEntry 2025-03-31 12:21:40 +02:00
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