Eladash
0989f62256
cellGame: Add some LV2 sleep
...
Those functions are supposed to take a really long time, and in this time the caller PPU waits for VSH.
2023-08-07 10:56:15 +03:00
Eladash
63f045ef2e
Add some error checking to sys_fs_chmod
2023-08-07 10:56:15 +03:00
Eladash
91b68f3b45
PPU Analyzer: Fixup verify_func
2023-08-07 06:48:44 +03:00
Eladash
39910885d9
PPU: fix leak when precompiling SELF files
2023-08-06 21:37:10 +03:00
Eladash
506ec0f947
PPU Loader: Fix imports/exports in virtual mode
2023-08-06 21:37:10 +03:00
Eladash
c96f3a877f
PPU Analyzer: Add more function constraints
2023-08-06 21:37:10 +03:00
Eladash
2a0278fbb1
Fixup SPU/PPU Cache Abortion
2023-08-06 21:37:10 +03:00
Eladash
ee869a49f4
PPU Precompilation Fixup
2023-08-06 10:38:40 +03:00
Megamouse
343ba8733b
Merge xfloat options
2023-08-06 09:30:53 +03:00
Eladash
971c12b937
Fixup log message in sys_memory_allocate
2023-08-06 08:26:17 +03:00
Eladash
6547fa9cc3
PPU LLVM: Fixup VSH Precompilation
2023-08-06 08:26:17 +03:00
Eladash
4eaa03e9ba
PPU: A few more minor bugfixes
2023-08-06 08:26:17 +03:00
Eladash
d0b3891002
PPU LLVM Cache Fixup
2023-08-06 08:26:17 +03:00
Eladash
e25936c1f1
PPU LLVM/RawSPU: Fixup MMIO crossing-out
2023-08-06 08:26:17 +03:00
Whatcookie
d4cf12bc17
LV2: Improve sys_timer_usleep by using CPU usermode waiting
...
* Linux: set timerslack to minimum value
- Linux delays the wakeup of threads to save power, this feature isn't needed for this application
* Utils: Add detection for waitpkg and monitorx extensions
- These instructions are used for user mode wait instructions
* lv2: Use user mode wait instructions instead of yielding when appropriate
2023-08-05 11:49:30 +03:00
Eladash
744a1528cc
Optimize memory usage of ELF loader
...
Do not duplicate shdr memory when it is present in phdr.
2023-08-03 16:19:55 +03:00
Eladash
06c9b95e09
PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests
2023-08-03 15:04:37 +03:00
trigger
0f3dfec7f2
direct return in ppu_check
2023-08-03 12:35:06 +03:00
Ivan Chikish
d34287b2cc
Linux: use futex_waitv syscall for atomic waiting
...
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Megamouse
bb2d7063c4
Update ffmpeg
2023-08-02 08:21:47 +02:00
Megamouse
d119cf6e96
Qt6 port
2023-07-31 20:03:24 +03:00
Megamouse
9b3a878c18
cellAudioIn: reduce log spam
...
Some logs I've seen are 20% filled with this stuff.
2023-07-31 13:19:55 +03:00
Megamouse
365b264656
cellMsgDialogAbort: do not return CELL_MSGDIALOG_ERROR_DIALOG_NOT_OPENED
2023-07-31 13:19:55 +03:00
Whatcookie
fd6829f757
SPU LLVM: AVX-512 optimization for CFLTU ( #14384 )
...
- Takes advantage of vrangeps and the new float to uint instructions from AVX-512
- Down from 6 to 3 instructions
TODO: Somehow ensure that this is what llvm outputs using CreateFPToUI?
2023-07-29 09:01:01 +03:00
Talkashie
dabb2cc9a0
Fix typos, improve consistency
...
Fixes typos where spelling or grammar is objectively wrong.
Changes wording and capitalization in some areas to be more consistent with other areas.
2023-07-28 13:09:06 +03:00
Whatcookie
4ecb06c901
SPU LLVM: Optimize common SFI+ROTQMBY pattern
2023-07-28 10:26:40 +03:00
Elad Ashkenazi
9265ff53d0
Include spu.log inside RPCS3.log when SPU Debug is true
2023-07-27 19:15:32 +03:00
Eladash
75ad56338b
SPU/Non-TSX: Implement cuncurrent reservations
2023-07-27 02:50:01 +03:00
Eladash
db24ce7708
SPU/MFC: Format command more consistently
2023-07-27 02:50:01 +03:00
Eladash
2d45ecff22
cellSaveData: Adjust to non-TSX
2023-07-27 02:50:01 +03:00
Elad Ashkenazi
106f31db6a
sceNpTrophy: Minor UB fixup
...
id.data[9] is char while isprint should accept u8.
2023-07-26 17:56:44 +03:00
brian218
9a5bdc9b4f
sys_fs: Updated sys_fs_fcntl(0xc0000015&0xc000001c)'s error handling according to real hardware testing
2023-07-26 13:10:51 +03:00
brian218
0b829be798
sys_fs: Fixed up sys_fs_fcntl(0xc0000007) aka cellFsArcadeHddSerialNumber according to real hardware testing
2023-07-26 13:10:51 +03:00
Megamouse
94bb75fb7c
sceNpTrophy: Check if a trophy configuration file exists before starting the install process
2023-07-25 22:00:19 +02:00
Eladash
7d84d0f83e
sceNpTrophy: Initial commSign checking of CreateContext
2023-07-25 21:40:35 +03:00
oltolm
bc40b61ef1
rename fs::stat to fs::get_stat
2023-07-25 12:15:08 +03:00
Megamouse
13575029c0
cellSaveData: add some more error logging
2023-07-25 11:12:16 +03:00
Eladash
782344eed8
Debugger: Make break-all non-default
2023-07-24 17:07:15 +03:00
Eladash
9d3e626b55
Minor ppu_initialize fix
2023-07-24 17:07:15 +03:00
Eladash
a6e8b9037a
ppu: Make install function log message trace
2023-07-24 17:07:15 +03:00
Eladash
3bbc2c1f4c
PPU Analyzer: Fixup get_ptr()
2023-07-23 17:58:54 +03:00
Eladash
99671b754f
Add ppu_module::get_ref() to ease debugging
2023-07-23 17:58:54 +03:00
Eladash
9fc5f6271b
Update SPU reservation notifier mask
2023-07-23 17:58:54 +03:00
Eladash
9ff91c29f2
Invalidate Savestates
2023-07-23 17:58:54 +03:00
Megamouse
568e7481d8
sys_fs: use path instead of u8path
...
Japanese PS3 games often use unicode paths which hard crash the std::filesystem::string() method.
wstring() would work in these cases, but I guess we can just use path() instead of u8path().
2023-07-20 07:22:07 +03:00
Eladash
50dad6801b
SPU LLVM: Use get_known_bits() in SHUFB
2023-07-18 22:27:45 +03:00
Malcolm Jestadt
ee7475a9d4
SPU LLVM: Handle SHUFB special cases with a lookup table
...
- Needs 3 instructions to handle the special cases, since x86 lacks an 8 bit simd shift instruction
2023-07-18 22:27:45 +03:00
Elad Ashkenazi
41d38975f7
Savestates/sys_fs: Utilize fs::file::get_id to fix an old bug
2023-07-17 08:09:09 +03:00
Eladash
eecadab387
Implement fs::file::get_id()
...
File descripor ID with 2 provided ways to compare between them:
1. is_mirror_of():
Test if identical:
For example: when LHS writes one byte to a file at X offset, RHS file be able to read that exact byte at X offset)
2. is_coherent_with():
Test if both files point to the same file:
For example: if a file descriptor pointing to the complete file exists and is being truncated to 0 bytes from non-
-zero size state: this has to affect both RHS and LHS files.
2023-07-17 08:09:09 +03:00
Eladash
e27e6c0b2d
Implement PPU usleep control setting hack
2023-07-17 07:17:11 +03:00
Eladash
1371bf89e0
PPU LLVM: Allow to abort OVL analysis in the middle
2023-07-15 08:26:28 +03:00
Eladash
3b8f8d7fc8
PPU LLVM: Improve precompilation time
2023-07-15 08:26:28 +03:00
Eladash
083b4f0d3b
Patches: Fix potential RPCS3 crashes due to invalid patches
2023-07-13 07:38:46 +03:00
Eladash
c0280b43f2
PPU/Debugger: View the currently used CR field content in register panel
2023-07-12 13:22:06 +03:00
oltolm
0c94606fcf
Make compile with msvc, clang and gcc on Windows
2023-07-11 21:40:30 +03:00
Elad Ashkenazi
4b12c9a9fc
Force inherit BDVD/PS3_GAME across game updates ( #14159 )
2023-07-11 00:30:02 +03:00
Elad Ashkenazi
e882d64d8a
SPU/PPU Debugger: Add decimal mode to registers panel
2023-07-10 19:06:57 +03:00
Eladash
16f910e350
sys_fs: Fix log levels
2023-07-10 12:39:26 +03:00
Eladash
482dd0e8f8
SPU: Remove wrong clamp in MFC_Size
...
Just crashes real MFC.
2023-07-09 13:33:03 +03:00
Eladash
cae2e7de80
LV2: Log allocated guest VM addresses
2023-07-09 13:33:03 +03:00
Eladash
b68cfbf794
Fix spu_thread::dump_callstack_list regression
...
TODO: Fix in PPU [properly!]
2023-07-09 13:33:03 +03:00
Eladash
17d8f2884e
Debug fixes
2023-07-09 13:33:03 +03:00
Elad Ashkenazi
1219e5c244
SPU: Fix static interpreter requirement with interrupts
...
Removed a wrong condition in PPU LLVM as a fixup.
2023-07-07 22:39:49 +03:00
Eladash
c21cdb8055
Implement PPU LV2 debug
2023-07-07 16:03:08 +03:00
Eladash
598fe85243
PPU LLVM/RawSPU: Implement MMIO violation elimination pass
2023-07-06 19:46:36 +03:00
Sanjay Govind
8f178b2c29
sys_usbd: Implement support for Santroller devices
2023-07-05 23:54:37 +02:00
Eladash
21f5976d35
cellSpurs: Implement ShutdownTaskset and WorkloadFlagReceiver2
2023-07-02 19:01:13 +03:00
Eladash
363e498462
Remove overlay hack for PPU LLVM OVL precompilation
2023-06-29 12:12:56 +03:00
Eladash
a03dd44924
Empty kill and init callback before calling them
2023-06-29 12:12:56 +03:00
Eladash
554b27a82a
PPU LLVM: Implement SELF precompilation
...
Do not use PS3 memory for precompilation.
2023-06-28 18:34:33 +03:00
Eladash
5f2f084091
Savestate/IDM: Do not save unsavable containers
2023-06-28 18:34:33 +03:00
Eladash
a560121775
Fix Create PPU Cache
2023-06-28 18:34:33 +03:00
Eladash
d34b3190f7
Make stopping emulation not pause or crash UI
...
* Make the UI and main thread available when stopping emulation.
* Make BlockingCallFromMainThread always execute, preventing bugs when it unexpectedly did not.
* Add error code for when starting emulation when Emu.Kill() is in progress.
2023-06-26 20:48:38 +02:00
Eladash
4f5348c7d4
Fix properly RSX replay thread stop bug
2023-06-26 20:48:38 +02:00
brian218
70ce7ee106
sys_fs: Fixed up one of sys_fs_unmount()'s error codes to match real system behavior
2023-06-25 09:08:20 +02:00
brian218
cf4ae38699
sys_fs: Implemented get_normalized_path()
2023-06-25 09:08:20 +02:00
Eladash
441fbd63bb
Fix PPU debug setting with PPU interpreter
2023-06-20 18:18:24 +03:00
Eladash
073b723c09
Fix Create PPU Cache
2023-06-19 13:59:56 +03:00
RipleyTom
e2bced978e
Move connect workaround to connect interface
2023-06-18 01:04:01 +02:00
Megamouse
d08fea551e
progress dialog fix
2023-06-16 10:30:27 +02:00
Megamouse
16f869fe5a
logging: minor trace optimizations
2023-06-15 19:48:15 +02:00
Megamouse
d662a39a12
PPUAnalyser: fix std::move nonsense
2023-06-14 11:05:00 +03:00
Megamouse
d28e3c4f08
np_handler: fix warning: check socket in discover_ip_address
2023-06-13 18:08:51 +02:00
RipleyTom
5d7e75c5d8
Fix EINVAL returned on connect call to connecting socket
2023-06-11 15:42:22 +02:00
Eladash
c0e97b4e96
Qt: Improve PS3 Binaries Decryption tool
2023-06-11 00:40:14 +02:00
Megamouse
c78c504043
overlays: update progress dialog workaround
2023-06-10 09:09:55 +02:00
Eladash
d752ab0151
SPU/Debugger: Add RawSPU debug data
2023-06-09 14:07:37 +03:00
Eladash
c87a7cb2c0
PPU: Fix thread entry detection false positives
2023-06-09 14:07:37 +03:00
Megamouse
6aff2803e5
cellMsgDialog: Fix segfault when closing non-blocking Qt dialogs
2023-06-09 02:03:44 +02:00
Megamouse
769b69999f
fix whitespace
2023-06-08 21:15:39 +02:00
Eladash
6d918b565f
PPU: Sleep after returning from thread entry function
2023-06-06 17:53:09 +02:00
Eladash
52575a44b2
sys_ppu_thread: Optimize joined thread notification
2023-06-06 17:53:09 +02:00
Eladash
d5eebd6ab4
debugger: Fix trailing spaces in PPU register dump
2023-06-06 09:48:27 +02:00
Eladash
9bd4426225
Fix _sys_interrupt_thread_disestablish with lingering thread copies
2023-06-06 09:48:27 +02:00
Eladash
4af0a33f1f
Fix sys_ppu_thread_detach/exit with lingering thread copies
2023-06-06 09:48:27 +02:00
Eladash
636bde6343
Logs: Fix trailing space, nbsp and unintended character
2023-06-06 09:48:27 +02:00
Eladash
16579e0b1f
Fix spu_thread::cleanup()
2023-06-06 09:48:27 +02:00
Megamouse
6d2f7f6e54
sys_fs: fix map entry removal in destructor
2023-06-05 23:14:12 +02:00
brian218
48ffc19193
Update sys_usbd.cpp
2023-06-05 20:15:43 +02:00
brian218
c85775922e
sys_usbd: Implemented sys_usbd_unregister_extra_ldd()
2023-06-05 13:51:54 +03:00
brian218
da0c9c2ce9
sys_usbd: USB VID/PID logging format fixup
2023-06-05 13:51:54 +03:00
brian218
42b388317e
sys_ss: Further implemented Update Manager service for VSH
2023-06-05 13:51:54 +03:00
brian218
6a570ae57e
sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks
2023-06-05 13:51:54 +03:00
Elad Ashkenazi
2e4bf9ef1b
Update sys_timer.cpp
2023-06-04 01:26:24 +02:00
Elad Ashkenazi
ba9f55679d
Update sys_timer.cpp
2023-06-04 01:26:24 +02:00
Elad Ashkenazi
2c999a550b
Update sys_mutex.h
2023-06-04 01:26:24 +02:00
Elad Ashkenazi
805de248d3
Update sys_lwmutex.h
2023-06-04 01:26:24 +02:00
Elad Ashkenazi
1240874e41
Update sys_lwmutex.h
2023-06-04 01:26:24 +02:00
Elad Ashkenazi
feff50e7e0
Update sys_mutex.h
2023-06-04 01:26:24 +02:00
Eladash
c37fc73a02
PPU LLVM: Invalidate cache for testers
2023-06-02 08:54:46 +03:00
Eladash
d152537e50
sys_lwcond/cond/ppu_thread: Respect scheduler in various syscalls
2023-06-02 08:54:46 +03:00
Eladash
5d4e87373f
LV2: Make _sys_lwcond_destroy wait for lwmutex lock
2023-06-02 08:54:46 +03:00
Eladash
1c36156594
PPU LLVM: Fix LWSYNC according to cellSpursWakeup
2023-06-02 08:54:46 +03:00
Eladash
300701a06b
Make page faults entry enqueue and event atomic
2023-06-02 08:54:46 +03:00
Eladash
a776f15557
SPU: fix event count with ACK and mask write
2023-06-02 08:54:46 +03:00
Eladash
1c89f8a855
LV2/Timer: Fix ENOTCONN check of start timer
2023-06-02 08:54:46 +03:00
Eladash
81e4d9c2ee
LV2/TImer: Fix notification discard
2023-06-02 08:54:46 +03:00
Eladash
49be6be8f4
LV2/Timer: Make timers consistent
2023-06-02 08:54:46 +03:00
Eladash
b861a9c5d0
LV2: Implement set-priority thread requeue
2023-06-02 08:54:46 +03:00
Eladash
9828e6cafc
LV2: Push other-than-this thread to the back on priority set
2023-06-02 08:54:46 +03:00
Eladash
5d13978bbf
sys_lwcond: Implement TIMEOUT on lwmutex lock
2023-06-02 08:54:46 +03:00
Eladash
b844aecb9e
sys_lwmutex/mutex: Fix race on lock timeout
2023-06-02 08:54:46 +03:00
Eladash
f57c8c1c35
LV2: Unconditional Timer Synchronization Fix
2023-06-02 08:54:46 +03:00
Megamouse
f96a0ce9d2
Trophies: Add more sanity checks to pugixml backend
2023-05-30 19:11:57 +02:00
Megamouse
f89d3d5077
cellCamera: don't switch to main thread unless really necessary
2023-05-25 21:30:27 +02:00
Megamouse
e584653b72
input: move emulated pad handling to config class
2023-05-25 20:37:15 +02:00
Megamouse
95060efb7d
input: add support for multi-assignment in emulated pads
2023-05-25 20:37:15 +02:00
Megamouse
b82dd61a0c
input: add emulated axis configs
2023-05-25 20:37:15 +02:00
Megamouse
d652a81078
Qt/input: add emulated pads settings dialogs
2023-05-25 20:37:15 +02:00
Megamouse
fc76d2df38
input: list actual nodes instead of button ids
2023-05-25 20:37:15 +02:00
Megamouse
1a98682ea0
input: add enum count for enumeration
2023-05-25 20:37:15 +02:00
Megamouse
64437a531b
input: use global configs
2023-05-25 20:37:15 +02:00
Megamouse
36831a3d6a
input: add gem ds3 config file
...
No sticks yet
2023-05-25 20:37:15 +02:00
Megamouse
7b9a36be7d
input: add buzz config file
...
Adds a buzz.yml and implements a generic way to save actual DS3 mapping independent of pad handlers
2023-05-25 20:37:15 +02:00
Megamouse
1ae3b37fbe
sceNpTrophy: set timestamps
2023-05-23 08:22:13 +02:00
Eladash
e29b81c444
Debug Fixes
2023-05-22 20:04:49 +03:00
RipleyTom
cbb1b1f28e
Fix spu_fm
2023-05-19 18:26:42 +03:00
Elad Ashkenazi
59f9938849
cellSpurs: Fix ready count
2023-05-19 14:18:51 +03:00
Megamouse
54e6cf95d7
Fix some warnings
2023-05-18 12:41:22 +02:00
Dark
24dde5d42b
Implement support for emulating Rock Band 3's MIDI Pro Adapter
...
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-05-17 22:59:44 +02:00
Joshua de Reeper
8e15afb2c4
sys_usbd: Emulate Disney Infinity Base
2023-05-17 21:26:58 +02:00
RipleyTom
f11770b88b
Better accuracy for FREST/FRSQEST ( #13863 )
2023-05-15 17:20:47 +01:00
Eladash
514ef9a9c5
SPU Executable Code Dumping Tool
2023-05-15 14:11:13 +03:00
Elad Ashkenazi
db7f84f9f8
SPU/PPU/Debugger: Ensure ascending stack frames ( #13833 )
...
* PPU/Debugger: Ensure ascending stack frames
* SPU/Debugger: Ensure descending stack frame pointers
2023-05-10 11:23:09 +03:00
Megamouse
58140e1d3a
Fix some warnings
2023-05-09 07:55:46 +02:00
Eladash
d13c0ee393
SPU/Debugger: Detect stack-less functions
2023-05-08 19:27:21 +03:00
Elad Ashkenazi
ead8e5e0c3
PPU LLVM: Unbreak function linkage
2023-05-07 14:11:37 +03:00
RipleyTom
5c0113ce59
Deterministic FREST and FRSQEST
2023-05-06 12:59:34 +03:00
brian218
6a41b22a1b
sys_fs: Further implemented cellFsArcadeHddSerialNumber (0xc0000007)
2023-05-06 10:26:37 +03:00
brian218
5696065727
sys_fs: Improved sys_fs_fcntl(0xc0000015 and 0xc000001c) by integrating duplicate code
2023-05-06 10:26:37 +03:00