19564 Commits

Author SHA1 Message Date
Elad db474c292f utils: Make utils::serial::operator T() explicit 2026-05-31 19:54:10 +03:00
Elad b08e805020 PPU Analyser: Fix possible infinite loop
Because of possible overflow.
2026-05-31 19:54:10 +03:00
Megamouse 7b540cdb20 cellMusic: don't send status callback if we just keep playing automatically 2026-05-31 15:49:32 +02:00
Megamouse 059e70069d cellMusic: improve music list playback 2026-05-31 15:49:32 +02:00
Megamouse 9c719a5857 trophies: fix return value of GetUnlockedPlatinumID with invalid file 2026-05-31 15:49:32 +02:00
Megamouse 375eb21c07 Fix some format and logger typos 2026-05-31 15:49:32 +02:00
Megamouse 1bd246d2d3 Fix some gcc warnings 2026-05-30 23:58:51 +02:00
Megamouse 8c82ce8bed Fix slicing warning in tar_object::save_directory 2026-05-30 19:31:16 +02:00
Megamouse eafa6a9a25 Gracefully exit after headless installation. 2026-05-30 19:31:16 +02:00
Megamouse b9d027a76c Implement fake ps move external devices 2026-05-30 15:48:56 +02:00
Megamouse 0a45c84e16 Update OpenCv to 4.13.0 2026-05-30 13:14:25 +02:00
Megamouse a88951baf3 Qt: clarify package installation during boot 2026-05-30 10:51:59 +02:00
Megamouse 66349fcb5b Qt: Move code to class 2026-05-30 10:51:59 +02:00
Megamouse c6602f673b cli: allow headless installs 2026-05-30 10:51:59 +02:00
Megamouse 7c6b3dcdb9 Update ffmpeg to 8.1.1 2026-05-29 10:23:19 +02:00
Malcolm c11979d124 Revert "SPU LLVM: Remove dead interpreter ret fallback"
This reverts commit 3058a71d72.
2026-05-29 02:24:05 +02:00
Malcolm 3058a71d72 SPU LLVM: Remove dead interpreter ret fallback 2026-05-28 14:10:51 +03:00
Arsh Kumar Singh b41b10a031 RawSPU: bound ELF loads; PPUInterpreter: fix modulo 127->128 (#18797)
Two small fixes that stop the emulator from writing past buffer
boundaries.

RawSPU: when loading a program onto an SPU processor, it now checks that
the program actually fits in 256 KB before copying it. Before this, a
corrupted file could write past the buffer into random host memory.

PPUInterpreter: a one-character typo fix. A modulo operation used % 127
instead of % 128 when computing cross-boundary data sizes. This caused
reservation checks to compare the wrong number of bytes on every load
that crossed a cache line. This fix was pointed out by @AniLeo in the
spam PR #18795 (Discovered by Opus 4.7)


The PS3 hardware enforces these limits:
- Each SPU has exactly 256 KB of memory (from Cell Broadband Engine
Handbook v1.1)
- The PPE cache line is 128 bytes — all reservation logic uses this
granularity

Neither fix should affect the usual games. They only applying to
corrupted or malformed files. Will highly appreciate feedback and
suggestions for this PR

Tested on CI: CI passes on my fork 9 of 10 platforms (Mac Intel failed
downloading a dependency).

Title and Desc written by Codex
2026-05-27 15:27:58 +00:00
Malcolm a87d175295 SPU LLVM: Retry ARM64 TBL2 register scavenger failures
- Some SPU programs inexplicably fail to compile when TBL2/TBX2 are used.
- As an insane workaround, first try to compile with TBL2/TBX2, if LLVM crashes while compiling, try to compile the same program without TBL2/TBX2.
2026-05-27 02:46:11 +03:00
Malcolm dff29a7864 PPU/SPU LLVM: Use arm shuffles in recompilers instead of emulating x86 pshufb
> - SHUFB from 9 instructions down to 5
> - Though it should be 4 if LLVM would just emit BCAX...
2026-05-27 02:46:11 +03:00
Megamouse dd81c92a02 Fix compilation on VS 2026 2026-05-24 21:05:29 +02:00
Megamouse 64ba0dd5e6 Update windows runners to visual studio 2026
Maybe this fixes current build issues...
2026-05-24 21:05:29 +02:00
Windsurf7 0a5b88ac38 Fix non-numerical numpad keys input binding (#18761) 2026-05-22 14:13:37 +02:00
Megamouse f63a34dcc2 Try to fix libusb includes 2026-05-22 09:14:16 +03:00
Megamouse d8710c431d Fix named_thread_group constructor
m_count - 1 could underflow
2026-05-22 09:14:16 +03:00
Megamouse 67464f97df Qt: only allow removal of firmware cache while emulator is stopped 2026-05-20 22:26:08 +02:00
Megamouse 190378bc33 Qt: fix batch progress bar value
It was always one too early
2026-05-20 22:26:08 +02:00
Megamouse da599f7286 Fix localization of anaglyph_settings_dialog 2026-05-20 22:26:08 +02:00
Megamouse 73c8c270a6 Fix USIO log spam 2026-05-20 22:26:08 +02:00
Elad d7da6a713b RawSPU: Implement 16-bit and 8-bit read MMIO 2026-05-20 20:44:24 +03:00
Megamouse 6a2ad0a0aa sys_usbd: enable windows hotplug 2026-05-20 18:10:01 +02:00
Megamouse 84b61e3850 Update libusb to 1.0.30 2026-05-20 18:10:01 +02:00
Malcolm 7e436f9bf1 SPU LLVM: Optimize SPU multiplies for ARM
- Saves 2 instructions in MPY, 1 instruction in MPYU, 2 instructions in MPYS, 2 instructions in MPYA, 1 instruction in MPYI, and 2 instructions in MPYUI
2026-05-20 10:54:13 +03:00
Radu13 2613d7eee7 Do not append install dir for content type theme PKGs (#18765) 2026-05-19 20:11:44 +02:00
Megamouse 55e17ccd3b Update Qt to 6.11.1 2026-05-18 22:05:33 +02:00
Megamouse f368a56c66 Update openal to 1.25.2 2026-05-18 22:05:33 +02:00
RipleyTom 79cb35daa6 Fix ethernet addr in offline mode (#18756) 2026-05-18 14:14:41 +03:00
qurious-pixel b0c1791a0c Restore .DirIcon 2026-05-18 08:29:34 +02:00
Malcolm 61a2604824 SPU LLVM: Inline reading/writing the decrementer for ARM too
- Try switching to llvm's readycyclecounter, which should map to rdtsc on x86 too.
2026-05-17 02:26:42 +03:00
Gustavo Graziano 08c926622d Visual improvements to Windows 11 Themes (#18745) 2026-05-16 18:04:15 +02:00
Megamouse b533a560e6 input: move keyboard stick value buffers to pad
This should improve stick input when using the keyboard for 2 players.
2026-05-15 07:10:40 +02:00
Megamouse e4a49cd425 input: only copy back necessary values in keyboard_pad_handler::process
Profiling has shown that copying both containers took longest.
2026-05-15 07:10:40 +02:00
Megamouse fdce82fc24 input: Use smaller external structs for button and stick access outside of the pad_thread
This needs less memory and hides unwanted members from client code.
2026-05-15 07:10:40 +02:00
Megamouse 5f00b87a44 Move bit_set to new file 2026-05-14 17:12:25 +02:00
Megamouse 53180b8141 Add bit_set unit test 2026-05-14 17:12:25 +02:00
Megamouse 4cc0e4c7fc spu_recompiler: Initialize members 2026-05-14 17:12:25 +02:00
Megamouse 46364856ae Remove unused variable 2026-05-14 17:12:25 +02:00
Megamouse f5c420994d Add unsafe bit_set access for obvious cases 2026-05-14 17:12:25 +02:00
Megamouse c5ee48f54a Harden bitset access 2026-05-14 17:12:25 +02:00
Gustavo Graziano 6f50f0854f I made some improvements to my theme to make it better (#18732) 2026-05-14 14:05:39 +02:00