Commit Graph

117 Commits

Author SHA1 Message Date
psucien acc4ef7b4c common: slot_vector: added `is_allocated` to check if the slot already exists 2024-06-25 09:43:25 +02:00
psucien 8475a62a46 common: `Common` namespace for the slot vector container 2024-06-25 09:31:32 +02:00
psucien 0c32ea242b shader_recompiler: list all missing instructions during translation pass 2024-06-16 23:45:39 +02:00
psucien a0fe34b01f tracy: added PthreadMutex markup 2024-06-15 23:20:14 +02:00
Younes 0fa7d5d02c
- sceKernelUuidCreate, sceAppContentAppParamGetInt, sceAppContentTemporaryDataMount2 (#199)
- PlayGo
- stub libusbd
-added /temp0 and /data mounts at emu start.
(Ghost Files: Memory of a Crime, Abyss: The Wraiths of Eden)
- some posix functions
2024-06-15 17:51:51 +03:00
TheTurtle c5d1d579b1
core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
raziel1000 080ec3e23e Added LibPngDec
(tested with Metal Slug 3, Risk of Rain, Deadbolt and Nidhogg)
2024-06-14 01:37:26 -06:00
TheTurtle 31bd502764
core: Fixup linux support (#195)
* tls: Implement for linux

* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
psucien d7565dec57 tracy: added Vulkan GPU profiling 2024-06-11 21:52:48 +02:00
psucien 04b1226e9c tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
psucien e89b2d1cdd Added Tracy profiler 2024-06-11 11:17:46 +02:00
raziel1000 1abccb29f9 clang format 2024-06-10 20:44:16 -06:00
raziel1000 0f27e0edf2 - Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/<title> (can be restored if deleted by accident by opening the trophy viewer)
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)
2024-06-10 20:42:21 -06:00
georgemoralis dfc4f1c35b don't make fullscreen default 2024-06-10 14:04:59 +03:00
raphaelthegreat fc887bf3f5 core: Rework memory manager 2024-06-10 02:13:44 +03:00
Xphalnos 1563dffd46
Added Fullscreen mode (#173)
* Added Fullscreen mode

* fix for config.toml

* fix for config.toml

* Apply review comment
2024-06-09 13:25:00 +03:00
georgemoralis ac192134e8
Merge pull request #175 from shadps4-emu/missing_gnm_calls
Additional GnmDriver functions
2024-06-09 00:58:45 +03:00
georgemoralis a1efcd9832 added rtc and disc_map modules 2024-06-08 22:41:25 +03:00
psucien 9230d04a0a common: slot_vector moved into common 2024-06-08 01:19:51 +02:00
psucien fe3b546d93 renderer_vulkan, config: option to toggle VK validation layer 2024-06-07 11:21:02 +02:00
TheTurtle 728249f58d
core: Properly implement TLS (#164)
* core: Split module code from linker

* linker: Properly implement thread local storage

* kernel: Fix a few memory functions

* kernel: Implement module loading

* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien f624f7749c
Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
georgemoralis 323e66f765 added app_content module 2024-05-31 15:03:05 +03:00
raphaelthegreat d59b102b6f video_core: Add image support 2024-05-27 18:25:45 +03:00
TheTurtle 8dfa5782b2
video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
psucien d752aa5357 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +02:00
TheTurtle 8730968385
video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
georgemoralis c9b5b5e963 show title splash while the game is loading 2024-05-16 16:58:14 +03:00
TheTurtle 55855b4195
core: Implement new memory manager (#133)
* core: Implement new memory manager

* ci: Attempt to fix linux build

* code: Fix a few build errors
2024-05-16 15:55:50 +03:00
georgemoralis f1883870fd Initial LibcInternal 2024-05-13 16:13:33 +03:00
georgemoralis 882292f1ce added sys_modules folder and ability to load system modules (currently we try ngs2) 2024-05-13 15:01:45 +03:00
georgemoralis 277e16c7ba sceSaveDataMount2,sceSaveDataUmount some implementation 2024-05-04 22:08:04 +03:00
georgemoralis e4d43f8e07 added dummy np* modules and screenshot module 2024-05-02 18:16:10 +03:00
TheTurtle 1b9bf924ca
core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
TheTurtle b94efcba5a
video_core: Add basic command list processing (#117) 2024-04-30 01:23:28 +03:00
psucien 2696733cad
video_core: prefer discrete gpu if available (#116)
* video_core: prefer discrete gpu if available

* ci: Upgrade to clang format 17

* rewrite w\o std::zip usage

---------

Co-authored-by: raphaelthegreat <47210458+raphaelthegreat@users.noreply.github.com>
2024-04-30 00:19:12 +03:00
raphaelthegreat 25c04ad42f texture_cache: Fix linear image uploads
* Also fixed build for clang-cl with libc
2024-04-29 18:22:04 +03:00
georgemoralis 7d96308759 fix config for gpu settings 2024-04-28 19:14:56 +03:00
psucien 453b24eb20 config: option to select gpu for vk device 2024-04-28 01:19:04 +02:00
GPUCode c01b6f8397 video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
georgemoralis bb8a400b7b dummy libscesavedatadialog 2024-04-08 19:03:51 +03:00
georgemoralis 935842291d dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis 6066c89607 scePadGetControllerInformation added , dummy scePadSetMotionSensorState 2024-04-01 14:45:27 +03:00
georgemoralis 06d6ad09ea log debug message to tty 2024-04-01 08:44:07 +03:00
georgemoralis 30946e21dd more clang fixes 2024-03-30 15:41:12 +02:00
georgemoralis 94cd3be814 dummy sysmodule module 2024-03-30 15:34:01 +02:00
georgemoralis b36df1383a added more dummy modules 2024-03-29 23:25:52 +02:00
whereismyfoodat e272b152ed small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 540c21d382 config option to enable libc lle 2024-03-25 09:26:59 +02:00
georgemoralis 63d8d4d833 started 0.0.4 2024-03-25 09:09:39 +02:00
georgemoralis 4980aa3fd5 pushed v.0.0.3 version - codename salad 2024-03-23 09:43:03 +02:00
georgemoralis 2e931c9f72
More modules (#99)
* added dummy sceAudio lib

* added lseek in file_system

* updated sdl3

* forgot sdl3 in cmake

* cmake is case sensitive in linux

* fixed SDL_CreateWindowWithPosition

* fixed vulkan issues with latest sdl3

* some progress in sceAudio

* improvements in audio

* more sound improvements

* first working sound output , from openorbis sound demo

* updated sdl3 , zlib-ng can now be build with msvc+clangci

* fixed cmake

* fix for audio buffering

* clang format fix

* format fix

* better error handling for sceAudioOutput
2024-03-22 18:12:37 +02:00
georgemoralis 2a03b4d03b
Autogen system,user,dialog modules (#98)
* some rework on system_service, user_service

* fixed clang format

* more clang fix

* more clang fix

* added error codes in system service

* some libc functions

* fixed fprintf

* small fix

* linux fix

* error handling in user service

* error codes reorganized
2024-03-14 14:18:16 +02:00
georgemoralis 8c4f386641 made an option for logging to be synced by default instead of async 2024-03-11 14:06:39 +02:00
georgemoralis 02dcf4d45c
LLE libc + other fixes part1 (#97)
* app0 folder is absolute

* some improvements on symbols types

* clang format

* missing libs.h

* improved symbols_resolver

* moved config to config folder

* functions to dump import functions

* improved logging output

* option for debugdump and improvements

* Apply suggestions from code review

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* clang format

---------

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2024-03-11 13:26:33 +02:00
georgemoralis 02cbebbf78
file formats and qt (#88)
* added psf file format

* clang format fix

* crypto functions for pkg decryption

* pkg decryption

* initial add of qt gui , not yet usable

* renamed ini for qt gui settings into shadps4qt.ini

* file detection and loader support

* option to build QT qui

* clang format fix

* fixed reuse

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.h

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* uppercase fix

* clang format fix

* small fixes

* let's try windows qt build ci

* some more fixes for ci

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update .github/workflows/windows-qt.yml

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/psf.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* loader namespace

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* constexpr magic

* linux qt ci by qurious

* fix for linux qt

* Make script executable

* ci fix?

---------

Co-authored-by: raziel1000 <ckraziel@gmail.com>
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-03-01 00:00:35 +02:00
GPUCode 79d6c8a377
common: Rewrite logging based on cut down citra logger (#86)
* common: Rewrite logging based on cut down Citra logger

* code: Misc fixes

* core: Bring back tls handler

* linker: Cleanup

* config: Remove log level

* logging: Enable console output by default

* core: Fix windows build
2024-02-28 00:10:34 +02:00
GPUCode 584b7d2b15 chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
GPUCode 6f4c6ae0bb
code: Add clang-format target and CI workflow (#82)
* code: Add clang format target, rules and CI workflow

* code: Run clang format on sources
2024-02-23 22:57:57 +02:00
GPUCode fe43558779 common: Rework timekeeping with native RDTSC and port to linux 2024-02-23 11:30:06 +02:00
Stefanos Kornilios Mitsis Poiitidis a58289a353 Merge branch 'TLS_works' of github.com:georgemoralis/shadPS4 into TLS_works 2024-01-27 17:00:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 6de4736e50 skip over 0x66 prefixes in TLS 2024-01-27 16:59:59 +02:00
georgemoralis ff43fec76a some fs work for openorbis (WIP) 2024-01-26 18:01:27 +02:00
Stefanos Kornilios Mitsis Poiitidis 724c56d8aa Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
GPUCode 099d01f96c common: Move timer to common 2023-11-06 01:17:28 +02:00
GPUCode 303f086b14 common: Move classes to common namespace 2023-11-05 16:56:28 +02:00
GPUCode 17aefc1aef src: Move certain headers in common 2023-11-05 13:41:26 +02:00