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
brian218
e9281843bf
sys_fs: Implemented mount_info_map to keep proper track of mounted devices
2023-05-06 10:26:37 +03:00
brian218
43184a271f
sys_fs: Improved lv2_fs_object constructor
2023-05-06 10:26:37 +03:00
brian218
a7e1bc34de
sys_fs: Improved the functionality of lv2_fs_object::get_mp() and the efficiency of mount&newfs syscalls
2023-05-06 10:26:37 +03:00
brian218
98c46f7eb0
sys_game: Fixed potential bugs in sys_game_get_system_sw_version()
...
sys_game: Implemented sys_game_set_system_sw_version()
2023-05-06 10:26:37 +03:00
Megamouse
0b628cb50e
cellPamf: Add missing error code
2023-05-06 06:31:58 +02:00
Megamouse
ad5a62b62d
Loader: split add_only into own function
...
The new code does not require any modifications apart from loading vfs
2023-04-28 17:16:04 +02:00
Elad Ashkenazi
5cf80c05a5
savestates:/sys_spu: Fix join saving
2023-04-28 16:13:15 +03:00
Megamouse
cd9ff08235
Decrease some include madness
2023-04-26 21:37:44 +02:00
Ivan Chikish
bb8e43f16c
SPU LLVM: fixup custom LICM pass
2023-04-22 03:07:06 +03:00
Megamouse
500f7901ac
unself: rename SCEVersionInfo to version_header
2023-04-21 17:56:25 +02:00
Megamouse
a770eaf500
unself: rename AppInfo to program_identification_header
2023-04-21 17:56:25 +02:00
Ivan Chikish
1041284384
SPU LLVM: sink stores deeper in custom LICM pass
2023-04-21 18:11:59 +03:00
Megamouse
6555de6ef5
fix warnings
2023-04-21 16:41:06 +02:00
Ivan Chikish
183bea3b98
SPU LLVM: upgrade custom DSE pass
2023-04-20 11:12:31 +03:00
Ivan Chikish
39d17a94c6
SPU LLVM: make savestates unsavable inside the code
2023-04-18 12:19:15 +03:00
Ivan Chikish
8153e5338f
SPU LLVM: optimize register stores
...
Custom implementation of DSE+LICM
2023-04-18 12:19:15 +03:00
RipleyTom
999caea021
Implement sceNpManagerGetCachedInfo
2023-04-17 21:13:44 +02:00
Ivan Chikish
44b3709d1d
SPU LLVM: use volatile stores for PC update
2023-04-15 12:40:59 +03:00
Ivan Chikish
ba29f0ccd1
SPU LLVM: use atomic loads in read channel count
2023-04-14 13:36:04 +03:00
Ivan Chikish
3473e19508
SPU LLVM: fix savestate safety guards
...
Volatile was removed since it prevented optimizations.
2023-04-14 07:26:30 +03:00
Ivan Chikish
22bd7dcc42
PPU LLVM: disable DSE pass and use volatile store/loads
2023-04-14 07:26:30 +03:00
Eladash
79d09d02ed
Add savestate buttons to home menu
2023-04-13 20:46:37 +02:00
Megamouse
a6313fa46c
cellMic: fix mic type regression
2023-04-13 20:00:05 +02:00
Megamouse
2a7431bd61
cellMic: fallback to proper sampling rate if necessary
2023-04-13 20:00:05 +02:00
Megamouse
90851459c8
cellMic: change some log levels
2023-04-13 20:00:05 +02:00
Megamouse
27c9bf137c
cellMic: fallback to 4,2,1 channels by default
2023-04-13 20:00:05 +02:00
Megamouse
2205790dd4
cellMic: add some error checks
2023-04-13 20:00:05 +02:00
Megamouse
0115c2f70a
cellMic: minor format changes for readability
2023-04-13 20:00:05 +02:00
RipleyTom
d35fecbeea
Forces deterministic FP operations when online
2023-04-12 15:31:36 +03:00
Eladash
0e388639cc
Loader: Make executable analyzation not halt UI when launching games
2023-04-12 15:18:50 +03:00
RipleyTom
17e6ad1fe8
Fix deref in cellSaveData log
2023-04-12 11:58:24 +02:00
Ivan Chikish
06b0e35fb9
Update to LLVM 16.0.1
...
Fix Zen4+ AVX-512 detection
2023-04-11 12:13:09 +03:00
oltolm
6fbca1acfd
remove unnecessary pointer bitcasts
2023-04-09 12:45:18 +03:00
RipleyTom
0e8b0e414a
Improve cellMic and sys_usbd thread scheduling
2023-04-07 23:36:32 +02:00
headassbtw
ec3114d6d8
Add alternate 3D display modes ( #13582 )
2023-04-07 20:08:07 +02:00
Megamouse
60fc51ed22
cellGcm: add more enums
2023-04-07 19:40:21 +02:00
Ivan Chikish
fb88e1c1c9
Update to LLVM 16.0.0, switch to upstream LLVM
2023-04-06 10:19:31 +03:00
brian218
8a509afc20
sys_fs: Implemented CELL_FS_PATH path-as-device support
2023-04-05 18:08:55 +02:00
brian218
6a95e0877b
sys_fs: Fix warning C6262
2023-04-05 18:08:55 +02:00
brian218
28c37ab465
sys_fs & VFS: Misc bug fixes
2023-04-05 18:08:55 +02:00
Megamouse
3e556c710b
cellMusicExport: first implementation
2023-03-31 15:25:21 +02:00
Megamouse
4289ffef1c
cellPhotoExport: add funcFinish check
2023-03-31 15:25:21 +02:00
RipleyTom
0c051a83a7
Fix mic thread usage
2023-03-30 08:14:28 +02:00
Megamouse
a8ada492b2
cellMic: fix registration index
2023-03-28 20:26:04 +02:00
Megamouse
55d6ee65ae
cellAudio: silence cellAudioSendAck and add pseudo code for it
2023-03-28 20:26:04 +02:00
Megamouse
69ecf8aea7
cellAudio: re-use event_sources array
2023-03-28 20:26:04 +02:00
Megamouse
f2b51668b4
cellMic: use fixed index for devices
2023-03-28 20:26:04 +02:00
Megamouse
c2527c9e1b
cellMic: wait for registration of multiple input devices
2023-03-28 20:26:04 +02:00
Megamouse
0bcd45c1d4
cellMic: add some additional error check and silence log spam
2023-03-28 20:26:04 +02:00
Megamouse
ecf0022fd1
cellMicGetSignalState: fake some more values
...
Maybe this improves the mic signal even more
2023-03-28 20:26:04 +02:00
RipleyTom
0f45a8c180
Fix inaccuracies pointed out by PVS-Studio
2023-03-25 08:45:30 +01:00
Eladash
0beda6fa89
Savestates: Fix deadlock on savestate load
2023-03-18 12:07:17 +03:00
Eladash
a41d2e43fd
cellFsReaddir: Fix termination sequence
2023-03-18 12:07:17 +03:00
RipleyTom
c98158b460
Add buf_to_hexstring
2023-03-18 01:51:35 +01:00
RipleyTom
02a53c582c
Invite changes
2023-03-18 01:51:35 +01:00
RipleyTom
bcce3acd5f
Signaling: report status inactive on unknown connection
2023-03-17 17:58:56 +01:00
oltolm
cf5346c263
use new LLVM API in SPURecompiler
2023-03-12 10:11:06 +03:00
Ivan Chikish
776b3b5efa
SPU LLVM: fix regression from #13500
...
Fixes #13526
2023-03-11 19:48:55 +03:00
oltolm
520524285a
llvm: update code to new API ( #13500 )
...
* llvm: update code to new API
* llvm: remove OLDLLVM define
2023-03-11 01:57:21 +03:00
Elad Ashkenazi
e45e9c20dd
PPU: Do not break on unexpected TOC ( #13490 )
2023-03-09 16:53:44 +03:00
Eladash
65eb625843
cellSaveData: Slow save completion
2023-03-07 13:01:21 +01:00
Megamouse
05064dfaf4
cellVdec: revert RGBA alignment change
2023-03-05 22:49:49 +01:00
Megamouse
425610b98a
Use win_error for WSAGetLastError
2023-03-05 22:49:49 +01:00
Megamouse
69ebdfd689
cellMic: random improvements
2023-03-03 08:27:42 +01:00
Megamouse
73b5b9d7b7
cellRtc: fix out of bounds write
...
Turns out you should listen to warnings once in a while...
sprint actually wrote more than 3 characters into the microDigits buffer !!!
2023-03-01 10:15:21 +01:00
illusion0001
f2155b49e2
Debugger: show CIA in register view ( #13462 )
2023-02-28 00:30:23 +01:00
Eladash
62c9b99e72
Update SPUThread.cpp
2023-02-27 14:17:05 +01:00
Elad Ashkenazi
2a344e1d87
cellMsgDialog: fix use-after-free
2023-02-27 14:17:05 +01:00
Megamouse
ae14aa991d
overlays: hotfix for return_code lifetime
2023-02-27 12:04:10 +01:00
Megamouse
2885c8a4ab
cellSaveData: get rid of g_last_user_response
2023-02-27 10:24:06 +01:00
oltolm
1800faf0dd
cellVdec.cpp: use lock_unlock instead of lock_guard
2023-02-26 22:20:07 +03:00
oltolm
40cd255051
fix: back() called an empty string in PPUThread.cpp
2023-02-26 22:20:07 +03:00
oltolm
ad4677a67c
fix use after move in cellVdec.cpp
2023-02-26 22:20:07 +03:00
RipleyTom
d9e0d016c6
Fix for Windows ENOTCONN on connecting socket
...
Fixes Windows returns ENOTCONN when using recvfrom/sendto on connecting socket instead of the expected EAGAIN.
2023-02-26 10:35:20 +01:00
Megamouse
e46dba43ad
config: try to fix float locale issues
2023-02-25 11:23:07 +01:00
kd-11
ddc9e74aa8
rsx/overlays: Putting it all together
...
- Migrate dialogs with input-only threads to use the unified input
system
2023-02-24 00:46:53 +03:00
Megamouse
6b30cdac09
Use u64 for system_time_t, as s64 doesn't make much sense in a microsecond context.
2023-02-22 23:57:20 +01:00
Megamouse
ccb7528a59
fix some warnings
2023-02-22 23:57:20 +01:00
Megamouse
1040757556
patch_manager: add ability to add dynamic patches
2023-02-22 01:17:36 +01:00
Megamouse
a7c3753c5a
cellMsgDialog: Improve some logging and localization
2023-02-21 23:35:13 +01:00
brian218
23da770364
sys_game: LV2 board storage minor fixups
2023-02-21 22:57:37 +01:00
RipleyTom
6186ac0245
rpcn: signaling handler improvements & upnp
...
Simplify signaling by making Matching2 a layer over normal signaling.
Implements UPNP port forwarding
Implement sceNpMatching2AbortRequest
Fix reported bw in sceNpUtil
Hack for Fat Princess binding udp on 3658
Reenable CB for sceNpBasicAddPlayersHistoryAsync
Misc fixes
2023-02-21 15:41:41 +01:00
Megamouse
bb2c9196f5
cellVdec: align RGBA/ARGB strides
2023-02-18 22:43:22 +01:00
Megamouse
1c8d3e0dca
cellVdec: fix au_count race condition
2023-02-18 15:31:21 +01:00
oltolm
bbd308a908
fix order of static initialization: add comment
2023-02-17 11:58:40 +03:00
oltolm
b5b8f7c35a
fix order of static initialization
2023-02-17 11:58:40 +03:00
Margen67
5bb89328d0
Remove whitespace
2023-02-15 08:58:02 +01:00
Eladash
3976018980
Debugger: Print error codes stored in GPR
2023-02-12 23:10:20 +01:00
Megamouse
1dac708323
cellPad: move CellPadData to pad_types for convenience
2023-02-12 17:04:31 +01:00
Megamouse
61c0d81667
cellPad/vsh: fix sixaxis interaction
...
This allows you to influence the particles in the XMB
2023-02-12 17:04:31 +01:00
Megamouse
38c7cf474d
cellPad: add sanity check for indices in cellPadLdd functions
2023-02-12 17:04:31 +01:00
Megamouse
ec4cbe5380
cellPad: simplify some code
2023-02-12 17:04:31 +01:00
Megamouse
9375e255e1
overlays: add pages to home menu
2023-02-09 20:36:35 +01:00
Eladash
27cad422b9
cellGame: Truncate excess of characters in TITLE_ID
...
In cellGameDataCheckCreate
2023-02-07 18:21:18 +03:00
Elad Ashkenazi
8652b7d358
cellVdec: Fix AU decode count on callback ( #13342 )
2023-02-05 13:02:51 +01:00
brian218
53e906d0f3
sys_game: Implemented sys_game_board_storage_write() & Made it modifiable
2023-02-04 22:19:59 +01:00
Elad Ashkenazi
780a6a7b40
sys_prx: Fix PRX module filename reading ( #13339 )
2023-02-04 21:24:24 +01:00
RipleyTom
737fbf661a
Add more disconnected limitations in sys_net
2023-02-04 20:33:21 +01:00
Nicolas Adenis-Lamarre
0023716053
- fix analog_t required for some games
...
- changing mapping to better fit to games (for example, select is rarely used)
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-02-04 16:10:40 +01:00
Megamouse
fc34b3f144
cellOskDialog: improve kb event hook callback
2023-01-28 21:51:36 +01:00
Megamouse
fb974a4551
overlays/osk: clear on enter
2023-01-28 21:51:36 +01:00
Megamouse
d3dbf9e83f
overlays/osk: Clear text properly in continuous mode
2023-01-28 21:51:36 +01:00
Megamouse
9b6d7a5275
cellOskDialog: don't wait for osk event_hook_callback
2023-01-28 21:51:36 +01:00
Megamouse
81ff956a48
cellOskDialog: use getter instead of weak_ptr
2023-01-28 21:51:36 +01:00
Megamouse
6106ff8b31
overlays/osk: fix cellOskDialogExtInputDeviceLock
2023-01-28 21:51:36 +01:00
Megamouse
d1a950d59f
overlays/osk: keep dialog open in continuous mode
2023-01-28 21:51:36 +01:00
Megamouse
641fadc1fb
overlays/osk: handle input device change
2023-01-28 21:51:36 +01:00
Megamouse
5299061282
overlays/osk: visualize separate windows
2023-01-28 21:51:36 +01:00
Eladash
5aced2e44b
Print LV2 Syscall Usage only if increased since last print
2023-01-28 17:21:45 +01:00
Malcolm Jestadt
813f7b50c1
SPU LLVM: Minor SUMB AVX-512 path optimization
...
- Tweak shuffle to allow LLVM to emit a cheap blend instruction instead of the expensive VPERMI2W instruction
2023-01-27 13:06:48 +03:00
brian218
7648171fe2
sys_usbd: Improved usb_handler_thread timing
2023-01-26 15:52:45 +01:00
brian218
49455965c0
sys_game: Implemented sys_game_get_rtc_status() & Updated sys_game_board_storage_read()
2023-01-26 15:52:45 +01:00
MSuih
a700e3b39e
Whitelist EA Active 2 accessories
2023-01-23 17:02:51 +01:00
Egor Romanovskiy
4fbbdf8732
sys_usbd: fix usb handler deinitialization
2023-01-23 12:32:09 +01:00
Megamouse
d3183708e8
overlays: do not open home menu in VSH
2023-01-21 09:11:53 +01:00
Megamouse
44771150b7
overlays: add simple home menu
2023-01-21 09:11:53 +01:00
Megamouse
ac2b2d82d2
overlays/osk: move pointer variables to fxo
2023-01-20 23:41:56 +01:00
Megamouse
dc0230c476
overlays/osk: Fix layout and positioning
2023-01-20 23:41:56 +01:00
Megamouse
0a8c343e6e
cellOskDialog: cellOskDialogSetSeparateWindowOption
2023-01-20 23:41:56 +01:00
Megamouse
afdbef1a81
cellOskDialog: improve dictionary functions
2023-01-20 23:41:56 +01:00
Megamouse
f659338e5e
overlays/osk: implement first osk pointer
2023-01-20 23:41:56 +01:00
Megamouse
4a82d81efe
overlays/osk: implement scaling
2023-01-20 23:41:56 +01:00
Megamouse
6b4208be9b
overlays/osk: align osk position
2023-01-20 23:41:56 +01:00
Megamouse
3d78c7f43a
cellOskDialog: fix error check and improve initialKeyLayout logic
2023-01-20 23:41:56 +01:00
Megamouse
34df4509af
overlays/osk: implement "support languages"
...
Some languages/panels in the osk need to be activated by the developer.
They are not available otherwise.
So let's check if they were pre-configured and only add the panels if they are supported.
2023-01-20 23:41:56 +01:00
brian218
0e64c74a78
sys_usbd: Added buffer null check for sys_usbd_transfer_data()
2023-01-18 08:09:35 +01:00
brian218
d2dc57585c
sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c)
2023-01-18 08:09:35 +01:00
brian218
e0fe7989e9
USB: Added VFS USB mass storage devices to the USB device list
2023-01-18 08:09:35 +01:00
Megamouse
450a64b58b
cellUserInfo: fix potentially locked user dialogs
2023-01-18 00:24:00 +01:00
Megamouse
1d214ed26a
Qt: add system cmd dialog
2023-01-16 17:26:05 +01:00
Elad Ashkenazi
e6a7597444
PRX/savestates/VSH: Associate PRX with library, fix VSH browser ( #13221 )
...
* PRX/savestate:s Associate PRX with library
* VFS/Savestates: Fix host_root resolving
* Savestates: Fix segfault in ppu_initialize
* SPU: Avoid some log spam
* VSH/sys_vm: Fix limit on root processes
2023-01-15 23:12:54 +03:00
kd-11
73cda2324a
rsx/lv2: Refactor DMA control stuff after VSH work
2023-01-11 16:48:53 +03:00
kd-11
3dba894369
rsx: Minor refactoring RSXThread
...
- Part 1 of many
2023-01-11 16:48:53 +03:00
Megamouse
29078bc428
cellMouse: decrease some log levels
2023-01-10 20:57:32 +01:00
Megamouse
43288a6760
Qt: add shortcut manager
2023-01-10 19:28:26 +01:00
Megamouse
9b7eaf5117
Improve error logging
2023-01-09 21:06:51 +01:00
Elad Ashkenazi
0946e5945f
VSH Improvements ( #13172 )
...
* sys_prx: Implement PRX LIB register syscall
* VSH: partial log spam fix
* sys_process reboot fix
* Implement sys_memory_container_destroy_parent_with_childs
* sys_net: Implement SO_RCVTIMEO/SO_SENDTIMEO
* VSH: Implement sys_rsx_context_free
* PPU LLVM: distinguish PPU cache exec also by address
Fixes referencing multiple PRX.
* UI: Do not report size of apps inside /dev_flash
2023-01-09 20:03:01 +03:00
Nekotekina
2f9cac8d18
fs: implement file::read_at
...
Reads from the given offset; does not seek; thread-safe.
2022-12-29 16:19:54 +03:00
Eladash
ee8cd82e9d
Demote PRX export already loaded error
2022-12-25 16:10:32 +03:00
Eladash
820e692e57
PRX: Implement multi-referenced library management
2022-12-25 16:10:32 +03:00
Megamouse
f545532556
cellSaveData: add some more info to log error
2022-12-22 09:09:51 +01:00
brian218
812224f7f7
Stop LV2 Watchdog when CELL_SYSUTIL_REQUEST_EXITGAME is issued
2022-12-15 13:12:40 +03:00
brian218
d78e2dad29
sys_game: Made the LV2 Watchdog restarts the game forcefully
2022-12-15 13:12:40 +03:00
brian218
65ae85061f
Misc and minor improvements of syscalls used by VSH ( #13067 )
2022-12-13 07:33:17 +01:00
brian218
ab3c8268f0
sys_sm: Implemented sys_sm_shutdown() ( #13048 )
2022-12-11 09:10:06 +01:00
brian218
cdc1d0c02b
sys_fs: sys_fs_get_mount_info(): Made g_mp_sys_dev_root always reported as mounted
2022-12-10 15:28:04 +01:00
Megamouse
1cc3e6e510
cellRec: hotfix for pre-recording
2022-12-10 04:10:40 +01:00
Megamouse
064ab58f3c
cellRec: move data instead of memcpy
2022-12-10 03:24:40 +01:00
Megamouse
85c0a2e602
cellRec: add more logging
2022-12-10 03:24:40 +01:00
Eladash
7df093c94b
Make it work with LLVM
...
Allow multiple entries for a single code.
2022-12-09 21:16:05 +03:00
Eladash
f572e29a13
PPU: Add new patch function for SONIC 06
2022-12-09 21:16:05 +03:00
Megamouse
a3bcb6c15a
cellRec: implement proper recording
...
Everything should work mostly. I didn't find a game to test the external input though.
2022-12-08 21:08:37 +01:00
Megamouse
0e73c4598e
cellVideoExport: fix file paths
2022-12-08 21:08:37 +01:00
Megamouse
6b8aef9fdd
cellAdec: fix some uninitialized member warnings
2022-12-08 21:08:37 +01:00
brian218
6d4379059c
sys_fs: Integrated get_mount_count() into sys_fs_get_mount_info_size()
2022-12-08 18:31:46 +01:00
brian218
a0f3704b41
sys_fs: Integrated the function of get_vfs() into get_mp()
2022-12-08 18:31:46 +01:00
brian218
0a3e540a10
sys_fs: get_vfs() minor fixup
2022-12-07 20:20:52 +01:00
Eladash
82a8d96fba
sys_fs hotfix
...
Co-Authored-By: brian218 <17809637+brian218@users.noreply.github.com>
2022-12-03 17:53:39 +01:00
brian218
8d9dd1d19c
Implemented sys_fs_newfs()
2022-12-02 08:18:46 +01:00
Megamouse
5188293242
evdev gun support cleanup
2022-11-30 19:38:42 +01:00
Nicolas Adenis-Lamarre
2805fe0a06
evdev gun support
...
supports guns via evdev. multiple guns.
extra buttons are configurable (guns can be configured for that).
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2022-11-30 19:38:42 +01:00
Team XLink Developers
b4757b514d
Add ability to have sockets bind to a local IP address ( #12998 )
2022-11-30 18:35:42 +03:00
Megamouse
5dbadccd7f
Log PSF path on error
2022-11-27 22:07:15 +01:00
Megamouse
49a968219f
Silence some usually irrelevant errors
2022-11-27 22:07:15 +01:00
Eladash
8b934abcf2
Improve error_code, make HDD1 errors be warnings
2022-11-26 16:33:47 +03:00
Nekotekina
7c15001042
Implement read_from_ptr<>() util
...
Doing std::bit_cast on a "span".
Should be usable in constexpr.
2022-11-26 09:30:11 +03:00
brian218
b639f3c8ec
Fixed up lv2_fs_mount_point stuff & Fixed loop.tmp potential leak
2022-11-19 10:42:49 +01:00
brian218
13ca1a7f09
Further implemented sys_fs_get_mount_info() and sys_fs_get_mount_info_size()
2022-11-19 10:42:49 +01:00
brian218
16098c38c8
sys_ss_appliance_info_manager(): Fixed VSH error 80029567 and 80029564
2022-11-19 10:42:49 +01:00
Elad Ashkenazi
99ae561caa
cellPad: Noise-cancelling log changes ( #12958 )
2022-11-16 20:00:22 +01:00
Megamouse
324b1039cf
set cellVideoOutSetGamma to trace
...
It is spammed a lot in some games and we already know it works.
2022-11-12 11:23:58 +03:00
Megamouse
3c79f3943f
Minor simplifcation in ppu_finalize
2022-11-12 11:23:58 +03:00
kd-11
5943b802d7
grammar
2022-11-11 12:09:23 +03:00
Eladash
b875a86e1d
PRX: export functions on start()
2022-11-09 02:28:12 +03:00
Eladash
0a35a62235
sys_prx: Make PPU imports/exports thread-safe
2022-11-09 02:28:12 +03:00
brian218
3cb9cd7724
sys_fs: Minor fixup ( #12913 )
...
Stubbed sys_fs_newfs
2022-11-01 19:49:50 +03:00
brian218
68b68e676b
sys_fs.cpp: Satisfy Clang
2022-10-31 18:53:09 +03:00
brian218
c7ced46707
Add support for mounting and unmounting CELL_FS_SIMPLEFS
2022-10-31 18:53:09 +03:00
brian218
ecc194cb62
Use DECR's Product Code when Debug Console Mode is enabled
2022-10-31 18:53:09 +03:00
Nekotekina
ae809ad320
Unexpected bugfixes
...
Mostly unaligned memory access.
Also includes workarounds for ubsan execution.
2022-10-31 14:20:02 +03:00
RipleyTom
06dc6909c4
implement sceNpManagerGetMyLanguages
2022-10-30 18:00:54 +01:00
capriots
c639b7d5f4
cellAudioAdd6chData(): fix channel order
2022-10-30 04:50:02 +01:00
brian218
61a371b106
Implemented sys_fs_mount() and sys_fs_unmount()
2022-10-28 08:51:41 +02:00
RipleyTom
880a4e3ca6
SceNpScore: improvements
2022-10-24 00:49:44 +02:00
Eladash
9f3f619774
Minor cleanup
2022-10-23 13:06:57 +02:00
Megamouse
4c8630d29f
sceNpTrophyRegisterContext: log tls error
2022-10-22 22:30:23 +02:00
Megamouse
5b66fe47db
sceNpTrophyCreateContext: do not log nul characters
2022-10-22 22:30:23 +02:00
RipleyTom
7ae9b15b5c
sys_net: return appropriate packet size for P2P
2022-10-22 20:14:32 +03:00
RipleyTom
67323994fc
Implement sceNpScoreSanitizeComment
2022-10-22 18:43:13 +02:00
RipleyTom
9b121a6414
sys_net: improvements
...
sys_net: implement reusable addr for p2p sockets
sys_net: implement getpeername for P2PS
sys_net: sockets inherit NBIO from their parent
2022-10-22 11:32:04 +02:00
Vestral
a1f9ff0aaa
Cubeb: rewrite locking
2022-10-21 22:15:49 +02:00
brian218
9a5dbda063
Changed the log level of LV2 Watchdog's being triggered
2022-10-21 17:38:59 +02:00
Eladash
903d847058
cellAudio: Implement setting to disable sampling skip
2022-10-21 09:32:49 +02:00
brian218
789e42e26f
sys_sm_shutdown() log minor fixup
2022-10-21 02:09:08 +02:00
Eladash
7ea0a6d642
sys_game_watchdog minor fixups
2022-10-18 13:08:48 +02:00
brian218
5c24009eb5
Implemented sys_game_watchdog syscalls
2022-10-17 20:32:01 +03:00
RipleyTom
01c285fc4a
RPCN v0.7
...
Bump protocol version
Improve signaling RTT calculation for client
Implement score game data functions
Various sceNpScore fixes
Verify flatbuffer buffers
Use std::variant for transaction specific data
2022-10-17 09:57:10 +02:00
Eladash
87797e117e
sys_spu: Some more fixes of wait flag misuse
2022-10-16 20:55:36 +03:00
Eladash
a5cc9a5517
Update cellFsGetDirectoryEntries to use wait flag correctly
2022-10-16 20:55:36 +03:00
Eladash
806acf8cd0
sys_fs: Fixed placement of check_state() and add some bugfixes
2022-10-16 20:55:36 +03:00
Megamouse
fafae1cbb5
cellRtc: Fix some param checks
2022-10-15 19:56:53 +02:00
brian218
48f47de95c
Added USB passthrough for H050 USJ PCB
2022-10-15 14:38:43 +02:00
brian218
e839595053
Implemented sys_game_get_system_sw_version()
2022-10-11 08:32:49 +02:00
brian218
a711eb31f4
Corrected the implementation of sys_game_board_storage_read()
2022-10-11 08:32:49 +02:00
Megamouse
4446d9ce4b
cellSubDisplay: add error checks
2022-10-10 21:26:27 +02:00
brian218
d311b4bd53
Update sys_game_board_storage_read()
2022-10-09 21:05:10 +03:00
Eladash
a6dfc3be2f
SPU: Enable the MFC list optimization for Atomic RSX FIFO
2022-10-09 19:27:46 +03:00
Eladash
6a36967e6f
SPU: Inline and batch MFC list transfers
2022-10-09 19:27:46 +03:00
Elad Ashkenazi
cb743da215
sys_spu: fixup raw spu destroy regression
...
Caused a missed cpu_thread::state notification which is required now.
2022-10-06 12:23:51 +03:00
Elad Ashkenazi
4d24ba1f35
PPU Precompilation: Abort compilation as soon as possible on Emu.Stop()
2022-10-06 12:23:51 +03:00
Eladash
d25d1ecb3a
LV2: Avoid using multi-variable atomic waiting on cpu_thread::state wait
2022-10-04 16:28:34 +03:00
Eladash
2a00a88e2a
SPU LLVM: don't force-enter process_mfc_cmd() because it's slower
2022-10-04 16:28:34 +03:00
Elad Ashkenazi
77db8f04b9
Savestates: fix saving in HLE functions
2022-10-04 14:14:38 +03:00
Eladash
9319bc579c
cellAudio: Always send periodic sampling events
2022-10-04 13:41:57 +03:00
kd-11
0dd9c386ee
Fix running the emulator with AUDIT enabled
2022-10-03 12:57:16 +03:00
Eladash
af8c871411
Add origin PRX names for log messages
2022-10-02 20:03:27 +03:00
Malcolm Jestadt
d8897c585d
PPU/SPU LLVM: Allow Zen4 cpus to use VPERMI2B/VPERMT2B instead of the vperm2b256to128 path
...
- Zen4 based cpus can process VPERM2B in a single uop, unlike intel where it is 3 uops.
2022-10-01 15:38:29 +03:00
RipleyTom
eff1e4bd7e
CELL_NET_CTL_INFO_IP_ADDRESS returns external address
2022-10-01 11:56:41 +02:00
Elad Ashkenazi
0cc981ec18
SPU: fix atomicity of inaccurate GETLLAR
2022-09-30 15:26:08 +03:00
RipleyTom
d1a7bb0136
Fix faulty GetScoreFriendsRequest
2022-09-28 21:58:11 +02:00
RipleyTom
56caa10e56
Fix blocking raw socket recvfrom
2022-09-28 21:58:11 +02:00
RipleyTom
eea73deab3
RPCN v0.6
2022-09-27 23:39:54 +03:00
brian218
c996be321c
sys_game_board_storage_read(): Add more known code & Improve byte casting
2022-09-26 17:17:49 +01:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
cohaereo
2655255d4d
sys_net: Implement sys_net_bnet_sendmsg for native sockets
2022-09-25 18:24:47 +03:00
Eladash
8485afa3a5
PPU debugger: report ppu_thread::ack_suspend state
2022-09-25 14:31:39 +03:00
Eladash
2759091ede
Debugger: Rewind SPU captures
...
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash
ae02b71a85
Savestates/Debugger: fix mfc debug option with savestates
2022-09-25 14:31:39 +03:00
Elad Ashkenazi
238298f695
sys_ppu_thread: Fix surmixer hack ( #12689 )
...
* sys_ppu_thread: Fix surmixer hack
* Hotfix after #12678
2022-09-21 21:10:59 +03:00
Eladash
194f7375da
SPU/LV2: Fix tiny race conditions
2022-09-21 20:35:34 +03:00
Marc Riera
c5572acd38
Allow USB passthrough for Densha de GO! controller
2022-09-21 12:04:16 +03:00
Nekotekina
c86ddb3b7d
cellImeJp: fix regression
2022-09-18 18:35:17 +03:00
Nekotekina
b49a1f27eb
Warning fixes
2022-09-17 16:35:02 +03:00
Eladash
cf4da5c4d1
CPU preemption control: bugfixes
2022-09-16 18:57:55 +03:00
Eladash
9c5108c1ca
CPU preemption control: Add one more debug variable
2022-09-16 18:57:55 +03:00
Eladash
2807be7080
SPU: Regression fix after #12648
2022-09-13 20:11:30 +03:00
Eladash
ec7b18dab5
Implement independent CPU preemptions
2022-09-13 19:28:20 +03:00
brian218
b9e20dc5c9
sys_game_board_storage_read(): Fix regression after #12637
2022-09-13 12:57:43 +03:00
Eladash
cfdc852f03
SPU: Power consumption reduction when using SPU inaccurate reservations
2022-09-13 11:21:01 +03:00
Eladash
92514e33bb
Avoid reservation notifications in liblv2.sprx
2022-09-13 11:21:01 +03:00
Eladash
f076fcd539
cellMusic: Implement some error checking
2022-09-12 15:04:23 +03:00
Eladash
4ac59875af
ppu: add some debug information
2022-09-12 15:04:23 +03:00
Eladash
780ca38f2f
SPU: Extend Inaccurate SPU reservations
2022-09-12 14:16:39 +03:00
Yui
9e83bc6544
Add the ability to set the PSID from the configuration ( #12637 )
2022-09-12 13:23:13 +03:00
Eladash
37aefe5811
sys_ppu_thread: Fix max thread name size
2022-09-12 12:57:39 +03:00
Eladash
eb4131e1c7
cellGame: Minor revert
...
I think there are many more bugs here..
2022-09-07 20:42:23 +03:00
Eladash
07f0ba213e
SPU: Allow special channel storage in channel busy waiting period
...
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash
48382564d1
SPU: Implement "quintuple" Inbound MBOX storage
2022-09-07 20:42:23 +03:00
Nekotekina
5985f0eefa
BufferUtils: cleanup regarding ARM64
2022-09-07 17:59:07 +03:00
sguo35
a0d48c588a
spu/arm64: clean up assembly code generation
...
Clean up asmjit usage so we don't unnecessarily allocate memory
anymore for SPURecompiler functions.
2022-09-07 17:33:01 +03:00
Eladash
5e2424da58
IdManager.cpp: Fix cellFs IDs
2022-09-07 17:05:51 +03:00
Eladash
72a6696f5c
cellGame Fix PS3 disc insert
2022-09-07 17:05:51 +03:00
Eladash
89e0dcba5e
cellVdec: Adjust for reservations
2022-09-07 16:05:56 +03:00
Eladash
7698064f5a
SPU: Untangle VM lock to avoid deadlocks
2022-09-07 16:05:56 +03:00
Elad Ashkenazi
290226539f
Fix ARM build ( #12606 )
2022-09-04 21:11:04 +03:00
brian218
75efc79930
Implemented sys_game_board_storage_read()
2022-09-04 13:28:05 +03:00
Nick Renieris
905496e926
PPU: Fix STVLX
...
Fixes Sly 2 and Sly 3 crash on boot (RSX desync).
2022-09-04 12:27:29 +03:00
Elad Ashkenazi
e0a648240f
Unlog sceNpUtilCmpNpId
2022-09-02 08:29:09 +02:00
Eladash
7bad8f3348
Savestates/SPU: Minor fixup after fb01ed55
2022-09-01 20:09:28 +03:00
Eladash
ee1384341e
rsx: Implement atomic vertex upload (with Strict Rendering Mode)
2022-09-01 20:09:28 +03:00
Eladash
fb01ed55e5
SPU: Fix potential deadlock in event queue syscalls
2022-09-01 19:03:38 +03:00
Eladash
3f02935844
Add some debugging information
2022-08-30 08:57:33 +02:00
RipleyTom
f98251a05a
Fixes -w leaking
2022-08-30 07:46:42 +02:00
Nekotekina
e28707055b
Implement simd_builder for x86
...
ASMJIT-based tool for building vectorized loops (such as ones in BufferUtils.cpp)
2022-08-28 18:38:52 +03:00
brian218
698c3415ea
Fixed SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
...
Fixed the error which occurred when a game attempted to read the VID/PID of an undefined VFS USB device:
SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\Cell\lv2\sys_fs.cpp:1942[:25], in function sys_fs_fcntl)
2022-08-26 08:45:14 +02:00
Eladash
c7586de280
Savestates/sys_fs: Fix saving encrypted and split-files file descriptors
2022-08-25 23:54:56 +03:00
Eladash
506b9deec5
Savestates/SPU LLVM: Improve saving performance
2022-08-25 23:54:56 +03:00
Eladash
a71bdc761e
SPU/Debugger: Improve debugging reservations
...
Simplify and make the debugging results more consistent.
2022-08-22 18:24:26 +03:00
Eladash
9d8f4d5cfa
Bugfix after #12523
2022-08-22 18:24:26 +03:00
Eladash
ee87fdc869
Fix GETLLAR spin detection
2022-08-22 08:33:22 +03:00
Eladash
bf63a18c5f
SPU Add ability to specify percentage of busy waiting
2022-08-21 15:02:01 +03:00
Eladash
ddba30988b
vm: Attempt to not remove cpu_flag::wait flag during access violation
2022-08-21 15:02:01 +03:00
Eladash
b0e2c959eb
SPU: Disable notification if no changes were made in PUTLLC
2022-08-21 15:02:01 +03:00
Eladash
28bec8e1bf
SPU: Implement custom reservation condition in atomic wait
2022-08-21 15:02:01 +03:00
Eladash
86702186f2
PPU: Detect lwmutex reservation pattern and optimize it
2022-08-21 15:02:01 +03:00
Eladash
82b1a2bd7a
SPU: add the concept of inaccurate reservations
...
Implement cellSpursRequestIdleSpu
2022-08-21 15:02:01 +03:00
Eladash
d36cf71a2d
Savestates: Fix PPU analysis when patches are applied
2022-08-21 15:02:01 +03:00
Eladash
1dd1062be1
PPU LLVM: Fix HLE function injection
2022-08-21 15:02:01 +03:00
Eladash
c0e3b86064
SPU: Optimize spu_thread::get_events()
2022-08-21 15:02:01 +03:00
Eladash
6210a8491f
SPU: Optimize and enable SPU GETLLAR Polling detection by default
...
* Make this setting guard all reservation waitings. (renamed)
* Revert atomic list usage: it's more expensive and not needed because it has a timeout and is not optimized for the rest of the waitables.
2022-08-21 15:02:01 +03:00
Eladash
33a4f05ffa
SPU: Interleave loads/stores in reservation access utilities
2022-08-21 15:02:01 +03:00
Eladash
a3007e11ca
SPU: Fix minor race in sys_spu_thread_receive_event
...
Check final cpu_state::state value for suspend state because that's the variable the thread waits on.
2022-08-12 15:20:48 +03:00
Eladash
7ff4509858
sys_lwcond: Fix a loose notification in cond wait
2022-08-11 12:44:40 +03:00
Eladash
f2997e4c00
LV2: Fix the most annoying race ever
...
Timeline of the race:
1. The PPU is in SLEEP state. state = suspend.
2. lv2_obj::awake is called on the traced thread and is now in ONPROC state, state = signal.
3. lv2_obj::awake is called by another thread externally with a priority higher than our traced thread and appends it to g_pending. state = suspend + signal.
4. lv2_obj::sleep/set_priority (higering priority) is called on any thread which is in ONPROC. Causing it to enter SLEEP or RUNNING state, while the traced thread is back in queue in ONPROC. state = suspend + signal.
5. The traced thread finally calls lv2_obj::awake on itself, g_pending decrements to 0 and we a have a rescheduling event, after XOR state = 0!!! (no signal)
6. In check_state: cpu_sleep_called is now true and remains this way.
7. Another thread with a higher prioty kicks in and appends the traced thread into g_pending. state = suspend.
8. The traced thread is at cpu_thread::cpu_wait(), and that's where it's gonna spend the rest of its life.
2022-08-11 12:44:40 +03:00
Eladash
683c1a6512
LV2: Optimize sys_ppu_thread a bit
2022-08-11 11:42:16 +03:00
Eladash
9b0d33048c
Savestates/LV2: Fix race on _sys_lwcond_queue_wait saving
...
cpu_flag::again modification requires exclusive access.
2022-08-11 11:42:16 +03:00
Eladash
bc8bf2c329
sys_cond/lwcond: Fix waiting time in the debugger for mutex lock
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
f0002501f7
sys_mutex/lwmutex: Regression fixes after #12378
2022-08-11 11:42:16 +03:00
Elad Ashkenazi
c4cc0154be
LV2: Optimizations and fixes
...
Fix and optimize sys_ppu_thread_yield
Fix LV2 syscalls with timeout bug. (use ppu_thread::cancel_sleep instead)
Move timeout notification out of mutex scope
Allow g_waiting timeouts to be awaked in scope
2022-08-11 11:42:16 +03:00
Eladash
26e731b487
LV2: Re-add dropped optimization by previous commit
...
Currently only for lock-free syscalls.
2022-08-07 20:23:54 +03:00
Eladash
34bae90820
LV2: Move nearly all notifications out of all mutex scopes including IDM
2022-08-07 20:23:54 +03:00
Eladash
011aabe9ed
LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock
2022-08-07 20:23:54 +03:00
Eladash
a17a6527f6
LV2: Move memory unlocking outside of mutex ownership and make it conditional
2022-08-07 20:23:54 +03:00
Eladash
122c6256ca
A fix of _spurs::add_workload
2022-08-07 20:23:54 +03:00
Eladash
73aaff1b29
LV2: allocation-free synchronization syscalls
...
* Show waiters' ID in kernel explorer.
* Remove deque dependency from sys_sync.h
2022-08-07 20:23:54 +03:00
Eladash
c7fbc16357
SPU: Postpone notifications to afterward group mutex ownership
2022-08-07 20:23:54 +03:00
Eladash
bc728db15b
LV2: Add busy waiting before entering atomic wait
2022-08-07 20:23:54 +03:00
Eladash
2eebbd307d
LV2: Minor optimization regarding signal flag
2022-08-07 20:23:54 +03:00
Eladash
dc851a729e
LV2: Postpone thread notifications to afterward mutex ownership(s)
2022-08-07 20:23:54 +03:00
Eladash
6007fd630f
Do not use lv2_obj::g_waiting when not needed in sys_timer_usleep
2022-08-07 20:23:54 +03:00
Megamouse
cb0ecb2afb
cellPngEnc
2022-08-06 10:35:10 +02:00
sguo35
cc1e4d2194
ppu/arm64: don't restore rsp on ppu_gateway return
...
Don't restore rsp on ppu_gateway return, since it can be reentrant. Also
change some registers to align with the x86 version's 32bit/64bit
usages.
2022-08-05 22:53:11 +02:00
Elad Ashkenazi
88b80ebdf5
sys_net: Fix missing locks in some syscalls ( #12459 )
2022-08-04 21:31:34 +03:00
Elad Ashkenazi
0e1931f178
sys_lwcond: Fix rare race on mode 3 signal ( #12413 )
2022-08-04 14:13:51 +03:00
Megamouse
c75b76ddf5
cellPhotoImport: fallback to extension if sub_type is unknown
2022-08-02 01:43:23 +02:00
Megamouse
4dec8d7925
cellPhotoImport: allow dev_hdd1
2022-08-02 01:43:23 +02:00
Megamouse
934e7b614c
cellPhotoExport/cellVideoExport: fix filenames
2022-08-02 01:43:23 +02:00
Megamouse
416b14de72
cellPhotoExport: first implementation
2022-08-01 19:11:14 +02:00
Megamouse
b87099c790
cellVideoExport: fix some copy pasta errors and prevent file overwrite
2022-08-01 19:11:14 +02:00
Megamouse
f90b79791f
HLE: fix file not found errors in media functions
2022-07-31 16:45:05 +02:00
Malcolm Jestadt
51e6d0a336
SPU LLVM: Add integer compare optimization for FCMGT
2022-07-29 11:59:59 +03:00
Megamouse
87e628a9e9
cellPhotoDecode: optimize get_scaled_image
2022-07-29 08:05:35 +02:00
Megamouse
f31ffc4596
Implement cellPhotoDecode
2022-07-28 09:06:48 +02:00
Megamouse
4114f00c05
cellPhotoImport: fix vfs path and add some logging
2022-07-28 09:06:48 +02:00
Megamouse
8f7209f886
cellMusicSelectionContext: fix log message facepalm
2022-07-27 07:39:55 +02:00
Megamouse
d80146c704
cellMusic: Fix resume, fast forward and rewind
...
- Sadly rewind does not work with the QMediaPlayer on windows
2022-07-27 07:39:55 +02:00
Megamouse
577f379a12
implement cellPhotoImport
2022-07-26 17:27:35 +02:00
Megamouse
3d73915358
cellSearch: improve populate_photo_info, read image headers
2022-07-26 17:27:35 +02:00
Megamouse
a5317d50a5
cellMusicSelectionContext: log playlist
2022-07-26 17:27:35 +02:00
Megamouse
c40439ae6b
cellMusic/Decode: implement playlist shuffle and repeat
2022-07-22 08:42:43 +02:00
Megamouse
cd4d73114c
overlays: fix media_list_dialog title
2022-07-21 01:36:33 +02:00
Eladash
bb9ae18c71
Savestates: Fix sys_rwlock_wunlock saving
2022-07-20 18:11:52 +03:00
Eladash
ce01457510
Fix futile wait regression in sys_lwcond_signal
2022-07-20 18:11:52 +03:00
Megamouse
d1a46b491e
cellMusic: add some error checks and copy context to callback
2022-07-20 07:09:38 +02:00
Eladash
d106934336
Savestates: Fix saving sys_mutex_unlock
2022-07-19 10:43:51 +03:00
Eladash
c887865d54
Perform cleanup after Emulator::Load failures
2022-07-19 10:43:51 +03:00
Eladash
dc48944979
Prefer BDVD over HDD0 in vfs::retrieve
2022-07-19 10:43:51 +03:00
Eladash
12ebf77e22
Savestates: save sys_spu_initialize settings
2022-07-19 10:43:51 +03:00
Megamouse
845af8bd96
cellGifDec: random stuff because I was bored
2022-07-18 22:23:25 +02:00
Megamouse
34615d3a74
cellMic: slow down if no mics are configured
2022-07-17 19:31:05 +02:00
Eladash
c0369b2e10
sys_net: Implement sys_net_abort
2022-07-17 14:53:03 +03:00
Megamouse
07ebbb6c84
cellSysutilAvc2SetStreamingTarget: remove ensure
2022-07-16 20:09:13 +02:00
sguo35
73ed657e00
spu/arm64: fix 16 byte branch patch alignment
2022-07-15 12:37:33 +03:00
sguo35
c52abed4d3
spu: implement ubertrampoline generator for arm64
...
Implement the ubertrampoline generator for arm64. It generally follows
the x86 version, but uses asmjit to generate code instead of writing raw
opcodes to memory, trading memory usage for readability. Currently the
trampoline implementation is fairly inefficient in terms of instruction
size and is substantially larger than the x86 version.
2022-07-15 12:37:33 +03:00
sguo35
9e57efe82c
spu: implement assembly functions for arm64
2022-07-15 12:37:33 +03:00
sguo35
77ab872bec
spu: remove rotqby C++ impl
...
rotqby C++ implementation is broken, since replacing it with the
intrinsic version reliably fixes spurs test. A conditional branch
immediately after a rotqby instruction will fail using the C++ version
but succeed using the intrinsic.
2022-07-15 12:37:33 +03:00
sguo35
27acebc5f5
spu: use portable llvm recompiler on arm64
...
Since there is not yet an arm64 version of the assembly (fast) version.
2022-07-15 12:37:33 +03:00
sguo35
2755d9941c
ppu: fix a bug where arm64 sp wasn't being saved
...
ASMJIT can silently fail and drop instructions when invalid operations
are performed (e.g. loading/storing sp). Explicitly move sp to a gp
register before doing loads/stores to fix this.
2022-07-15 12:37:33 +03:00
Eladash
3e51426379
Savestates/SPU: Kill emulation when its safe to save SPU state
2022-07-15 09:30:53 +03:00
Eladash
e548743cbf
Fixup rsx cpatures
2022-07-14 18:50:31 +03:00
Megamouse
7499f875a6
cellCrossControllerInitialize: add dialog
2022-07-13 19:12:46 +02:00
Megamouse
f4e85af53c
sceNpUtil: implement skeleton bandwidth test
2022-07-12 22:45:40 +02:00
Eladash
cdd6840826
Savestates/SPU: Complete fix for saving sys_spu_thread_receive_event
2022-07-12 15:15:42 +03:00
Eladash
ab27ee4cf4
Savestates/RSX: Save NV406E semaphore waiting
2022-07-12 15:15:42 +03:00
Eladash
befd7ceb89
Savestates/sys_spu: Minor fix in saving sys_spu_thread_receive_event
2022-07-10 14:19:59 +03:00
Eladash
2cead6f328
Savestates/SPU: Fix saving sys_spu_thread_send_event
2022-07-10 14:19:59 +03:00
Eladash
87cd65ff03
Savestates: support game collections
2022-07-10 14:19:59 +03:00
Megamouse
0c6df39a45
cellSearch: more error checks and shuffle
2022-07-09 16:39:10 +02:00
Vestrel
648ad0cd90
cellAudio: fix downmix if device doesn't support multichannel ( #12328 )
...
* cellAudio: fix downmix if device doesn't support multichannel
* Downmix in 2 stages
2022-07-09 15:25:28 +02:00
Vestrel
98b730c806
Audio: device switching and channel count detection ( #12246 )
2022-07-08 17:13:38 +02:00
Nekotekina
4b787b22c8
Implement FN (lambda shortener)
...
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
Eladash
983bfa2088
Savestates: Decryption of executable fix
2022-07-08 12:57:43 +03:00
Eladash
3a9928de65
Savestates: Log file descriptor information
2022-07-08 12:57:43 +03:00
Eladash
1fd5fb2f7e
Savestates: Fix minor race with LV2 timers
2022-07-08 12:57:43 +03:00
Eladash
4ac88fa8d3
Savestates/RSX: Save drawing context
2022-07-08 12:57:43 +03:00
Eladash
5f8f9e33f1
RSX/Savestates: Replace GCM hack with a proper fix
2022-07-08 12:57:43 +03:00
Eladash
f0c71ae2ae
Savestates: Fix saving sys_event_queue_destroy
2022-07-08 12:57:43 +03:00
Megamouse
0c7ecdc954
cellMusicDecode: add more error checks and silence some log messages
2022-07-08 07:55:46 +02:00
Megamouse
b683110e72
cellGem/overlays: show cursor if necessary
2022-07-07 12:40:23 +02:00
Megamouse
3840015e7d
cellGem: implement basic ds3 cursor movement
2022-07-06 21:49:31 +02:00
Megamouse
639b8112b6
Input: make move handler dynamic
2022-07-06 21:49:31 +02:00
Megamouse
2bf17f5d3c
input: fix horrible pad hacks
2022-07-06 21:49:31 +02:00
Megamouse
4823d4c32a
input: add background input option
...
Adds an option to disable background input to the IO tab in the settings dialog.
This will disable pad input as well as ps move and overlays input when the window is unfocused.
2022-07-06 21:49:31 +02:00
Eladash
c8c035eeef
Regression fix
2022-07-06 20:07:09 +02:00
Eladash
155bd09fd0
Savestates: Cleanup v128 usage
...
It's compatible with bitwise serialization so it is faster to load/save it this way.
2022-07-06 19:43:25 +03:00
Eladash
f546e5a8ef
VM/Savestates: Replace bugged read-only block optimization
2022-07-06 19:43:25 +03:00
Eladash
2ccb0c8f42
SPU LLVM/Savestates: Remove unneeded store insurance and add related fix
2022-07-06 19:43:25 +03:00
Eladash
d8f3029952
Log LV2 periodic timers
2022-07-06 19:43:25 +03:00
Eladash
09c28f75b3
Savestates: Fix LV2 timers (fixes audio in some games)
2022-07-06 19:43:25 +03:00
Eladash
57671e267d
Savestates: save cellAudioOut
2022-07-06 19:43:25 +03:00
Eladash
b692108f1e
Savestates: HLE state saving POC in sys_lwmutex
2022-07-06 19:43:25 +03:00
Eladash
2815aecd0c
Savestates: Save SPU decrementer state
2022-07-06 19:43:25 +03:00
Eladash
bd9ba7ef1f
Remove incorrect Emu.IsStopped() checks
2022-07-05 08:25:36 +02:00
Eladash
a015bd1ebd
Savestates: Add missing position placement
2022-07-05 08:25:36 +02:00
Eladash
d6cf167d52
Savestates: Minor optimization of size
2022-07-05 08:25:36 +02:00
Eladash
3fc2194fd5
Savestates: Fix zombie PPU threads saving
2022-07-05 08:25:36 +02:00
Eladash
72c14994f0
Savestates: Fix memory containers initialization (invalidates old savestates)
2022-07-05 08:25:36 +02:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Eladash
cf0fcf5a2a
SPU: Implement execution wake-up delay
2022-06-28 19:54:25 +03:00
Eladash
f66256cc13
rsx: PS3 Native frame limiter improvements, add Infinite frame limiter
...
* Do not wait on DEVICE 0x30 semaphore, it seems like it is something to do with queue command synchronization.
- This also fixes cellGcmSetFlipWithWaitLabel which is built specifically to enable accurate RSX flipping time, its waiting command is confirmed to be placed **AFTER** DEVICE 0x30 waiting.
* Fix default vsync state to be enabled. (and set it to enabled in cellGcmSetVBlankFrequency as well)
* Add experimental "Infinite" frame limiter mode.
* Fix spurious enabling of second vblank.
2022-06-25 15:30:41 +02:00
Megamouse
9cf7a63c77
Emu: Implement BlockingCallFromMainThread
...
Reduces some copy-paste clutter throughout the project
2022-06-25 14:01:40 +03:00
Nekotekina
ea23525f66
sys_fs: Add mountpoint for /dev_ps2disc
2022-06-24 19:55:44 +03:00
Megamouse
87762a9b17
cellGame: implement disc change callbacks
2022-06-24 17:34:21 +02:00
Eladash
5e01ffdfd8
Debugger: Optimize cpu_thread::dump_regs()
...
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Megamouse
661b485b58
HLE: more error checks
2022-06-22 21:47:06 +02:00
Eladash
64399d45c1
vm: Make falloc return value bool
...
Allow to check properly for the success of 0 address allocation.
2022-06-22 21:01:37 +03:00
Nekotekina
653a9e6e7f
Debugger: always print cpu_thread::dump_misc()
...
Was removed for some reason.
2022-06-22 18:53:29 +03:00
Eladash
71e07dc6c7
IdManager.h: Improvements
...
* Ensure ::PtrSame<T, Derived> is true.
* Allow id_base, id_step and id_count to be of enumeration type.
* Fix potential deadlock in kernel explorer.
idm::select:
* Allow to select multiple inherited object types for idm::select.
* Allow function reference types. (they don't allow access to operator() directly, use deducing std::function constructor instead)
* Ensure ::is_same_ptr<T, object_type> is true.
2022-06-22 17:24:47 +03:00
Eladash
ccb2724fc4
Debugger: Implement SPU breakpoints
2022-06-21 16:59:45 +03:00
Eladash
d0e9108800
SPU: Implement "double" SNR storage
2022-06-20 20:50:11 +03:00
Eladash
dc80d000aa
SPU Disasm: Detect sys_event_flag_set_bit syscall
2022-06-20 20:50:11 +03:00
sguo35
775caabeeb
[ppu] Fix function trampoline for arm64
...
- Refactor function manager trampoline to be cleaner
- Add trampoline impl for arm64
- Force all JIT entrypoints on Apple to toggle W^X
2022-06-20 15:08:27 +03:00
isJuhn
4262794668
Implement PINE IPC Server
2022-06-19 17:56:50 +02:00
capriots
a6237e5473
cellAudio(Out): properly implement all downmixing modes ( #12252 )
2022-06-19 17:08:03 +02:00
Megamouse
0b14d785ca
stub cellHttp
2022-06-19 07:07:31 +02:00
capriots
6bdf415adb
Fix audio renderer not resetting after cellAudioOutConfigure() was called
2022-06-19 06:09:29 +02:00
Megamouse
ebabdd37b4
cellAudioOut: fix sound_mode exception
...
Turns out some games don't configure proper channel counts after all,
which triggers an ensure in cellAudioOutGetState.
Let's select the current sound_mode in cellAudioOutConfigure.
Keep the old one if no match was found.
Also moves some code from AudioBackend to cellAudioOut for thread safety (see mutex).
2022-06-18 18:17:43 +02:00
Megamouse
11c5230628
stub cellSysutilRegisterCallbackDispatcher
2022-06-15 20:46:24 +02:00
Megamouse
bfe029bb0c
cellSysutil: implement some bgm fxo stuff
2022-06-15 20:46:24 +02:00
Megamouse
cbf12bb54b
cellSysutil: stub cellSysutilGameDataExit functions
2022-06-15 20:46:24 +02:00
Megamouse
b01d8e01e3
cellSysutilRegisterCallback: fix potential read out of bounds
2022-06-15 20:46:24 +02:00
Ivan
c2190f71ca
SPU/PPU LLVM: fix triple setup (regression fix) ( #12228 )
2022-06-14 18:13:43 +03:00
Elad Ashkenazi
5378fee1c3
SPUAnalyzer.h: Add missing category check functions ( #12222 )
...
Some instructions were moved into integer category.
2022-06-14 16:04:24 +03:00
Jeff Guo
cefc37a553
PPU LLVM arm64+macOS port ( #12115 )
...
* BufferUtils: use naive function pointer on Apple arm64
Use naive function pointer on Apple arm64 because ASLR breaks asmjit.
See BufferUtils.cpp comment for explanation on why this happens and how
to fix if you want to use asmjit.
* build-macos: fix source maps for Mac
Tell Qt not to strip debug symbols when we're in debug or relwithdebinfo
modes.
* LLVM PPU: fix aarch64 on macOS
Force MachO on macOS to fix LLVM being unable to patch relocations
during codegen. Adds Aarch64 NEON intrinsics for x86 intrinsics used by
PPUTranslator/Recompiler.
* virtual memory: use 16k pages on aarch64 macOS
Temporary hack to get things working by using 16k pages instead of 4k
pages in VM emulation.
* PPU/SPU: fix NEON intrinsics and compilation for arm64 macOS
Fixes some intrinsics usage and patches usages of asmjit to properly
emit absolute jmps so ASLR doesn't cause out of bounds rel jumps. Also
patches the SPU recompiler to properly work on arm64 by telling LLVM to
target arm64.
* virtual memory: fix W^X toggles on macOS aarch64
Fixes W^X on macOS aarch64 by setting all JIT mmap'd regions to default
to RW mode. For both SPU and PPU execution threads, when initialization
finishes we toggle to RX mode. This exploits Apple's per-thread setting
for RW/RX to let us be technically compliant with the OS's W^X
enforcement while not needing to actually separate the memory
allocated for code/data.
* PPU: implement aarch64 specific functions
Implements ppu_gateway for arm64 and patches LLVM initialization to use
the correct triple. Adds some fixes for macOS W^X JIT restrictions when
entering/exiting JITed code.
* PPU: Mark rpcs3 calls as non-tail
Strictly speaking, rpcs3 JIT -> C++ calls are not tail calls. If you
call a function inside e.g. an L2 syscall, it will clobber LR on arm64
and subtly break returns in emulated code. Only JIT -> JIT "calls"
should be tail.
* macOS/arm64: compatibility fixes
* vm: patch virtual memory for arm64 macOS
Tag mmap calls with MAP_JIT to allow W^X on macOS. Fix mmap calls to
existing mmap'd addresses that were tagged with MAP_JIT on macOS. Fix
memory unmapping on 16K page machines with a hack to mark "unmapped"
pages as RW.
* PPU: remove wrong comment
* PPU: fix a merge regression
* vm: remove 16k page hacks
* PPU: formatting fixes
* PPU: fix arm64 null function assembly
* ppu: clean up arch-specific instructions
2022-06-14 15:28:38 +03:00
Nekotekina
cb2c0733e2
SPU LLVM: fix vrangeps usage in clamp_smax
2022-06-12 16:40:04 +02:00
Malcolm Jestadt
ebeeafc94f
SPU LLVM: Use vrangeps in clamp_smax
...
- This instruction can clamp a value between a range of values, something which previously needed 2 instructions.
- With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result.
2022-06-11 18:25:31 +03:00
Elad Ashkenazi
17e28ae85d
SPU LLVM: Improve expression matching detection for moved registers
2022-06-11 16:13:58 +03:00
RipleyTom
da6434a65a
Implements sys_fs_fcntl 0xC0000008 & 0xC000001A ( #11957 )
2022-06-11 13:12:42 +01:00
Megamouse
2a1e3b2b77
sys_rsxaudio: use max channel count from configured sound_modes
2022-06-09 18:59:13 +02:00
Megamouse
61823a5d62
sys_rsxaudio: only update config if the fxo is initialized
2022-06-09 18:59:13 +02:00
Megamouse
ba96c6f3bb
cellAudioOut: properly implement downMixer
...
If the PS3 downMixer is enabled, the game uses 8 channel input and 2 or 6 channel output
2022-06-09 18:59:13 +02:00
Megamouse
fd8931c87e
cellAudio: simplify sound mixer
...
There was no need to treat the first mix differently if all it did was init the buffer anyway.
Let's just always memset to zero.
2022-06-09 18:59:13 +02:00
Malcolm Jestadt
64616f1408
SPU LLVM: Microfixes
...
- Avoid vpermb path in shufb when op.ra == op.rb
- Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs
2022-06-08 22:50:30 +03:00
Nekotekina
8d46840e09
Enable ppu_feed_data in PPU Interpreter
2022-06-07 15:24:50 +03:00
Nekotekina
753a12f436
Enable call history in PPU Interpreter
2022-06-07 15:24:50 +03:00
Megamouse
8e667e69f6
initial cellGameThemeInstall and cellGameThemeInstallFromBuffer
2022-06-07 07:37:30 +02:00
Megamouse
4d09be25aa
cellMsgDialog: send DRAWING_END on abort
2022-06-06 20:07:01 +02:00
Eladash
0f499e36fb
Optimize emulation stopping for when cellSysutilCheckCallback is not called
2022-06-06 19:21:41 +02:00
Eladash
f5beaabded
cellSysutil: Implement DRAWING callbacks
...
Also fixed a minor race in cellUserInfo regarding status of dialog
2022-06-06 19:21:41 +02:00
Elad Ashkenazi
248809ca1f
cellGame: Revert cellGameDataCheckCreate2 change for now
2022-06-06 13:41:20 +02:00
Eladash
f9bc7458d4
rsx: Resurgence of HLE GCM
2022-06-06 12:56:25 +02:00
Eladash
f1b03b36f7
cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value
2022-06-05 20:47:49 +02:00
Megamouse
e9ba6fd034
Qt: use unique_ptr for Ui objects. Should fix some mem-leaks
2022-06-05 19:07:03 +02:00
Megamouse
ac34714837
CellAudioOut: Add some placeholders to CellAudioOutCodingType
2022-06-05 13:34:34 +02:00
Megamouse
b4ce31cae3
cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY
2022-06-05 13:34:34 +02:00
Megamouse
5dffbca636
cellAudioOut: Only add LPCM 2ch. to secondary output
2022-06-05 13:34:34 +02:00
Megamouse
306776626a
cellAudioOut: set latency to 13
2022-06-05 13:34:34 +02:00
Megamouse
15be6827ea
cellAudioOutGetConfigure: Store and return set config seperately
2022-06-05 13:34:34 +02:00
Megamouse
8c0a786918
cellAudioOutConfigure: don't return error on unsupported config
...
Apparently the config simply isn't changed
2022-06-05 13:34:34 +02:00
Megamouse
8aa67114a9
cellAudioOut: Prefer 7.1 if available and supported
...
Select 7.1 as initial mode if the PARAM.SFO supports it and we enabled it
2022-06-05 13:34:34 +02:00
Megamouse
1bbb26334a
cellAudioOut: Use bev_bdvd for disc game PARAM.SFO
...
Game Data PARAM.SFO does not contain SOUND_FORMAT
2022-06-05 13:34:34 +02:00
Malcolm Jestadt
1227b0a633
SPU LLVM: Reneable icelake shufb paths
...
- The previous code works just fine
2022-06-05 13:08:00 +03:00
Elad Ashkenazi
9bb7e8d614
rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) ( #12107 )
2022-06-04 15:35:06 +03:00
Malcolm Jestadt
0e5514003a
SPU LLVM: Optimize LQR/STQR
...
- Avoid type mismatch between adds that prevented llvm from combining the operations
2022-06-03 16:16:28 +03:00
Megamouse
06e5b8a06a
cellAudioOut: add stereo, 5.1 and 7.1 for covenience
2022-06-02 13:12:04 +02:00
Megamouse
94aef197dd
cellAudioOut: switch to manual multi-selection of format as seen on PS3
2022-06-02 13:12:04 +02:00
Megamouse
a86e7eeba0
cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected
2022-06-02 13:12:04 +02:00
Megamouse
95a3ce68ce
cellAudioOut: log all added sound modes
2022-06-02 13:12:04 +02:00
Megamouse
9ab1e69697
cellAudioOut: simplify sfo access and make it foolproof
2022-06-02 13:12:04 +02:00
Megamouse
60d80fd5fc
PSF: move sound format flags to enum
2022-06-02 13:12:04 +02:00
Megamouse
350d3ad386
cellAudioOut: fix AC3/DTS mixup
2022-06-02 13:12:04 +02:00
Megamouse
d6065e8814
cellAudioOut: add sound modes even if they aren't supported
2022-06-02 13:12:04 +02:00
Megamouse
363808a57b
cellAudioOut: simplify sound mode initialization
2022-06-02 13:12:04 +02:00
Megamouse
3402835c8e
cellAudioOut: apply review fixes, add some comments
2022-06-02 13:12:04 +02:00
Megamouse
911d37e4d7
cellAudioOut: use 2 channel LPCM by default and also use it as fallback
2022-06-02 13:12:04 +02:00
Megamouse
72e1e242a3
cellAudio: use format instead of downmix
2022-06-02 13:12:04 +02:00
Megamouse
c42ff338e7
cellAudioOutGetSoundAvailability: return channel count based on available sound modes
2022-06-02 13:12:04 +02:00
Megamouse
4f81fcd5cc
cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent
2022-06-02 13:12:04 +02:00
Megamouse
d47f1ef406
cellAudio: Implement application based downmix settings
2022-06-02 13:12:04 +02:00
Megamouse
03df3c5293
cellAudioQuit: do not clear event queues
...
They seem to be handled independently.
2022-05-31 23:38:29 +02:00
Elad Ashkenazi
bda52a51a7
Debugger: Show HEX view of floating-point PPU registers
2022-05-31 07:36:10 +02:00
Malcolm Jestadt
e9dfb3cb63
SPU LLVM: Fixup for inline MFC transfers
...
- Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead.
2022-05-29 19:08:36 +03:00
Vestral
5b0badc215
sys_rsxaudio: timer fix
2022-05-29 14:59:12 +02:00
Malcolm Jestadt
6f4398889e
SPU LLVM: Optimize inline MFC transfers
...
- Use wider instructions when possible
2022-05-29 15:32:25 +03:00
Eladash
dd4722fc1f
rsx: Fix second VBLANK time
...
Turns out that both VBLANK time and flip time clock at 80Mhz which is MFTB rate, just that cellGcmGetLastFlipTime is missing conversion to microseconds, so odd.
2022-05-29 14:23:28 +02:00
Eladash
eec27f0e89
Revert "rsx: Fix FLIP time"
...
This reverts commit 256eb17ae5 .
2022-05-29 14:23:28 +02:00
Eladash
256eb17ae5
rsx: Fix FLIP time
2022-05-28 13:00:42 +02:00
RipleyTom
aaef4a2d5b
More verbose errors in nt_p2p_port
2022-05-27 08:56:39 +02:00
Eladash
27b28cf6ec
sys_spu: Fix spu_thread_group_terminate deadlock
2022-05-26 18:04:52 +03:00
Eladash
a9a1204ab9
sys_rsx: Full reset of flip semaphore
2022-05-25 17:36:28 +03:00
Eladash
e7ced1aeab
Debugger: Implement SPU mailbox content display
2022-05-25 17:36:28 +03:00
Eladash
56f95934f5
Fix cellVdec regression to be harmonized with the new interrupts model
2022-05-25 17:36:28 +03:00
Megamouse
88ee62be26
cellAdec: fix uninitialized default size of AVPacketHolder ( #12077 )
2022-05-25 11:40:51 +02:00
Eladash
961d41d0bd
RawSPU: Reinvoke pending interrupts if missed
2022-05-25 11:46:51 +03:00
Vestral
608f823516
sys_rsxaudio: Add id to kernel explorer and some fixes
2022-05-23 13:10:46 +02:00
RipleyTom
3dc9a8b980
fix lv2_socket_native::accept
2022-05-23 07:36:51 +02:00
kd-11
d52bb78d2c
rsx: Trivial non-blocking display synchronization
2022-05-21 16:35:35 +03:00
kd-11
e9bf3e13d0
rsx/zcull: Pause the main thread before flushing reports
2022-05-20 16:29:27 +03:00
kd-11
8cd7a44a25
gcm: Force HLE of cellGcmGetTimestamp
...
- This is the only way to know if a report is being used for ZCULL or timestamps only.
If the game is not reading the ZCULL data, the access guards will detect it and optimize usage around that.
2022-05-20 16:29:27 +03:00
kd-11
34220ec447
lv2: Make some struct declarations uniform
2022-05-20 16:29:27 +03:00
Elad Ashkenazi
5a581f46df
Add a constraint about vm area approx matching
2022-05-19 21:29:18 +03:00
Eladash
b334621d76
PPU DisAssembler: Prevent false function descriptor detection
2022-05-19 21:29:18 +03:00
Elad Ashkenazi
a768855a7a
Update PPUThread.cpp
2022-05-19 18:16:53 +03:00
Eladash
7ddeb0d00f
Implement sys_process_exit3
2022-05-19 13:59:52 +03:00
Eladash
2ba437b6dc
SPU: Implement timer freezing ability
2022-05-14 22:03:47 +03:00
Megamouse
1e1b111678
sceNp: register custom menu
2022-05-13 21:52:14 +02:00
Eladash
1f5ce4f619
Loader: Fix out-of-bounds access of string
...
There was no need to manually align size, it only creates a bug with memcpy usage.
2022-05-13 19:53:48 +03:00
Eladash
524da5dc54
LV2: Memory state post-exitspawn fixes
...
* Fix memory capacity if SDK version of the following executable differs from the original process'.
* Keep user memory containers, they are not freed at exitspawn!
Hw test 4bf60023ee
2022-05-13 13:15:07 +03:00
Eladash
a2a6303a22
PPU LLVM: Precompile system-internal executables if booting a dev_flash's program
2022-05-12 19:55:07 +03:00
Eladash
6805d8c7e0
SPU: Fix race on SPU Mailbox last value reading
2022-05-12 13:44:12 +03:00
Nekotekina
e243ef5907
PPU: implement accurate FRES
...
Implemented with an accurate lookup table.
2022-05-11 10:46:08 +03:00
doesthisusername
7b162c7513
PPU: implement quasi-accurate FRSQRTE
...
Denormals are handled like zeros.
NaN handling is inaccurate in some cases.
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2022-05-11 10:46:08 +03:00
NicknineTheEagle
1df47352cc
Implemented sceNpDrmGetTimelimit
2022-05-10 23:24:00 +02:00
NicknineTheEagle
83ca7654b1
Return NPD header in verify_npdrm_self_headers and VerifyEDATHeaderWithKLicense
2022-05-10 23:24:00 +02:00
Eladash
d03fcad9bd
cellAudio: Some bugfixes
...
* Reading position storage is 16 bytes aligned according to hw test.
* Fix cellAudioGetPortConfig portSize reporting, now matches PS3.
* Remove ghost code about unearthly 6 channels cellAudio port mode.
2022-05-10 22:39:34 +02:00
Megamouse
e494fc04e5
sceNp: add some constants
2022-05-10 21:55:35 +02:00
Eladash
d77c9139ad
Debugger: Show constant-formed attribute of register value
2022-05-10 22:34:29 +03:00
RipleyTom
4479d99a9a
Implement sceNpManagerGetTicketParam
2022-05-10 21:04:15 +02:00
Megamouse
a538f655be
sys_fs_fcntl: hook up usb device info
2022-05-10 19:39:35 +02:00
Megamouse
d83fac4247
cellAudio: fix timestamp exception
2022-05-08 02:08:20 +02:00
Megamouse
5476b9098e
cellHttp: add more errors
2022-05-07 14:46:57 +02:00
Megamouse
e5a75cfd1c
sceNpTrophyGetTrophyUnlockState: handle read_only
2022-05-07 13:58:05 +02:00
Megamouse
1f745c4588
sceNpTrophyRegisterContext: add read_only check
2022-05-07 13:58:05 +02:00
Megamouse
6c7f49d563
sceNpTrophy: don't use TROPHY.TRP in CreateContext
2022-05-07 13:58:05 +02:00
Megamouse
dae51a4a2b
sceNpTrophy: remove confirmed comment
2022-05-07 13:58:05 +02:00
Megamouse
d113324a90
sceNpTrophyRegisterContext: handle SHOW_ERROR_EXIT
2022-05-07 13:58:05 +02:00
RipleyTom
02d22dca95
Add Top Shot Elite controllers to whitelist
2022-05-05 22:33:50 +02:00
Eladash
be5f8413ca
Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised ( #11940 )
2022-05-05 22:15:08 +03:00
RipleyTom
ce48d880d9
Fix for device2host control transfers
2022-05-05 19:24:01 +02:00
Nekotekina
10b33d0f79
SPU: optimize conflicting PUTLLUC (No-TSX)
...
Enable previously TSX-only optimization.
2022-05-05 19:16:16 +03:00
Vestrel
d1e468fefb
sys_rsxaudio: Initial implementation ( #11907 )
2022-05-05 15:47:44 +02:00
RipleyTom
0ac90ac395
sys_net: ensures return from raw socket calls
2022-05-05 14:37:54 +02:00
Megamouse
fef779feca
cellRec: fix pOpt pointer type
2022-05-05 12:23:12 +02:00
Megamouse
ced890301c
cellRec: fix some warning
2022-05-05 12:23:12 +02:00
Megamouse
7d73d90c1a
cellGameExec: fix warnings
2022-05-05 12:23:12 +02:00
Eladash
fcbeb2fa22
Remove slow vm::writer_lock usage from SPUThread.cpp
2022-05-04 23:36:57 +03:00
Eladash
3dda72e47f
SPU: Cache reservation memory direct access handle (optimization)
2022-05-04 20:28:55 +03:00
Eladash
63669000ab
PPU Loader Fix removing writablity permission for RSX/SPU writable segments
2022-05-04 12:03:10 +03:00
Eladash
f9a62667cf
SPU/PPU Loader: Implement linker/PS3 compiler executable files loading
2022-05-03 20:47:36 +03:00
Megamouse
6cc1466baa
halfplement cellRec
2022-05-03 18:19:31 +02:00
Megamouse
bcd77ac65e
halfplement cellVideoExport
2022-05-03 18:19:31 +02:00
Nekotekina
0786a0a088
PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP
2022-05-03 08:27:44 +03:00
Nekotekina
5c1f79ab26
vm: remove g_mutex, use g_range_lock instead
...
Simplification and performance improvements.
2022-05-02 10:29:28 +03:00
Eladash
5eeb79ffa1
Fix forced HLE injection
2022-05-01 09:21:49 +02:00
RipleyTom
5746df4046
sceNpMatching2CreateContext checks psn state ( #11887 )
2022-04-27 22:16:16 +01:00
Megamouse
e0d3a3b0ed
cellOskDialog: do not intercept input unless we actually show a dialog
2022-04-26 00:51:38 +02:00
Megamouse
3183d73e4d
OSK/overlays: fix initial input interception
...
Don't use default interception if we already intercept with custom params.
2022-04-26 00:51:38 +02:00
Megamouse
c8700dd246
Input: log interception and its source function
2022-04-26 00:51:38 +02:00
Eladash
7329fa9cf5
TRPLoader: Use std::string_view
2022-04-25 20:15:10 +02:00
Megamouse
a1abc79f28
cellOskDialog: add event_hook_callback logging
...
And refactor the callback a bit
2022-04-25 19:44:56 +02:00
Megamouse
3d0f751211
cellMusic: lower some log levels to reduce spam
2022-04-25 19:44:56 +02:00
Megamouse
8864f944e2
cellOskDialog: implement dimmer_enabled
2022-04-25 19:44:56 +02:00
Megamouse
b29f106c51
cellOskDialog: implement base_color
2022-04-25 19:44:56 +02:00
Megamouse
71f8280c5e
cellOskDialog: implement KeyboardEventHookCallback
2022-04-25 19:44:56 +02:00
Megamouse
0ff293707a
OSK: allow device input during interception
2022-04-25 19:44:56 +02:00
Megamouse
9adab801ac
cellOskDialog: implement device mask and lock
2022-04-25 19:44:56 +02:00
Megamouse
43e7776f4d
cellOskDialog: add some error checks and TODOs
2022-04-25 19:44:56 +02:00
Megamouse
ffd36ea662
OSK: handle keyboard input
2022-04-25 19:44:56 +02:00
Megamouse
abf80cc112
keyboard: use std::array, default init, + KbButton
2022-04-25 19:44:56 +02:00
Megamouse
c175cdf3d8
cellVdec: send AUDONE even when the queue is being flushed/restarted
...
Fixes GT6 regression
2022-04-24 17:39:49 +02:00
Megamouse
7924784215
cellVdec: log sequence id of commands
2022-04-24 17:39:49 +02:00
Megamouse
06cbc96722
cellVdecStartSeq: log level warning
2022-04-24 17:39:49 +02:00
Megamouse
dcda332a93
cellVdec: send AUDONE before PICOUT
2022-04-24 17:39:49 +02:00
Megamouse
eac4e991bd
cellVdec: add callback and command id logging
2022-04-24 17:39:49 +02:00
Megamouse
9284344480
cellVdec: fix cellVdecStartSeq (restart mode)
2022-04-24 17:39:49 +02:00
Megamouse
2c03467eec
cellVdec: improve logging a bit
2022-04-24 17:39:49 +02:00
Megamouse
b67cda7cbb
cellVdec: add handle to more log messages
2022-04-24 17:39:49 +02:00
Megamouse
fb27ed4deb
libav: remove deprecated option refcounted_frames
...
According to fe85afbf8c/doc/APIchanges (L743)
this option is deprecated and obsolete for the newer send/receive logic.
Should fix runtime exceptions with newer ffmpeg versions.
2022-04-24 11:05:22 +02:00
Megamouse
8acb62f6ee
HLE: simplify some error formats
2022-04-22 20:56:21 +02:00
Megamouse
1d6fbf1c35
cellGameGetParamString: fix patch mode
2022-04-22 20:56:21 +02:00
Megamouse
f42e647430
cellVdec: use av_error_to_string
2022-04-21 22:22:33 +02:00
Megamouse
7c65c1e3aa
cellVdec: Remove irritating while loop
2022-04-21 22:22:33 +02:00
Megamouse
9f51003366
cellVdecGetPicture and cellVdecGetPictureExt swap
...
This fixes a possible issue with the error handling order.
2022-04-21 22:22:33 +02:00
Megamouse
512eb93a62
cellVdecDecodeAu: fix param check
2022-04-21 22:22:33 +02:00
Megamouse
9c919db9ae
cellVdec: fix out format line offsets
...
Fixes video output in Uncharted 2
2022-04-21 22:22:33 +02:00
Megamouse
61ada2c1dc
cellVdec: call av_dict_free
2022-04-21 22:22:33 +02:00
Megamouse
bd5bff321e
cellVdecDecodeAuEx2: some REd guesswork
2022-04-21 22:22:33 +02:00
Megamouse
ee3a302cf2
cellVdecDecodeAu: add codec type check
2022-04-21 22:22:33 +02:00
Megamouse
fb3752a8ef
CellVdecDivxSpecificInfo2 (who knows if this is correct...)
2022-04-21 22:22:33 +02:00
Megamouse
548b748f50
CellVdecPicAttr
2022-04-21 22:22:33 +02:00
Megamouse
771009f333
cellVdec: add more error logging
2022-04-21 22:22:33 +02:00
Megamouse
db731d307e
CELL_CODEC_PTS_INVALID, CELL_CODEC_DTS_INVALID
2022-04-21 22:22:33 +02:00
Megamouse
c6f3f386df
cellVdec: implement CELL_VDEC_ERROR_SEQ
2022-04-21 22:22:33 +02:00
Megamouse
e9af0bb72b
cellGameGetParamString: check_mode for category
2022-04-21 20:56:11 +02:00
Megamouse
d8bbec9594
libav: log more error codes as string
2022-04-21 08:10:01 +02:00
RipleyTom
563af4211a
sys_net: Fix race between dnshook and nc
2022-04-17 00:06:21 +02:00
RipleyTom
895af3c3ab
sys_net: SYS_NET_ENETDOWN for offline dns rqsts ( #11822 )
2022-04-16 13:00:04 +01:00
Eladash
1d51f3af0c
RSX-Debugger: Implement backwards scrolling
...
* Use 2 points of known true RSX code roots and follow them in order to peek at the current section of valid RSX code:
These roots are: current RSX instruction address and the last targeted address by a branch instruction.
2022-04-15 22:34:51 +03:00
RipleyTom
26d8120168
sys_net fixes and extra logging
2022-04-15 19:43:23 +02:00
RipleyTom
d6b0263144
sys_net fixes
...
Fix lv2_socket_p2ps::connect
Fix sys_net_bnet_poll
2022-04-14 09:18:58 +02:00
RipleyTom
91768c025c
Add some error handling to sys_usbd
2022-04-14 08:26:23 +02:00
kd-11
57aee92bfe
rsx: Separate guest flip timer from host timing operations
2022-04-13 23:39:01 +03:00
RipleyTom
4d26535758
sys_net: bind & getsockname accuracy
2022-04-12 08:58:17 +02:00
clienthax
127ad508b4
Add stubs.
2022-04-10 18:28:57 +02:00
RipleyTom
4087b4e6b9
sys_net: fix dns redirection
2022-04-10 15:12:33 +02:00
Eladash
c35da0085f
PARAM.SFO loader improvement
2022-04-10 14:31:13 +02:00
RipleyTom
f8ea50caae
sys_net: Fix return values being tagged as errors
2022-04-10 11:15:41 +02:00
Megamouse
20801615f3
cellOskDialogAbort: always send finished event
...
No idea if this is really correct, but it fixes the PS-Home OSK dialog freeze.
2022-04-10 08:38:36 +02:00
Megamouse
9279736fe6
cellOskDialog: fix cellOskDialogAbort error format
2022-04-10 08:38:36 +02:00
Megamouse
d84a0c6503
cellGameGetBootGameInfo
2022-04-10 08:38:36 +02:00
RipleyTom
c06cb4664a
Various sys_net improvements
...
Implement P2PS select
Adjust P2P sendto return value
2022-04-09 21:56:53 +02:00
RipleyTom
855b23b3fe
re-add scope to sys_net_bnet_poll
2022-04-09 20:24:08 +03:00
RipleyTom
72b2876b6a
sys_net refactor ( #11740 )
2022-04-09 14:51:22 +02:00
Megamouse
544cec0434
revert cellSysutilAvc2Load
...
I think I mistook the subfunc for the main func
2022-04-08 20:07:58 +02:00
Megamouse
bcc097718f
cellSysutilAvc2 fixes
2022-04-08 20:07:58 +02:00
Megamouse
0dc176b4f1
cellSysutilAvc2EstimateMemoryContainerSize
2022-04-08 20:07:58 +02:00
Megamouse
47401cba1f
cellSysutilAvc2: more improvements
2022-04-08 20:07:58 +02:00
Megamouse
8a2826f3a9
cellSysutilAvc2SetWindowString: add strlen check
2022-04-08 20:07:58 +02:00
Megamouse
81f8ece236
cellSysutilAvc2InitParam: remove overzealous code.
...
The function is intended as a constructor, so it doesn't make sense to check struct members
2022-04-08 20:07:58 +02:00
Megamouse
3c2cf79675
cellSysutilAvc2: more stubs and errors
2022-04-08 20:07:58 +02:00
Megamouse
a841ba4084
cellSysutilAvc2: more constants
2022-04-08 20:07:58 +02:00
Megamouse
3024026d9e
cellSysutilAvc2: format some enums
...
Makes them more readable
2022-04-08 20:07:58 +02:00
Megamouse
ee98f577e2
sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN
...
And prevent some possible segfaults
2022-03-31 23:02:35 +02:00
Nekotekina
98cee991ef
PPU: fix step execution after BP
2022-03-27 11:37:11 +03:00
Nekotekina
0a617a05d0
PPU: correct behaviour under external debugger
...
May require setting "Assume External Debugger" to true.
2022-03-26 23:09:20 +03:00
RipleyTom
a4d715e25d
Warning Fixes
2022-03-23 19:35:10 +01:00
Megamouse
ff34a73fbd
cellSaveData: CELL_SAVEDATA_FOCUSPOS_NEWDATA
...
Untested, but focus position is clamped anyway.
2022-03-18 08:09:50 +01:00
Megamouse
686d2759f4
cellMic: remove cellMicRead error spam
2022-03-12 20:48:36 +01:00
Megamouse
cd97d74f0f
cellMusic/Decode: add SelectContents functions
2022-03-08 09:02:59 +01:00
Megamouse
aafd74f9ea
cellMusicDecode: initial implementation
...
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
Megamouse
15e74357cf
cellMusic: implement qt music handler
2022-03-03 08:25:46 +01:00
Megamouse
b1a9e87ecf
cellSearch: fix cellSearchStartListSearch
...
Fixes listing BGM in Gundam.
The returned content was always empty.
Playback of the tracks will still require a MusicSelectionContext and cellMusic playback, which isn't implemented yet.
2022-02-20 21:06:46 +01:00
Megamouse
2147fe479c
cellSearch: more logging
2022-02-20 12:29:37 +01:00
Megamouse
91d7f28c67
cellSearch: log audio and video metadata
2022-02-19 14:27:47 +01:00
Megamouse
8171c7766c
cellSearch: silence irrelevant log error
2022-02-19 14:27:47 +01:00
Megamouse
3f69ceac40
cellMusic: fix cellMusicSetVolume log messages
2022-02-19 14:27:47 +01:00
RipleyTom
6bd8a93ff4
Fixes some unchecked derefs in sceNp logging
2022-02-16 17:08:58 +01:00
Eladash
e39797d860
Fix sys_fs_close FD state logging
2022-02-16 18:09:13 +03:00
Eladash
fd6c33980b
cellSaveData: Check filename format of savedata files ( #11502 )
2022-02-14 22:03:40 +03:00
Megamouse
d172b9add6
Rename CallAfter to CallFromMainThread
2022-02-07 19:42:08 +01:00
RipleyTom
987166f4da
Fix IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP
2022-02-06 20:37:12 +01:00
Eladash
e951c619c5
Implement Emulator::GracefulShutdown()
2022-02-05 11:49:29 +01:00
Vestral
107107107c
SoundTouch resampler integration
2022-01-31 21:20:57 +01:00
Hyogi Sim
3a804674c9
Fix linkage error on debug build with clang-13
...
Debug build with clang-13 fails with "undefined references" to the
static const members in spu_channel class. This patch replaces the const
definitions with constexpr constants.
2022-01-31 17:05:18 +03:00
Malcolm Jestadt
91673f8fdc
SPU LLVM: Add relaxed xfloat option
...
- This new setting is on by default
- It's active when approximate default is disabled
- Approximate xfloat is now exposed to the gui
2022-01-31 08:02:48 +03:00
Nekotekina
dba2baba9c
Implement utils::memory_map_fd (partial)
...
Improve JIT profiling dump format (data + name, mmap)
Improve objdump interception util (better speed, fix bugs)
Rename spu_ubertrampoline to __ub+number
2022-01-26 15:46:16 +03:00
Nekotekina
11ee1f3eb2
Improve JIT profiling on Linux
...
Add JIT object dumping functionality.
Add source for objdump interception utility.
2022-01-25 03:16:37 +03:00
Nekotekina
14951d8713
Fix abuse of fs::pending_file
...
Debug dumps don't fall into category which needs atomic rewrite.
2022-01-24 22:39:01 +03:00
Nekotekina
065ee621b8
Call avcodec_register_all in case of old ffmpeg
...
Apparently it's still possible to break without it.
2022-01-24 22:39:01 +03:00
Nekotekina
12c83b340d
Remove built_function
...
With today's branch prediction techniques, it's hardly useful.
2022-01-24 22:21:41 +03:00
Jan Beich
f2ed50e6b0
cellVdec: constify AVInputFormat for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:326:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("oma");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:332:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
input_format = av_find_input_format("mp3");
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Jan Beich
511ca82e30
cellAVdec: constify AVCodec for ffmpeg >= 5.0
...
rpcs3/Emu/Cell/Modules/cellAdec.cpp:325:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_ATRAC3P);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:331:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:143:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:148:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_H264);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:153:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Nekotekina
00274bb4da
PPU: port FP convert instructions to Aarch64
2022-01-21 16:07:48 +03:00
Nekotekina
a4d94a83b9
PPU/simd.hpp: minor changes in DP instructions
2022-01-21 13:57:46 +03:00
Nekotekina
0de9960772
PPU: rewrite MFOCRF+MFCR instructions
2022-01-21 12:49:52 +03:00
Nekotekina
aa7c9dd15d
PPU: rewrite LVSL/LVSR instructions
...
Make the tables endian-agnostic.
2022-01-21 00:05:40 +03:00
Nekotekina
17b1a34ebf
PPU: rewrite LVLX/LVRX/STVLX/STVRX instructions
2022-01-20 21:16:00 +03:00
Nekotekina
349f251d14
PPU LLVM: use masked stores for STVLX/STVRX
...
Drop maskmove intrinsic, not portable.
Its implicit NT hint may also hurt performance.
2022-01-20 21:16:00 +03:00
Nekotekina
327c577024
PPU: print internal interpreter build error
2022-01-20 14:42:58 +03:00
Nekotekina
b42fae0989
PPU: refactor shift and splat instructions
...
Fix utils::rol32/64 functions.
Fix immediate clamping in splat instructions.
Other fixes.
2022-01-19 23:01:31 +03:00
Nekotekina
4728478247
PPU: improve interpreter codegen
...
Implement more sensible check for EVEX prefix and SSE
2022-01-18 04:20:06 +03:00
Nekotekina
4704367382
Remove unnecessary asmjit::imm_ptr
2022-01-18 00:10:32 +03:00
Nekotekina
14cca55b50
PPU: refactor vector rounding instructions
...
Fix: nearbyint -> roundeven
2022-01-18 00:10:32 +03:00
Nekotekina
248f9424ac
PPU: refactor VPack instructions
2022-01-18 00:10:19 +03:00
Nekotekina
b404d37eb0
PPU: more interpreter refactoring (VPERM)
...
Notably, runtime-built SSSE3 version of VPERM.
Some other instructions are refactored and vectorized.
Aarch64 impl of multiple instructions including VPERM.
2022-01-18 00:10:19 +03:00
RipleyTom
58fdf58150
Force close socket in sys_net_bnet_close
2022-01-17 21:27:20 +01:00
Nekotekina
22240777aa
PPU Interpreter: fix accuracy flag dispatch
2022-01-16 01:00:37 +03:00
Nekotekina
f95395b351
PPU LLVM: improve accuracy of VSL/VSR
...
Passes tests, should now be equal to interpreter.
2022-01-15 21:13:31 +03:00
Nekotekina
df24cff0b1
PPU LLVM: fix VMINFP and VMAXFP accuracy
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
6dda047128
PPU LLVM: fix VNMSUBFP sign handling
...
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina
e9efa73eed
PPU: restore previous NJ mode handling option
...
Fix the divergence between PPU Interpreter and LLVM.
2022-01-15 17:36:57 +03:00
Nekotekina
580bd2b25e
Initial Linux Aarch64 support
...
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
Eladash
a60cee6536
Update PPUTranslator::MTFSFI for its intention to be clearer
2022-01-12 03:37:39 +03:00
kd-11
d874ca5d8c
cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO
2022-01-10 12:27:30 +03:00
Vestrel
1adc408ad7
More sys_uart packets ( #11332 )
...
* Additional sys_uart packets added
2022-01-10 03:43:54 +03:00
Vestral
9766d87126
cellAudio: fix enqueued samples computation
2022-01-07 09:48:51 +01:00
clienthax
350257e1a4
Fcntl 0xc0000007, 0xc0000015, 0xc000001c
2022-01-04 22:47:06 +03:00
Florin9doi
0e07d3c58f
USB: Improve SingStar emulation
2022-01-04 18:03:23 +01:00
Malcolm Jestadt
31a5a77ae5
SPU: Use REP MOVSB in do_dma_transfer
...
- Try to use REP MOVSB when the size of the transfer is above a certain threshold
- This threshold is determined by the ERMS and FSRM cpuid flags
- The threshold values are (roughly) taken from GLIBC
- A threshold of 0xFFFFFFFF indicates that the cpu has neither flag
2022-01-02 21:35:46 +03:00
Megamouse
1c014299eb
HLE: fix some types
2022-01-02 18:18:31 +03:00
Nekotekina
cb2748ae08
Update ASMJIT (new upstream API)
2021-12-29 02:45:00 +03:00
clienthax
6837370a62
Handle SYS_NET_IPPROTO_IP get/setsockopt
...
Improve net logging.
Should allow latest vsh to load (Depending on windows version apparantly..)
2021-12-27 20:58:09 +03:00
Nekotekina
d836033212
LLVM: enable some JIT events (Intel, Perf)
...
Made some related adjustments.
Currently incomplete.
2021-12-26 16:41:37 +03:00
Eladash
6ee9d0f35f
sys_rsx: Outlaw mapping sys_vm memory to RSX IO address-space
2021-12-25 02:22:49 +03:00
Nekotekina
dcd011048d
Implement "built_function" utility (runtime-generated assembly)
...
Similar to build_function_asm, but links without indirection.
Achieved by emitting code directly into a byte array.
2021-12-22 19:27:20 +03:00
Nekotekina
c0bafbc804
TSX: enable same data optimization for PUTLLC
2021-12-19 20:23:01 +03:00
Nekotekina
61c64d1060
TSX: refactoring M
...
Remove first stage 'optimistic' transactions.
2021-12-19 20:23:01 +03:00
Nekotekina
3e1e1a683c
TSX/PPU: fix conditional store regression
2021-12-17 21:48:01 +03:00
Megamouse
cc21d1b3cf
cellSaveData: prevent some potential crashes due to corrupt files
2021-12-14 20:30:47 +01:00
Malcolm Jestadt
2f93df480b
SPU LLVM: Disable affineqb shufb paths temporarilly
2021-12-10 19:32:10 +03:00
Megamouse
68466f05b6
cellAudio: move some stuff to cpp
2021-12-09 01:46:44 +01:00
Megamouse
e6b4655142
cellAudio: use members instead of config values
2021-12-09 01:46:44 +01:00
Nekotekina
8abd3e8bb4
PPU LLVM: fix bitcast usage to enable constant folding
2021-12-07 15:35:51 +03:00
Megamouse
a4ad0a9468
cellVideoOutConfigure: treat unknown aspect as AUTO
2021-12-06 20:50:57 +01:00
Malcolm Jestadt
0617e9e14b
SPU LLVM: Fix vgf2p8affineqb usage
...
- Reverse the order of the bytes in the selection masks. Previously it was assumed that byte 0 would determine the output of bit 0, but byte 7 determines the output of bit 0.
2021-12-06 12:34:11 +03:00
Nekotekina
e3e39e8de3
PPU LLVM: rewrite and optimize saturation bit
...
Use vector accumulator
2021-12-03 00:14:06 +03:00
Nekotekina
209b14fbac
PPU LLVM: inline remaining vector instructions
2021-12-03 00:14:06 +03:00
Nekotekina
04c9d01390
PPU LLVM: modernize most vector instructions
...
Rewritten VSUM instructions:
VSUMSWS, VSUM2SWS, VSUM4SBS, VSUM4SHS, VSUM4UBS
2021-12-03 00:14:06 +03:00
Nekotekina
c9d8e59dbf
PPU LLVM: allow to drop setting SAT flag (optimization, module-wide)
...
Implement ppu_attr::has_mfvscr (partially, module-wide search).
If this instruction isn't found, allow to drop setting SAT flag.
It's based on presumption that only MFVSCR can retrieve SAT flag.
2021-12-03 00:14:06 +03:00
Nekotekina
86b194014b
PPU LLVM: rewrite more packing instructions
...
Rewritten VPKUHUM, VPKUHUS, VPKUWUM, VPKUWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
e7c827f73b
PPU LLVM: rewrite some packing instructions
...
Rewritten VPKSHSS, VPKSHUS, VPKSWSS, VPKSWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina
abe498f35c
PPU LLVM: modernize some code with new DSL
...
PPU: rewritten instructions VMHADDSHS, VMHRADDSHS
PPU: added optimized path for VPERM (ra=rb)
2021-12-03 00:14:06 +03:00
DH
2981867375
sys_spu_thread: Removed unused field access
2021-12-02 21:36:57 +03:00
Eladash
0ab36ef44d
sys_spu: Implement SPU image segment info checks ( #11211 )
2021-12-02 13:17:10 +03:00
Megamouse
474baca6d8
rsx: default initialize RsxDisplayInfo
2021-12-01 21:55:53 +01:00
Megamouse
88d0b7d135
cellAvconfExt: add some trivial param checks
2021-12-01 21:55:53 +01:00
Megamouse
aea1ec2594
avconf: Add const to fxo references
2021-12-01 21:55:53 +01:00
Megamouse
c8d4a0dcdc
VK/GL: honor game's aspect ratio when scaling
2021-12-01 21:55:53 +01:00
Vestral
e5005597fe
CellAudio fixes
2021-11-29 20:43:00 +01:00
RipleyTom
4fe17fcecf
sys_usbd improvements ( #11202 )
2021-11-27 01:49:35 +00:00
RipleyTom
5e158bd3f2
Impl sys_usbd_get_device_location
2021-11-25 00:53:00 +01:00
clienthax
2b924175aa
Emulated v406 usio
2021-11-24 21:59:48 +01:00
Vestrel
37a722cc1d
Audio backend improvements
...
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
clienthax
4c0ef37a5c
Stub uvc camera init
2021-11-23 23:41:13 +01:00
Eladash
c52d447381
sys_fs: Place all path-format checks upfront, implement more checks
2021-11-22 21:03:07 +03:00
Eladash
524b065bc8
Debugger: Show PPU reservation data
...
Asterisk marks the offset of data that had been given to the guest PPU code.
2021-11-22 14:48:34 +03:00
Eladash
f7b55ec8d4
lv2: Add missing reservation disowning in lv2_obj::yield
2021-11-22 14:48:34 +03:00
Megamouse
22e3075c64
cellSaveData: always log setList and setBuf
...
For debugging
2021-11-20 08:43:46 +01:00
Megamouse
09ead539a5
improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT
2021-11-20 08:43:46 +01:00
RipleyTom
22910c02a9
Implement sceNpManagerGetPsHandle ( #11164 )
2021-11-17 18:02:01 +00:00
Megamouse
026efd96b2
cellKbCnvRawCode: use proper constants
...
and comment out unreachable code
2021-11-16 09:31:16 +01:00
Megamouse
f6af5ff13a
cellRtcGetDaysInMonth: fix param check
2021-11-16 09:31:16 +01:00
Megamouse
0d7b7585a8
Some typo/warning fixes
2021-11-16 09:31:16 +01:00
Megamouse
26475f8f40
cellGem: add comment about hack
2021-11-16 01:38:33 +01:00
Megamouse
7dc3a50ddf
Fix headless mode
2021-11-14 17:07:18 +01:00
Eladash
cfe08de951
Account empty EDAT ( #11146 )
...
* Improve sys_fs_open logging
2021-11-14 02:15:27 +03:00
Eladash
48ad959697
sys_event: Fix PPU queue forced uproot of waiters ( #11147 )
2021-11-13 20:22:54 +03:00
Malcolm Jestadt
3fde455932
SPU LLVM: Optimize branch following ORX
...
- test the input of ORX directly for zeroes, instead of the result
2021-11-11 12:58:38 +03:00
RipleyTom
50bf528f3f
NP: add signaling_handler wakeup on connect queue
2021-11-10 12:43:45 +01:00
RipleyTom
dc0793b731
NP: Implement sceNpMatching2DeleteServerContext
2021-11-08 13:10:40 +03:00
RipleyTom
c194804fec
NP: Implement sceNpBasicGetFriendListEntry
2021-11-08 13:10:40 +03:00
RipleyTom
d41e405420
NP: Cache Manager + improvements
2021-11-08 13:10:40 +03:00
RipleyTom
516cb959cb
rpcn: new allocator + refactoring of np_handler
2021-11-08 13:10:40 +03:00
Nick Renieris
b70f08d850
The Velocity Improvements: RoomData/RoomMemberData commands & fixes
...
modules/np2: Correct some SceNpMaching2 ptr type endianness
np/handler: Use STL .contains() method
Ignore USECRYPTO & USESIGNATURE in recvfrom/sendto
Implement RoomData/RoomMemberData commands
2021-11-08 13:10:40 +03:00
Malcolm Jestadt
7573d7289b
SPU LLVM: Hook up 128 bit spu verification
...
- Also fix FMA enablement for sapphirerapids
2021-11-06 21:12:12 +03:00
Megamouse
af3ef02ca0
fix npDrmIsAvailable
2021-11-04 21:41:07 +01:00
Eladash
c49ebba648
Fixes of PS3 filesystem EDAT/SDAT handling
...
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
Nekotekina
69f321a471
LLVM 13
2021-11-02 20:11:08 +03:00
Malcolm Jestadt
37383f4217
SPU ASMJIT: Disable 512 wide spu verification
...
- Apparantly this crashes every game.
2021-11-01 20:04:26 +03:00
Eladash
b84e95d768
rsx: Fixate time stamp of VBLANK
2021-11-01 10:04:53 +01:00
Eladash
646ad3eed4
SPU DisAsm: Force decimal point insertion for constant floats
2021-10-30 21:33:06 +02:00
Eladash
a90376a7c4
SPU DisAsm: Print SPU floats
2021-10-29 19:15:21 +02:00
capriots
ac300c7356
Correct channel order
...
Documentation says the order is Front L, Front R, Center, LFE, Surround L, Surround R, Rear L, Rear R
2021-10-27 10:24:02 +03:00
Megamouse
2af2db2cbf
Lower some log spam
...
These functions probably aren't perfect, but they spam a lot of unnecessary log messages.
2021-10-27 00:25:27 +02:00
Megamouse
be972f04ac
cellGem: hook up camera
2021-10-24 15:01:43 +02:00
Megamouse
e67cf68321
cellCamera: fix compilation on linux
2021-10-24 11:32:35 +02:00
Megamouse
77f6db2543
cellCamera: fix some typos (fixes camera attachment in Kung Fu Live)
2021-10-24 11:32:35 +02:00
Megamouse
67ba381dfe
cellCamera: fix qt camera handler format
2021-10-24 11:32:35 +02:00
Megamouse
9a6285942b
cellCamera: fix buffer allocation
2021-10-24 11:32:35 +02:00
Megamouse
214c1ccc7e
cellCamera: move camera handler interaction to seperate functions
2021-10-24 11:32:35 +02:00