Commit graph

650 commits

Author SHA1 Message Date
offtkp
f31c92ffd1 Get rid of unnecessary jump 2024-09-04 12:31:12 +03:00
squidbus
9eadec849c misc: Fix a few compiler warnings. 2024-09-03 21:32:19 -07:00
Stephen Miller
0b0c82452e Add "support" for pad type remote control
Needed for the Dragon Ball Xenoverse titles.
2024-09-03 19:57:24 -05:00
georgemoralis
e340583a7f
Merge pull request #736 from StevenMiller123/MoreVirtualQuery
Additional VirtualQuery improvements
2024-09-03 23:05:01 +03:00
psucien
34ffd95306
video_core: added VK_LAYER_LUNARG_crash_diagnostic (#751) 2024-09-03 21:56:23 +02:00
Paris Oplopoios
42ab101908
Set CF correctly on BLSR/BLSMSK patch (#724)
* Set CF correctly on BLSR patch

* Set CF correctly on BLSMSK patch
2024-09-03 21:40:46 +03:00
Paris Oplopoios
cfe49fbfba
Preserve flags on some patched instructions (#720)
* Preserve flags on some patched instructions

* Move flag saving to Save/RestoreContext
2024-09-03 20:41:35 +03:00
Paris Oplopoios
f4ff0d493c
Set CF correctly on BLSI patch (#722)
* Set CF correctly on BLSI patch

* Remove redundant CLC
2024-09-03 20:41:22 +03:00
Stephen Miller
04fbd7b9e7 Clang 2024-09-02 10:04:56 -05:00
Stephen Miller
9a772aa2f5 Clang fix 2024-09-02 10:03:39 -05:00
Stephen Miller
dc1313ea3c Always assign memory_type and offset
The memory_type default is based on fpPS4 behavior.

I'm not entirely sure how the offset should be handled, but since the value we use defaults to 0 anyway, that should be better than leaving random data in that area.
2024-09-02 09:43:27 -05:00
Stephen Miller
0503054b40 Grammar 2024-09-02 09:39:46 -05:00
Stephen Miller
f8d71b59d9 Fix MemoryManager::VirtualQuery header
The headers for these functions were technically not the same as the actual function definition. This didn't cause any emulation issues, but caused some weird issues with my IDE.
2024-09-02 09:30:32 -05:00
Stephen Miller
816288962b Assign is_stack and is_pooled
Properly set these values to avoid potential errors, and future proof for when these types of memory are emulated.
2024-09-02 09:28:35 -05:00
georgemoralis
3b0e251518
Merge pull request #729 from StevenMiller123/VirtualQuery-Fixes
Fix VirtualQuery
2024-09-02 07:18:33 +03:00
Stephen Miller
f3a62891ed Fix VirtualQuery
Found this issue while looking at code from fpPS4. VirtualQuery was setting is_commited to true when the queried region was reserved.

Also sets the protection value in the VirtualQueryInfo, as I'd assume not storing that could cause issues in games.

This fixes all games currently hanging on the sceKernelmprotect stub.
2024-09-01 22:39:22 -05:00
Paris Oplopoios
f514fdfd18
Replace recursive_mutex with mutex (#708)
* Replace recursive_mutex with mutex

* Move mutex lock outside of ObtainBuffer
2024-09-01 22:20:22 +03:00
Emulator-Team-2
e4d8857eb5
Adding missing data format - (1_5_5_5) (#701)
* added data_format=17 and num_format=0

* Set `sceSaveDataDialogIsReadyToDisplay` temporary to 1 until is properly implemented.
2024-09-01 21:49:01 +03:00
georgemoralis
63d78aee0a
Merge pull request #703 from squidbus/mac-tcb
macos: Remove need for TLS patch by storing TCB pointer in FS.
2024-09-01 17:34:23 +03:00
georgemoralis
9b6cd9ec9f
Merge pull request #686 from Exhigh/savedata-fix-5
savedata: Handle a missing case in saveDataMount
2024-09-01 17:11:14 +03:00
squidbus
9e5047947b macos: Remove need for TLS patch by storing TCB pointer in FS. 2024-09-01 02:22:42 -07:00
georgemoralis
3abc7d6b43
Merge pull request #685 from squidbus/patch-fixes
core: Fix CPU patch stack issues
2024-08-31 23:43:26 +03:00
psucien
766c286d62 libraries: gnmdriver: sceGnmValidateCommandBuffers added 2024-08-31 22:01:08 +02:00
Exhigh
ebfed28f6b savedata: Handle a missing case in saveDataMount
This should potentially fix the mount issue in Resistance : Retribution (CUSA32636)

Testing is welcome.
2024-08-31 08:21:23 +04:00
squidbus
61db246c5e core: Fix CPU patch stack issues 2024-08-30 20:47:07 -07:00
psucien
ca1613258f
video_core: added support for indirect draws (#678)
* video_core: added support for indirect draws

* barriers simplified
2024-08-30 22:59:56 +02:00
Xphalnos
7886761476 Reorganization of includes (Part 2) 2024-08-30 15:48:21 +02:00
squidbus
6e552aac6a Initialize patch stack before thread TLS. 2024-08-30 04:43:11 -07:00
georgemoralis
cdd193d5b1
Merge pull request #638 from squidbus/f16c
Add patches for F16C instructions under Rosetta 2.
2024-08-30 11:16:21 +03:00
squidbus
a17150960f Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
TheTurtle
66e96dd944
video_core: Account of runtime state changes when compiling shaders (#575)
* video_core: Compile shader permutations

* spirv: Only specific storage image format for atomics

* ir: Avoid cube coord patching for storage image

* spirv: Fix default attributes

* data_share: Add more instructions

* video_core: Query storage flag with runtime state

* kernel: Use std::list for semaphore

* video_core: Use texture buffers for untyped format load/store

* buffer_cache: Limit view usage

* vk_pipeline_cache: Fix invalid iterator

* image_view: Reduce log spam when alpha=1 in storage swizzle

* video_core: More features and proper spirv feature detection

* video_core: Attempt no2 for specialization

* spirv: Remove conflict

* vk_shader_cache: Small cleanup
2024-08-29 19:29:54 +03:00
Dzmitry Dubrova
8827c72a1c
Add DLC support (#596)
* fs/core: Add DLC support

* fs/core: Fix extraction paths

* Fix DLC mounting

* gui: Add translations
2024-08-29 12:55:40 +03:00
DanielSvoboda
614a23b369
Cheats/Patches (#493)
* Cheats/Patches

Adds the possibility of applying cheats/patches according to the specific game serial+version

The logic for adding modifications has not yet been implemented!

Interface based on issues/372 https://github.com/shadps4-emu/shadPS4/issues/372

[X]Front-end
[]Back-end

Create a synchronized fork of the cheats/patches repository

* Clang Format

* separate files

The code has been separated into separate files as suggested by georgemoralis.
Added the Patch tab, which has not been implemented yet.
Added the 'applyCheat' area to apply the modification, not implemented yet...
And added LOG_INFO.

* reuse

* initial implementation of cheat functionality

* Update cheats_patches.cpp

sets all added buttons to the size of the largest button.
and fixes some aesthetic issues.

* move eboot_address to module.h

fixes the non-qt builds and makes more sense to be there anyway

* Patchs menu and fixes

adds the possibility to download Patches, it does not modify the memory yet.
and some other fixes

* MemoryPatcher namespace, activate cheats on start

* format

* initial patch implementation

* format

* format again...

* convertValueToHex

* Fixes

Choosing which cheat file to use.
And some other fixes

* fix bytes16, bytes32, bytes64 type patches

If a patch is any of these types we convert it from little endian to big endian

* format

* format again :(

* Implement pattern scanning for mask type patches

* add check to stop patches applying to wrong game

previously if you added a patch to a game, but closed the window and opened a different game it would still try to apply the patch, this is now fixed

* format

* Fix 'Hint' 0x400000 |  and Author

* Management |save checkbox | shadps4 repository

MENU - Cheats/Patches Management (implementing Patches)
save patches checkbox
add shadps4 repository

* Load saved patches, miscellaneous fixes

* Fix an issue with mask patches not being saved

* format + remove debug log

* multiple patches | TR translation for cheats/patches

* clang

* ENABLE_QT_GUI

* OK

* move memory_patcher to qt_gui

* clang

* add cheats hu_HU

* fix log

* Remove the item from the patchesListView if no patches were added (the game has patches, but not for the current version)

---------

Co-authored-by: CrazyBloo <CrazyBloo@users.noreply.github.com>
2024-08-29 07:18:50 +03:00
georgemoralis
e57d55e6e9
Merge pull request #624 from Exhigh/savedata-fix-4
savedata: Add another missed case in saveDataMount
2024-08-28 18:07:50 +03:00
counter185
bc661039c5 get rid of one space 2024-08-28 14:25:07 +02:00
counter185
2e2f3bb2c6 clang format 2024-08-28 14:22:59 +02:00
counter185
4e6e90dfb9 add touchpad support, auto reconnect 2024-08-28 13:48:50 +02:00
squidbus
905d49fd96
memory: Fixes for direct memory allocation. (#615)
* memory: Size direct memory based on requested flexible memory.

* memory: Guard against OrbisProcParam without an OrbisKernelMemParam.

* memory: Account for alignment in direct memory suitability checks and add more debugging.
2024-08-28 13:42:53 +03:00
georgemoralis
dcc4762c7e
Merge pull request #628 from squidbus/pkg-fix
crypto: Fix deallocation of key data while in use.
2024-08-28 13:42:01 +03:00
squidbus
4a6ce1e0d6 crypto: Fix deallocation of key data while in use. 2024-08-28 03:39:51 -07:00
georgemoralis
878fac7f94
Merge pull request #626 from InvoxiPlayGames/special-pad
pad: add support for configurable special pad class
2024-08-28 13:24:37 +03:00
squidbus
da966bedfd
kernel: Reimplement POSIX semaphores using std::counting_semaphore. (#600) 2024-08-28 13:13:33 +03:00
InvoxiPlayGames
9d59ea06c7 clang-format fix: scePadOpenExt 2024-08-28 11:10:20 +01:00
InvoxiPlayGames
550cf0188d return proper error code for scePadOpen failure 2024-08-28 10:51:30 +01:00
InvoxiPlayGames
79e86a39fc add support for configurable special pad type 2024-08-28 10:27:51 +01:00
Exhigh
ed42db47af savedata: Add another missed case in saveDataMount
This should potentially fix Deadpool (CUSA03528) #554.
2024-08-28 08:52:20 +04:00
Semenov Herman
860b935054 crypto: added destructors fix memleak FakeKeyset, DebugRifKeyset, PkgDerivedKey3Keyset 2024-08-28 01:32:14 +03:00
psucien
3eb47226d9 libraries: kernel: fix scePthreadMutexattrSettype error value return 2024-08-27 22:25:46 +02:00
Lizardy
59b651be07
[Libs] Error Codes (#612)
* ngs2: all errors w/ official names

* ajm errors

* gnm errors

* random errors

* clang

* random error

* linux

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-27 15:53:38 +03:00
Vladislav Mikhalin
2d354a095a AvPlayer: Handle Initialization errors 2024-08-27 09:32:42 +03:00