Nekotekina
65eeee0f4c
Remove cancerous lf_value<>
...
Replace thread names (generic, PPU, SPU) with new shared pointers.
Devirtualize cpu_thread::get_name (used in single case).
2020-02-28 18:54:46 +03:00
Eladash
30f7c81cc5
cellSaveData: Implement/Fix param error 22 for funcFile, funcDone, funcFixed and funcList
2020-02-28 16:47:51 +01:00
Ivan
e133c7a7dc
Merge pull request #7506 from elad335/patch-1
...
PPU exec/ovlm ldr: restrict allocations
2020-02-27 22:55:30 +03:00
Eladash
0eabfdcadd
cellSavedata: reset padding of g_savedata_context
2020-02-27 22:31:31 +03:00
Eladash
d86241bbcd
cellSaveData: reset fileSet and fileGet->reserved everytime
2020-02-27 22:31:31 +03:00
Eladash
42a0512c66
cellSaveData: Avoid passing vm pointer to native API
2020-02-27 22:31:31 +03:00
Eladash
556aba46b5
cellSaveData: do not fail on empty directory
2020-02-27 22:31:31 +03:00
Megamouse
ee46ad1ca9
move overlays code to headers
2020-02-26 23:43:18 +01:00
gamerforEA
762c106e19
sys_prx_.cpp: Fix RAII locks usage (without local variables they destroyed immediately after construction)
2020-02-27 00:38:55 +03:00
gamerforEA
93552a5958
Apply some Clang-Tidy fixes
2020-02-27 00:38:55 +03:00
Eladash
4d3cdca7f6
Stub sys_spu_thread_group_set_cooperative_victims and syscall_253
2020-02-26 18:17:13 +00:00
Eladash
0d4f8ca234
fs: Make fs::get_dir_size able to report an error
2020-02-26 18:17:13 +00:00
Megamouse
2341749485
overlays: add overlay_osk.h
2020-02-25 21:57:49 +03:00
Nekotekina
b59bb16fad
Threads: removed outdated on_abort detection deemed unnecessary
...
May cause regressions.
2020-02-25 15:48:25 +03:00
Megamouse
f7666f44da
Untangle GUI and input includes
2020-02-24 16:31:01 +01:00
Nekotekina
1dc2eb1cc8
Avoid deprecated av_register_all with version check.
2020-02-23 20:58:02 +03:00
Emmanuel Gil Peyrot
1a702de9e4
cellVdec: replace deprecated ffmpeg function
...
avcodec_decode_video2() is deprecated, now replaced with
avcodec_send_packet() and avcodec_receive_frame().
2020-02-23 20:21:59 +03:00
Nekotekina
f1241c572c
Fix some deprecation warnings (plunder cellAdec btw)
2020-02-23 20:21:59 +03:00
JohnHolmesII
9b7d28b5dd
cellSaveData.cpp: Use ref instead of copy
2020-02-23 09:38:04 +03:00
JohnHolmesII
479a64c4e8
Remove some inline compiler pragmas
2020-02-23 09:38:04 +03:00
AniLeo
fa3fde7a29
hle: Fix cellAvconfExt function registrations
...
Co-authored-by: Clienthax <clienthax@gmail.com>
2020-02-22 17:27:58 +03:00
AniLeo
3aa293a7a3
hle: cellAuthDialog
...
Basic RE of cellAuthDialog, stubs functions
2020-02-22 16:03:14 +03:00
Nekotekina
96be40bf30
Implement cellMsgDialog closing thread
...
Fixing deprecation warning.
2020-02-22 15:17:02 +03:00
Eladash
24d3e2b2b8
cellGameDataCheckCreate(2): More improvements
...
* IsNewData is false only if PARAM.SFO exists.
* Don't create directory on error (setParam == nullptr && isNewData).
* Return CELL_GAMEDATA_ERROR_BROKEN if PARAM.SFO exists on target directory yet is not from GD category.
2020-02-21 21:15:55 +03:00
Nekotekina
5e75a0c497
Disable cotire on travis
...
Make some workarounds for clang because it poorly supports -Wold-style-cast
2020-02-21 17:03:54 +03:00
Nekotekina
972e0ab31d
Remove -Wno-reorder and make it an error
2020-02-21 15:20:34 +03:00
Eladash
54f2c27ba0
cellGameDataCheckCreate(2): Set nullptr in setParam
...
* setParam is nullptr by default.
* if setParam is null and it's new data, return error code.
2020-02-21 14:49:45 +03:00
Eladash
0ba1f8f4ef
Fix cellDiscGameGetBootDiscInfo on error
...
* Always set first dword to 0, other bytes are untouched,
2020-02-21 14:49:45 +03:00
Eladash
4d7e53d7a0
cellGameDataCheckCreate(2): Check dirName
2020-02-21 14:49:45 +03:00
Eladash
0c757222cb
Minor improvements to sys_ss_random_number_generator
...
* Replace CELL_EABORT with exception.
* Improve error codes a bit.
* pkg_id == 1 should not return an error if root permission is present.
* Avoid passing vm pointers to native API, use temp buffer instead.
2020-02-21 14:49:45 +03:00
Eladash
dd85e733d3
Fixup for #7304
2020-02-20 20:31:56 +03:00
Nekotekina
92e3eaf3ff
Fix signed-unsigned comparisons and mark warning as error (part 2).
2020-02-19 22:54:58 +03:00
Nekotekina
771eff273b
First part of fixing sign-compare warning (inside be_t).
2020-02-19 22:54:58 +03:00
Eladash
6de91a1691
HLE cellGcmSys: Make IOTable accurate
...
Affects cellGcmAddressToOffset when using addresses above 0xC0000000
2020-02-19 18:11:30 +00:00
Eladash
1aa11440e0
HLE cellGcmSys: Make cellGcmUnmapEaIoAddress accurate
2020-02-19 18:11:30 +00:00
Eladash
df8d0cde4a
RSX/SPU: Accurate reservation access
2020-02-19 18:11:30 +00:00
Eladash
f02b4801b2
Fix max SPURS threads regression
2020-02-18 19:20:40 +00:00
Eladash
727d783959
RawSPU: protect NPC from writes/reads in running state
2020-02-18 18:09:10 +00:00
Eladash
fad8b38b28
sys_spu: protect sys_spu_image members in kernel mode
...
Save relevant info in idm, set sys_spu_image segs and nsegs members to 0.
2020-02-18 18:09:10 +00:00
Nekotekina
8a176de6a1
Restore -Wenum-compare and fix some [=] warnings
2020-02-18 17:37:30 +03:00
Nekotekina
c48ceafc15
sys_sync.h: fix warning (signed prio)
2020-02-18 14:53:23 +03:00
Nekotekina
ee6494c14b
Use strcpy_trync in cellAvConfExt.cpp (silence warnings)
2020-02-18 14:53:23 +03:00
Nekotekina
f08c778d2c
Use more starts_with/ends_with.
...
Remove ends_with global func.
2020-02-18 14:53:23 +03:00
Nekotekina
244e74ebe2
Try to ignore some annoying warning (seems CIB)
2020-02-17 20:56:03 +03:00
Megamouse
fe75311be2
move config structs to own files and clean up some headers
2020-02-17 15:08:17 +03:00
Eladash
812d03894b
PPU exec/ovlm ldr: restrict allocations
2020-02-16 22:48:23 +02:00
Eladash
c1bdaccd8c
sceNpTrophyRegisterContext: Fix off by one progress callbacks count
2020-02-15 23:32:29 +01:00
Eladash
4421831c8b
sceNpTrophyRegisterContext: Fix values passed to first callback
2020-02-15 23:32:29 +01:00
Eladash
d03804b523
Fix sceNpTrophyGetTrophyInfo
...
* Only writeback data on success.
* Fix a typo on error code of invalid trophy ID.
2020-02-15 23:32:29 +01:00
Eladash
299af768e8
HLE cellGcmSys: Make cellGcmAddressToOffset accurate
2020-02-15 14:07:52 +03:00
Eladash
04e0bf2eff
Whitespace fix after #7087
...
Was this close to enter programmers' hell.
2020-02-15 11:37:13 +03:00
Eladash
cdda19c79f
Fix recursive locking in sceNpTrophyUnlockTrophy
2020-02-15 10:41:15 +03:00
Eladash
fa9330d0e0
Log returned reqspace in sceNpTrophyGetRequiredDiskSpace
2020-02-15 10:41:15 +03:00
Eladash
ddeb39d8de
HLE cellGcmSys: Fix unmapping
2020-02-14 17:11:26 +03:00
Eladash
78c49e7331
cellSearch: another memory access fix
2020-02-12 20:02:18 +03:00
Eladash
9760053c8c
cellSearch: Fix id memory access ( #7476 )
2020-02-12 18:17:45 +03:00
Silent
3006b003c4
Implement links as a cellSearch specific concept
...
Linking in VFS is done only from cellSearchPrepareFile and works
by mounting virtual files to host FS files
2020-02-12 12:49:02 +03:00
Silent
e30637351e
Move SearchState to a fxo object so it resets with emulation
2020-02-12 12:49:02 +03:00
Silent
d2b83c69bb
cellSearch updates from Brolijah
...
Co-authored-by: Brolijah <brolijahrh@gmail.com>
2020-02-12 12:49:02 +03:00
Eladash
bdab26ec09
rsx: rewrite io mappings
...
Along with some with fixes to cellGcmSys HLE.
2020-02-10 21:39:39 +00:00
RipleyTom
98f91457bf
Small sys_usbd changes
2020-02-10 21:47:48 +03:00
Nekotekina
4bc431ec31
Silence deprecation warning (implicit capture of this on [=])
2020-02-10 14:47:12 +03:00
Eladash
80eff58950
cellAudio: Implement cellAudioSet/RemoveNotifyEventQueueEx
2020-02-09 12:31:55 +00:00
Eladash
1915fe75a4
VSH: Stubs
2020-02-08 23:07:03 +03:00
Eladash
9d1bb60ad7
cellGcm HLE: fix cellGcmMapMainMemory
...
Fix arguments order, softcode RsxReports::report offset.
2020-02-08 22:18:56 +03:00
Eladash
629eddfb9f
sceNpTrophy: Implement SCE_NP_TROPHY_ERROR_CONTEXT_NOT_REGISTERED
2020-02-08 11:11:59 +00:00
Eladash
1f94c8f272
sceNpTrophyGetGameProgress Fix
2020-02-08 11:11:59 +00:00
eladash
f901846acb
RawSPU: execute MFC proxy cmd after reading CMDStatus
...
Implement MFC proxy argument sequence checking.
2020-02-06 20:43:38 +00:00
Eladash
37513b1898
SPU reservations: Do not access violate under vm::writer_lock
...
TODO: Throw exception when encountering page faults notification enabled memory
2020-02-06 00:27:17 +00:00
Eladash
f8b3c48af7
sys_spu: Implement proper SPU group flags ( #7320 )
...
* sys_spu: Implement proper SPU group flags
2020-02-05 20:46:05 +00:00
Eladash
049e392a97
Make preferred spu threads dynamically adjustable
2020-02-05 10:06:07 +00:00
Nekotekina
c0f80cfe7a
Use attributes for LIKELY/UNLIKELY
...
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Eladash
49e11b7cfd
cellVdecQueryAttrEx: Add some error checks for MPEG2
2020-02-05 05:01:07 +00:00
Eladash
6a32ceaab5
cellVdecQueryAttrEx: Add workaround for codec specific info
2020-02-05 05:01:07 +00:00
Eladash
acc7320cae
Fix cellVdecGetPicItem
...
Fix potential overflow, race condition and correctness fixes for picInfo_addr
2020-02-05 05:01:07 +00:00
Eladash
e9e8f0c5b7
cellGame: report not found sfo params
2020-02-04 18:29:52 +03:00
Eladash
cb52ee0a4d
cellGame: report fs::remove_all failure
2020-02-04 18:29:52 +03:00
Eladash
4488312e81
Avoid out of memory with cellGameGetParamString
2020-02-04 18:29:52 +03:00
Nekotekina
f9a8efe406
SPU LLVM: gisable NewGVN pass
...
It goes into an endless loop with memory leak for some reason.
2020-02-03 11:16:03 +03:00
Eladash
e57c01907e
cellVdec: Improve cellVdecQuery and cellVdecOpen
2020-02-02 09:01:32 +03:00
InvoxiPlayGames
c1180d76dd
sys_usbd: Fix bug preventing multiple USB devices
2020-02-01 12:34:42 +03:00
Nekotekina
6dfd97f0b6
Modernize SPU logging (spu_log variable) and remove log legacy
...
Remove legacy macro (LOG_ERROR, etc)
2020-02-01 11:52:52 +03:00
Nekotekina
327bb2d8f0
Modernize PPU logging (ppu_log variable)
2020-02-01 11:52:24 +03:00
Nekotekina
21f7b0ff0f
Remove HLE log channel
2020-02-01 11:52:24 +03:00
Nekotekina
15391f45d0
Modernize RSX logging (rsx_log variable)
2020-02-01 11:52:22 +03:00
Nekotekina
3eca2d5d6c
Remove legacy LOADER log channel
2020-02-01 07:49:38 +03:00
Nekotekina
1d0f359406
logs: add more log channels instead of GENERAL
2020-01-31 16:44:48 +03:00
Nekotekina
007a7a5859
Fixup for LOG system.
...
Register all channels at program initialization and allow duplicates.
2020-01-31 12:09:52 +03:00
Eladash
92466165f6
Increase Maximum Vblank Rate and Clocks Scale
...
Allow x30 times the speed of vblank rate + clocks scale of original PS3.
In theory a 60 fps limit game which scales frame limit perfectly with vblank rate can be played at up to 1800 fps with this change.
And:
* Fixed lv2 sleep with Clocks Scaling
* Make these settings dynamicaly adjustable.
* Avoid code duplication
2020-01-29 21:42:41 +01:00
Malcolm Jestadt
ad8988afd3
Embedded SPU elf patching
...
- PS3 games include both PPU and SPU code in their PPU executables, so to make patching games that make use of the same SPU libraries easier, we add a system to find and patch them.
- Patches for this system still use SPU LS (Local Storage) addresses despite the fact that we aren't loading anything into SPU LS at this time. The patches are checked against each segment and patched in place.
2020-01-28 02:13:37 +03:00
Ivan
7f07b79c04
Partial revert of #7180
...
PC is PS
2020-01-27 07:05:18 +03:00
RipleyTom
610a6a1404
Increases number of buffers when buffering
2020-01-27 02:13:30 +00:00
Eladash
a7aef22754
ppu: Log SELF header information and CIA of caller HLE functions
2020-01-27 01:21:40 +00:00
Eladash
4e0070f16d
Log sys_spu thread group and thread names
...
Also safely read thread name after relevant error checks passed.
2020-01-26 20:32:10 +00:00
Eladash
7ae679adbe
Fix logging of ppu name in sys_ppu_thread_create/rename
2020-01-26 20:32:10 +00:00
Eladash
d481c3c7fd
cellGameGet/SetParamString: Implement CELL_GAME_ERROR_NOTSUPPORTED
2020-01-26 20:32:10 +00:00
Eladash
a9162a3f57
SPU LLVM: Improve approximate FCMGT
2020-01-26 18:37:07 +00:00
Eladash
e4ba096190
VSH: sys_mmapper
...
* Implement syscalls sys_mmapper_allocate_shared_memory_ext, sys_mmapper_allocate_shared_memory_from_container_ext.
* Implement multi-process shared memory allocations.
2020-01-24 20:08:30 +00:00
Eladash
46df58b662
sys_usbd: Add error_code
2020-01-24 19:25:52 +00:00
Eladash
95ed2ef62e
cellGcm HLE: Add error_code
2020-01-24 19:25:52 +00:00
Megamouse
3f076d63e3
HLE: add error checks to cellAudioInGetDeviceInfo
2020-01-23 10:50:55 +01:00
Megamouse
3e8a5c6395
HLE: add some more constants
2020-01-23 10:50:55 +01:00
Megamouse
18f167ddd0
HLE: Fix error checks in cellAudioInRegisterDevice
2020-01-23 10:50:55 +01:00
Maksim Derbasov
1abdee242a
small improvement ( #7288 )
...
* small improvement
* comments addressed
Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-22 12:28:48 +00:00
Eladash
949cfa7fdb
Fix cellVdecSetFrameRate error check
2020-01-21 16:45:41 +03:00
Eladash
fe381b8581
SPU: Add SPU LS to debugger
2020-01-21 16:45:41 +03:00
Eladash
160ddcf86b
SPU: Minor FREST bugfix
2020-01-21 16:45:41 +03:00
Eladash
f05a3da964
Fix lv2_file::op_write regression
2020-01-21 16:45:41 +03:00
Nekotekina
ddda09607d
SPU: fixup for STOP 0w0
2020-01-21 16:32:00 +03:00
Eladash
9993df9b8b
RawSPU: fix race between spu start and stop
...
This race could lead to spu status bits indicate RUNNING status, but cpu state being stopped.
Fix it by making sure cpu state is set before spu status.
2020-01-21 14:08:39 +03:00
Nekotekina
98a8eeaac2
SPU: properly support STOP 0x0 instruction
2020-01-20 23:40:10 +03:00
Nekotekina
3617f12a1e
sys_fs: avoid possible out of memory on file reads/writes
...
Use fixed-sized intermediate buffer.
2020-01-20 16:00:20 +03:00
Nekotekina
63f67c88cc
sys_fs: better stub sys_fs_fcntl(0xc0000006)
...
This syscall does something to classify filesystems by mountpoint.
2020-01-20 16:00:20 +03:00
Nekotekina
1b1b804d7e
sys_fs: add /dev_flash mountpoint
2020-01-20 16:00:20 +03:00
Nekotekina
55cb96ab3b
sys_fs: fix CELL_EIO condition in cellFsReadWithOffset
2020-01-20 16:00:20 +03:00
Megamouse
5ef3465f65
cellVdec: (experimental) allow AV_PIX_FMT_YUVJ420P
2020-01-20 00:33:25 +01:00
Megamouse
9a27cc9442
cellVdec: improve error checks
2020-01-20 00:33:25 +01:00
Megamouse
4dbad6cce6
fix some random warnings
2020-01-19 16:38:17 +01:00
Eladash
b07b5c9005
Fix sys_spu_thread_initialize for attr->name_len is 0 and attr->name is not null
...
If name_len is 0 name is empty, in any other case name is not empty (attr->name == nullptr isn't allowed in this case).
Check name_len and option for invalid values as fw.
2020-01-18 18:46:13 +03:00
Eladash
9d15083c61
Fix sys_ppu_thread_create/rename thread name range
2020-01-18 18:46:13 +03:00
Eladash
14b99d9e8b
Write nread/nwrite in cellFsWrite/Read regardless of error checks
2020-01-18 15:56:05 +03:00
Nekotekina
e2512e78b6
sys_fs: always close locked file in sys_fs_close
...
Syscall returns EBUSY but succeeds nevertheless.
2020-01-17 00:24:07 +03:00
Nekotekina
a005090d3d
sys_fs: use constant in sys_fs_disk_free
2020-01-17 00:24:07 +03:00
Eladash
c9b0f0e734
SPU: Fix FREST
2020-01-16 23:42:50 +03:00
Eladash
9084209cfc
Update cellVdecSetFrameRate error checking
2020-01-15 23:29:32 +01:00
Eladash
1ccb3c4492
rsx: Verify local memory offset
2020-01-15 13:23:56 +03:00
Eladash
01035d35bd
sys_process: Fix sys_process_get_id, add error_code ( #7246 )
2020-01-14 21:32:41 +03:00
Megamouse
be2d225d96
sceNpTrophy: deny unlocking of platinum trophies
2020-01-13 22:50:05 +01:00
Eladash
765bd6b6c6
SPU: Optimize gpr reset for MSVC
2020-01-11 22:56:46 +03:00
Nekotekina
aeed349a99
sys_fs: adjust permissions for /dev_bdvd
...
Remove write permissions returned by stat, fstat, etc.
Also make sys_fs_open return CELL_EPERM on write attempt.
2020-01-11 04:48:42 +03:00
Nekotekina
8447d75dda
sys_fs: improve sys_fs_lsn_lock
...
It appears it does nothing only on /dev_hdd0 or /host_root (HOSTFS).
2020-01-11 03:44:52 +03:00
Nekotekina
fc6356a74c
sys_fs: adjust /dev_bdvd block size
...
From test.
2020-01-11 03:05:26 +03:00
Nekotekina
87cd653c6e
sys_fs: improve sys_fs_disk_free
...
Fix error codes and arg checks.
2020-01-11 01:10:50 +03:00
Nekotekina
7e35fd54a8
sys_fs: improve sys_fs_fcntl(0xc0000002)
...
Always obtain free space on /dev_hdd0.
2020-01-11 01:09:30 +03:00
Nekotekina
582ee80552
sys_fs: correct block size for /dev_hdd1
2020-01-10 05:24:43 +03:00
Nekotekina
0b4b87f069
sys_fs: fix sys_fs_get_block_size
...
Don't check file existence on /dev_hdd0.
Relax check on some mountpoints.
Fix CELL_EISDIR error condition.
2020-01-10 05:19:18 +03:00
Nekotekina
a8e1afa0af
sys_net: fix sys_net_bnet_select arg check (nfds)
2020-01-10 03:21:27 +03:00
Eladash
71df5044fc
sys_vm_get_statistics: Write timestamp
2020-01-09 20:43:03 +00:00
RipleyTom
4a5559ee65
Add buzz controllers to usb whitelist
2020-01-09 07:51:16 +00:00
Nekotekina
7523416a12
sys_fs: return CELL_ENOTSUP in sys_fs_fcntl(0xc0000006)
2020-01-09 04:15:20 +03:00
Nekotekina
9075208c80
sys_fs: fix logging in sys_fs_get_block_size
2020-01-09 04:15:20 +03:00
Nekotekina
d477889763
sys_fs: fix mountpoint detection
2020-01-09 04:15:20 +03:00
Nekotekina
f5cb147f8d
sys_fs: improve sys_fs_get_block_size values
...
Affected other syscalls:
sys_fs_fget_block_size
sys_fs_stat
sys_fs_fstat
sys_fs_fcntl (cellFsGetDirectoryEntries, cellFsGetFreeSize)
For default values:
Return sector_size = 512.
Return 4th arg = 512.
Fod /dev_bdvd:
Sector size = 2048.
Block size = 2048.
2020-01-07 23:16:17 +03:00
Nekotekina
63e669c0cf
sys_fs: fix sys_fs_fget_block_size
...
Return flags via last argument.
2020-01-07 21:55:19 +03:00
Nekotekina
9c54305e10
sys_fs: disable sys_fs_lsn_lock/unlock
...
According to test, nothing seems to happen.
Disable CELL_EBUSY errors associated with Stream Support API.
2020-01-07 21:55:19 +03:00
Nekotekina
f3d52de429
sys_fs: Adjust flags of /app_home mountpoint
2020-01-07 21:55:19 +03:00
kd-11
ad845861be
video: Remove pointless aspect ratio option
...
- The auto option is used when requesting the system is works like a
"dont care" specifier to tell the system to use what settings have been
passed in by HDMI EDID or the user TV type setting. Since this option
simulates the "TV type setting", auto makes no sense and is also not
something you can select on a PS3.
- Also adds a few missing checks.
2020-01-07 15:56:54 +03:00
Nekotekina
55f9a56e45
Fix sys_tty_write (UTF-8 encoding of literals)
2020-01-06 23:23:04 +03:00
Megamouse
632cc79c54
cellGame: add more checks
2020-01-06 10:47:13 +01:00
Megamouse
e7845357e2
sceNpTrophy: unlock platinum trophies
2020-01-05 19:47:31 +01:00
Nekotekina
4450ae0c7a
sys_fs: fix CELL_FS_O_APPEND emulation
...
Don't use fs::append (not capable of).
Fix sys_fs_ftruncate (remove wrong workaround).
2020-01-05 18:15:55 +03:00
Nekotekina
9fc0aec066
sys_fs_stat: fix split file handling
...
Allow single-file case (consistently with sys_fs_open)
2020-01-05 18:15:55 +03:00
Nekotekina
bed2d558a6
sys_fs: implement CELL_EROFS error
...
Implement lv2_mp_flag::read_only.
Currently only /dev_bdvd is affected.
2020-01-05 18:15:55 +03:00
Nekotekina
d5f0957558
Implement lv2_fs_mount_point with mount point flags
...
Implement some actual mount points
Implement lv2_mp_flag::no_uid_gid
2020-01-05 18:15:43 +03:00
Eladash
872be25ed1
cellFs: Fix cellFsLseek with negative whence
2020-01-04 22:38:53 +03:00
Eladash
9d2c9e5d62
cellFs: Improve cellFsGetDirectoryEntries
2020-01-04 22:38:53 +03:00
Nekotekina
28fb0d1741
Fix lv2_fs_object::name
...
Recreate path from actual decoded components.
2020-01-04 21:44:03 +03:00
Nekotekina
691a57a4da
Add BOM to sys_tty.cpp
2020-01-04 01:32:21 +03:00
Megamouse
b3ad89cc8b
cellSaveData: remove duplicate yield
2020-01-03 14:22:40 +01:00
Megamouse
c9aee27d48
VK: remove unused init function declaration
2020-01-03 14:22:40 +01:00
Megamouse
7af2ebb6f4
cellSaveData: use errDialog to skip error dialogs
2020-01-02 05:49:03 +01:00
Eladash
4c20881f8f
Fixup after #6933 ( #7166 )
...
* fixup
* Get rid of obsolute arg in lv2_obj::awake
* nvm ill do this later
* Typo fix of the decade
2020-01-01 17:38:05 +00:00
Eladash
7cc6881a57
Implement sceNpTrophyTerm resources deallocation
...
- Implement sceNpTrophyAbortHandle, if handle is aborted an error code will be returned on its usage.
- Free context & handles in sceNpTrophyTerm.
- Return SCE_NP_TROPHY_ERROR_INVALID_ARGUMENT on invalid context & handles ids.
- Implement id resource shortage error checking.
- Check negative sceNpTrophyGetTrophyInfo trophy id.
- Minor error checking fix for sceNpTrophySetSoundLevel
2019-12-31 22:32:23 +03:00
Eladash
71c4a2a15f
Silence some log messages
2019-12-31 22:27:27 +03:00
Eladash
9690854e58
Some cleanup
...
* Prefer default initializer over std::memset 0 when possible and more readable.
* Use std::format in trophy files name obtaining.
* Use vm::ptr<>::operator bool() instead of comparing vm::ptr to vm::null or using addr().
* Add a few std::memset calls in hle where it matters (or in some places just to document an actual firmware memcpy call).
2019-12-31 22:27:27 +03:00
Eladash
c2eb9a583d
Implement ps3 application root flags detection
2019-12-31 22:22:06 +03:00
Eladash
b30be0fbc1
Update cellVoiceCreatePort syntax
2019-12-31 19:05:06 +03:00
Eladash
9958a83d10
Make spu_channel_4_t::clear() atomic
...
By removing separate value3 write, fixes a rare race introduced by #6917 .
2019-12-31 19:05:06 +03:00
Eladash
3257552227
Minor spu_channel_4_t optimization
2019-12-31 19:05:06 +03:00
Eladash
ec9622b513
Fix ppu_patch invalid address check
2019-12-31 18:57:14 +03:00
Eladash
8427af8886
Implement runtime PPU executable code modification via Cheat Manager
2019-12-31 18:57:14 +03:00
Megamouse
93a6e9e4e4
Improve cellImeJp ( #7014 )
...
* HLE: add error_code and definitions for cellImeJp
* HLE: add function parameters to cellImeJp
* HLE: improve cellImeJp
* HLE: further improve cellImeJp
* HLE: simplify cellImeJp
2019-12-31 16:02:10 +01:00
Megamouse
a5c5927468
cellSaveData: only show dialogs in fixed functions
2019-12-31 14:15:43 +01:00
Eladash
3e80727f8e
Allow unimplemented HLE functions detection by bot
2019-12-30 23:48:39 +03:00
Eladash
b59a825e48
Minor fixup after #6894
2019-12-30 23:46:45 +03:00
Eladash
45cff1219c
Allow sys_raw_spu_create_tag to be called more than once
2019-12-30 23:46:45 +03:00
Eladash
923cd7ad72
SPU LLVM: rewrite comparison on non-xfloat path of CFLTU, CFLTS
...
CFLTU on non-xfloat path is accurate as xfloat path now.
* Also optimize FCTIW like FCTIWZ (PPU)
2019-12-30 22:20:34 +03:00
Nekotekina
ef8872c0d7
sys_net: fix sys_net_bnet_connect on Windows
...
Properly write is_connecting variable.
2019-12-29 21:53:43 +03:00
Nekotekina
01b1b21efd
sys_net: add a workaround for WSAPoll with timeout
...
Don't call WSAPoll with empty socket list.
2019-12-29 21:24:13 +03:00
Megamouse
45dc5d9b02
cellSaveData: improve ppu schedule during dialogs
2019-12-29 14:22:58 +01:00
Megamouse
c4b4ce46b8
cellSaveData: don't pause apps during dialogs
2019-12-29 14:22:58 +01:00
Megamouse
0b78404337
cellSaveData: get confirmation if not CELL_SAVEDATA_OPTION_NOCONFIRM
2019-12-29 01:19:04 +01:00
Megamouse
ff0089bc6f
cellSaveData: add more constants
2019-12-29 01:19:04 +01:00
Megamouse
bb7848f6e5
cellSaveData: add error dialog to callback result errors
2019-12-29 01:19:04 +01:00
Megamouse
47da907366
cellSaveData: add confirmation dialog for save data interactions
2019-12-29 01:19:04 +01:00
Megamouse
ef6f565dbd
silence some annoying warnings
2019-12-28 15:40:57 +01:00
Nekotekina
70e26eeb45
LLVM: compress PPU cache
...
Compress PPU modules to .gz (backward compatible with uncompressed cache)
2019-12-27 23:12:16 +03:00
Megamouse
e83dfedff9
stub cellRemotePlay and cellResc and cellStorage
2019-12-24 11:54:32 +01:00
Nekotekina
abe2cc196a
sys_net: fixup for race condition
...
Don't reset is_connecting without checking correctness.
Also cleanup dead WIN32 code.
2019-12-23 22:39:18 +03:00
RipleyTom
90e4fe23c5
WSAPoll workaround
2019-12-23 22:31:09 +03:00
linkmauve
e9c5c6e6bf
Move input to its own directory ( #7126 )
2019-12-22 17:39:42 +01:00
Eladash
c65bb0d267
Avoid shifting by greater/equal than max bits values in ppu_rotate_mask
2019-12-22 04:35:57 +03:00
Markus Stockhausen
a36f0497ce
Improve approximate xfloat
...
- Disable denormals for SPU threads
- Add clamping helpers
2019-12-22 01:26:34 +03:00
Nekotekina
3b46c9cb6a
SPU LLVM: use FMA with approx xfloat when available
...
Emulate FMA with double precision if unsupported natively.
2019-12-21 17:53:34 +03:00
Eladash
db4041e079
Implement rounded_div
...
Round-to-nearest integral based division, optimized for unsigned integral.
Used in sceNpTrophyGetGameProgress.
Do not allow signed values for aligned_div(), align().
2019-12-20 14:47:04 +03:00
Eladash
6dd4003154
Fix cellNetCtlNetStartDialogUnloadAsync
2019-12-20 10:20:32 +01:00
Megamouse
7fcef227af
sceNpTrophy: minor optimizations
2019-12-19 18:15:22 +01:00
Eladash
8d955cfb8c
Hotfix sceNpTrophyGetTrophyUnlockState
2019-12-18 13:07:55 +01:00
Eladash
e380a8c279
Fix sceNpTrophyGetGameProgress ( #7103 )
...
* Fix sceNpTrophyGetGameProgress
Was missing multiplication by 100.
* apply requested changes
* Enforce round-to-nearest rounding mode
2019-12-17 22:43:00 +00:00
Eladash
3efd5f360c
PPU DisAsm: Again
2019-12-15 19:55:23 +03:00
Jayveer
364ba95d26
Updated sys_net to use WSAPoll on win32 as this fixes connection issues
...
in Metal Gear Online. Also aligns with implementations on non win32
platforms
2019-12-13 21:52:29 +03:00
Nekotekina
321f7e7197
Fix missing-braces warnings
2019-12-13 03:21:43 +03:00
Nekotekina
69e81da57b
Fix some warnings
2019-12-13 02:08:52 +03:00
Megamouse
038694ae28
cellGem: add some explanatory comments
2019-12-10 23:20:13 +01:00
Megamouse
691c7cde67
cellGem: cleanup some spacings
2019-12-10 23:20:13 +01:00
Zangetsu38
af8ebc76e2
Modules/cellGem: Implement pos, quat and handle_pos in Gemstate for mouse.
...
Modules/cellGem: Fix name for gem_image_state.
Modules/cellGem: Implement projectiion(x/y) in gem_image_State for mouse.
Modules/cellGem: Add cross, triangle, circle and start with use middle click for mouse.
Modules/cellGem: Refactor global code.
Modules/cellGem: fix some warning with initializing value.
2019-12-10 23:20:13 +01:00
VelocityRa
ac2b0c9752
PSMove: Rudimentary mouse emulation.
2019-12-10 23:20:13 +01:00
Eladash
6a4ba9d562
Fix warning about truncation
2019-12-07 10:22:11 +01:00
Eladash
a5b3b0df40
sceNpBasicAddBlockListEntry: Add connection check
2019-12-07 10:22:11 +01:00
Eladash
963d5fb981
sceNpBasicAddPlayersHistory(Async) fixes
...
* Check if count == 0.
* u64 typos fixed.
* description won't be checked if null.
* Check each npid provided, not only the first.
2019-12-07 10:22:11 +01:00
Eladash
5142d7c011
Minor fixup after #7068
2019-12-06 19:59:29 +03:00
Eladash
5631382623
sys_spu: Fix SPU Thread Id
...
* Removed wrong code in sys_spu_thread_group_terminate.
* SPU Thread ID is accurate, including 5th thread id "rule".
* Fixed possible use-after-free access of spu_thread::group member.
* RawSPU ID management simplified.
2019-12-06 19:59:29 +03:00
Eladash
e050dcbc52
Move size write in cellGamePatchCheck
2019-12-05 23:31:46 +03:00
Eladash
98970884c8
Make sys_tty accurate in release console mode, message saving in log
2019-12-05 23:31:46 +03:00
Eladash
401813f962
Revert part of #7044
...
oops.
2019-12-05 23:31:46 +03:00
Eladash
a2c69e4a2e
sys_spu_thread_group_dis/connect_event Improvements
2019-12-05 23:31:46 +03:00
Nekotekina
835892aa51
C-style cast cleanup VII
2019-12-05 02:10:15 +03:00
Nekotekina
185c067d5b
C-style cast cleanup V
2019-12-03 17:23:00 +03:00
Megamouse
46ca39ec4d
Add Emu.HasGui() to properly hide Qt dialogs in no-gui mode
2019-12-03 09:12:51 +01:00
Megamouse
d73f04da13
cellSaveData: avoid nullptr if there is no dialog
2019-12-03 07:59:10 +01:00
Nekotekina
bf11a28fb5
C-style cast cleanup IV
2019-12-01 22:12:33 +03:00
Eladash
d45fbc331c
Fix error checking of cellGameContentPermit
2019-12-01 21:11:43 +03:00
Eladash
1a6e8e20dc
cellGameBootCheck Improvements
...
* size->sysSizeKB returns 4kb. (hw tested, unknown if in different situations this value changes)
* Return CELL_GAME_ERROR_BROKEN on failure to init. (hw tested)
* Write to dirName only when type is HDD game. (REd)
* Don't write to *size on errors, make it happen after *attributes and *type writes. (REd)
2019-12-01 21:11:43 +03:00
Eladash
37c220af72
Fix sceNpTrophyRegisterContext hack
2019-12-01 21:11:43 +03:00
Nekotekina
28eacc616a
C-style cast cleanup III
2019-12-01 00:32:44 +03:00
Nekotekina
ad9c9f0183
C-style cast cleanup II
2019-11-30 18:17:45 +03:00
Nekotekina
5b9df53c13
C-style cast cleanup (partial)
...
Replace C-style casts with C++ casts.
2019-11-29 00:35:23 +03:00
Eladash
8bd52c9843
Fix sys_spu_thread_un/bind_queue queue existence check
2019-11-28 01:54:45 +03:00
Eladash
9cc3838e49
Fix possible division by zero in sys_spu_thread_write/read_ls
2019-11-28 01:54:45 +03:00
Eladash
b8220ec12f
Stub sys_spu_thread_group_log
2019-11-28 01:54:45 +03:00
Eladash
038c6bb234
Avoid calling lv2_obj::sleep sequantially in sceNpTrophyRegisterContext
...
Also fix a correctness issue with queued.
2019-11-27 21:41:40 +01:00
Eladash
3b06214f88
Decrease memory stats in cellGemInit if needed
...
Also:
* fix state reset of cellGem
* Check max_connect == 0 in cellGemInit
2019-11-27 21:41:40 +01:00
Eladash
b5f6b27f86
cellSysutilGetSystemParamString improvements
...
- Check bufsize, must match to max string length
- Add missing cases for ParamId 0x1008, 0x1011, 0x1012, 0x1024
- Set actual current username in buffer on id == ID_CURRENT_USERNAME
2019-11-26 20:21:33 +00:00
Nekotekina
2290c389d6
vm: implement vm::try_access, vm::ptr::try_read/write
2019-11-26 00:12:45 +03:00
Nekotekina
1b9a3e6077
SPU: internal refactoring, add spu_program
...
Use struct (spu_program) instead of std::vector<u32>.
2019-11-26 00:01:38 +03:00
Nekotekina
4caf747729
SPU LLVM: detect mpy32 pattern
2019-11-26 00:01:38 +03:00
Eladash
70ace4bb83
Fix cellAudioCreateNotifyEventQueue queue depth
...
TODO: global sdk value used is set in cellAudioInit, which means sdk var value is 0 before it's initialization, currently safely set queue size to 8 in this case.
2019-11-25 09:04:56 +00:00
Eladash
17ae70b935
Implement cellAudioCreateNotifyEventQueueEx
2019-11-25 09:04:56 +00:00
Eladash
40db205f5d
Fix cellVoiceCreatePort
2019-11-25 09:04:56 +00:00
Eladash
1233c48d92
cellAudio: Implement event source
2019-11-25 09:04:56 +00:00
Eladash
f4ac8a2e0c
cellVoice: Fix NOT_INIT checks, implement 0 event source handling
2019-11-25 09:04:56 +00:00
Eladash
c9066e7236
cellVoice Update
...
* Use shared lock wherever possible.
* Fix cellVoiceSetVolume.
* Fix error logging of cellVoiceCreateNotifyEventQueue, cellAudioCreateNotifyEventQueue
2019-11-25 09:04:56 +00:00
Eladash
fd433779bb
sys_prx: Tiny improvement
2019-11-25 09:04:56 +00:00
Nekotekina
f31233b822
sys_net: don't report SYS_NET_EWOULDBLOCK in blocking syscalls
2019-11-22 18:56:40 +03:00
Nekotekina
5c55d4f2fe
sys_net: format both negative and positive sys_net_error values
2019-11-22 18:56:13 +03:00
Eladash
6ad8b0a443
sys_net: Add error_code
2019-11-21 22:51:22 +03:00
Eladash
8d5ef2c7b9
Clamp volume in cellAudioAdd/2c/6c/Data
...
Same as firmware, NaN and Inf are flushed to zero.
2019-11-20 21:58:43 +03:00
Markus Stockhausen
cd6b6c8a4f
Lightweight putllc() for non-TSX if no data changed
...
This replaces the totally messed up PR #6728
Some games make heavy use of getllar() & putllc() without even changing data.
In this case avoid unneccesary heavy locking of the PPU threads on non-TSX
hosts.
2019-11-19 18:10:29 +03:00
Megamouse
2152a77005
HLE: stub cellCrossController some more
2019-11-18 23:42:49 +01:00
Megamouse
41505117a7
HLE: stub cellCelpEnc and cellCelp8Enc
2019-11-18 23:42:49 +01:00