Commit graph

525 commits

Author SHA1 Message Date
psucien 3c4a9d6a44 amdgpu: return perfcounter on EOP 2024-05-10 23:16:56 +02:00
psucien 7e505afb58 gnm_driver: fixed a typo and fields initialization 2024-05-10 22:58:53 +02:00
psucien 9db9fffbd5 kernel: sceKernelDeleteEqueue added 2024-05-10 22:04:41 +02:00
psucien 8bb89aa746 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +02:00
psucien 40923e5448 amdgpu: EOS event packet handling 2024-05-10 11:55:04 +02:00
psucien 758d695e31 amdgpu: wait_reg_mem and write_data implementation
Command list parsing is temporary moved to async task
2024-05-09 22:59:35 +02:00
georgemoralis e55fbee0aa use winpthreads from mingw64 2024-05-09 23:45:09 +03:00
psucien 8897e647b9 amdgpu: EOP irq and dummy PM4 handlers 2024-05-08 23:27:56 +02:00
psucien 717b00d63b gnm_driver: sceGnmSubmitAndFlipCommandBuffers implementation 2024-05-08 22:55:39 +02:00
psucien e6896060e7 video_out: sceVideoOutSubmitEopFlip stub added 2024-05-08 22:54:34 +02:00
psucien f0ac475ffd gnm_driver: various fixes 2024-05-08 22:53:55 +02:00
psucien 9cfb7a20b4 gnm_driver: sceGnmSetEmbeddedVsShader added 2024-05-08 21:00:01 +02:00
psucien d331a84794 gnm_driver: sceGnmInsertWaitFlipDone added 2024-05-08 07:36:14 +02:00
psucien 60932dd5cc video_out: added display buffer labels 2024-05-08 07:35:10 +02:00
psucien d2856a7616 video_core, kernel: added gfx eop event handling 2024-05-07 22:46:54 +02:00
georgemoralis 2a5c4131dc Merge pull request #125 from shadps4-emu/savedata
Savedata + filesystem implementations
2024-05-07 16:38:39 +03:00
georgemoralis c7cf197b1b added sceKernelGetTscFrequency 2024-05-07 16:28:42 +03:00
georgemoralis 9141c9537d libc hle : added ftell , powf , roundf 2024-05-07 16:25:58 +03:00
psucien 4a472f8e61 core: libraries: gnmdriver: bit more of basic Gnm driver functions 2024-05-06 22:13:33 +02:00
georgemoralis 35ba7f0da5 clang format 2024-05-05 16:50:55 +03:00
georgemoralis 25f25f91a4 dummy ksernelMunmap (allows we are doomed to progress further) 2024-05-05 12:59:26 +03:00
georgemoralis facdc34bc6 improvements in sceKernelOpen, rewrote sceKernelLseek, added sceKernelWrite, added sceKernelMkdir , partial sceKernelStat 2024-05-05 12:43:01 +03:00
georgemoralis ccf81110b0 sceSaveDataMount2,sceSaveDataUmount some implementation 2024-05-04 22:08:04 +03:00
georgemoralis 45cbbec0b6 moved savedata to proper folder 2024-05-04 19:08:46 +03:00
georgemoralis 95a42f5b29 added dummy np* modules and screenshot module 2024-05-02 18:16:10 +03:00
georgemoralis fbaa31f4c6 added a login event in sceUserServiceGetEvent 2024-05-02 17:14:55 +03:00
georgemoralis 7ec7e87a00 create_thread : sometime thread name is null 2024-05-02 17:14:30 +03:00
georgemoralis 2b59361b7f added stubbed mostly version of flexible memory - it allows sonic mania to go further 2024-05-02 17:13:51 +03:00
georgemoralis fa4a7b6845 print param.sfo info at startup 2024-05-02 10:57:45 +03:00
psucien 8347026ecb core: libraries: gnmdriver: basic functionality extension (#120)
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +03:00
TheTurtle 49e65be25b core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
TheTurtle 13fe78f0f5 video_core: Add basic command list processing (#117) 2024-04-30 01:23:28 +03:00
psucien 87f3724675 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
georgemoralis bdb0a6cf94 give texture cache exception handler priority over tls exception handler 2024-04-29 19:26:35 +03:00
raphaelthegreat 733956c39b texture_cache: Fix linear image uploads
* Also fixed build for clang-cl with libc
2024-04-29 18:22:04 +03:00
georgemoralis da4692a7f0 fix config for gpu settings 2024-04-28 19:14:56 +03:00
psucien 35ffc7fc97 clang format fix 2024-04-28 01:34:14 +02:00
psucien 1be496875a config: option to select gpu for vk device 2024-04-28 01:19:04 +02:00
psucien b2584dc455 texture_cache: protection flags re-worked
* actually I gave up on clang fmt
2024-04-28 01:00:24 +02:00
psucien 2b33596ebc clang format fix 2024-04-28 00:51:34 +02:00
psucien 9c4906f878 Merge branch 'main' of github.com:raphaelthegreat/shadps4 into raph-main 2024-04-28 00:29:15 +02:00
psucien 6fdc29ec5b texture_cache: added memory protection for Windows 2024-04-28 00:21:04 +02:00
raphaelthegreat dee8b77cb4 Address feedback 2024-04-28 01:09:03 +03:00
georgemoralis 0e7cb9f528 added sceVideoOutGetVblankStatus 2024-04-18 22:32:15 +03:00
georgemoralis 34e3f7f871 fixing qt buids once again 2024-04-15 22:51:36 +03:00
georgemoralis 8636b9c84e define a linux only code 2024-04-14 19:57:58 +03:00
GPUCode 23b2eeba9b video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
GPUCode 55eb16d09d src: Move control to input directory 2024-04-14 01:18:25 +03:00
GPUCode 661b4d0e74 src: Reorganize and cleanup libraries 2024-04-14 00:37:17 +03:00
georgemoralis 7d3985f88e several fixes (#112)
* updated fmt

* submodules updated

* fixed _TIMESPEC_DEFINED for winpthreads under windows

* fixed sdl3 under qt

* virtual_memory: Ensure mapped addresses stay inside the user area

* Fixes LLE Libc crashing on linux

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-04-13 22:37:21 +03:00
georgemoralis 6a595f18db clang format fix 2024-04-09 13:40:03 +03:00
georgemoralis 22438e4f6e improved linker resolver 2024-04-09 13:39:35 +03:00
georgemoralis c4b4cb5acf dummy libscesavedatadialog 2024-04-08 19:03:51 +03:00
georgemoralis 13adbb77f0 added sceVideoOutGetVblankStatus 2024-04-07 09:27:41 +03:00
georgemoralis 93118a3cd4 Merge pull request #107 from shadps4-emu/modules4
More module work focused on undertale
2024-04-05 20:41:26 +03:00
georgemoralis b78de96e12 more linux fix 2024-04-05 19:53:54 +03:00
georgemoralis cb391baf46 linux build fix 2024-04-05 19:33:38 +03:00
georgemoralis a4b8db7027 added sceAudioOutSetVolume 2024-04-05 09:59:28 +03:00
georgemoralis 4840e716bc scePadRead,scePthreadYield implementations 2024-04-05 09:27:13 +03:00
georgemoralis 635d8e25c4 posix nanosleep call 2024-04-04 20:20:50 +03:00
georgemoralis ee2cfa982b just disable audioInOpen 2024-04-04 20:07:33 +03:00
georgemoralis 0141781429 dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis 30808f32ef added clock_gettime 2024-04-04 19:47:59 +03:00
georgemoralis 9a9f9698ad somehow working scePthreadCreate 2024-04-04 19:16:10 +03:00
georgemoralis efe50c8819 Merge pull request #102 from shadps4-emu/gui-rewrite
Gui rewrite.
2024-04-02 23:51:13 +03:00
georgemoralis a1a32bf461 scePthreadAttrGet , and some mutex work 2024-04-02 18:07:24 +03:00
georgemoralis f0af2b6c18 added some debug info to gnm 2024-04-02 17:21:04 +03:00
georgemoralis de47d63d55 added sceKernelClockGettime 2024-04-02 08:51:17 +03:00
georgemoralis 6141d379d9 sceSaveDataMount2 just return save data not found for now 2024-04-01 22:31:25 +03:00
georgemoralis afca4aa67c scePadGetControllerInformation added , dummy scePadSetMotionSensorState 2024-04-01 14:45:27 +03:00
georgemoralis 2b39f61791 scePthreadMutexDestroy implemented 2024-04-01 14:21:40 +03:00
georgemoralis 495779ef3b log debug message to tty 2024-04-01 08:44:07 +03:00
Jonah 44034c9e35 - Removed unnecessary std::future from game_grid_frame(populate/resize) Thanks SachinVin! 2024-03-31 12:24:08 -06:00
georgemoralis d0a3e034db sceKernelClose,sceKernelRead,sceKernelLseek implementation 2024-03-31 18:04:47 +03:00
georgemoralis c35f2922a9 fixed (?) _write function 2024-03-31 18:04:11 +03:00
georgemoralis 4363aaaa3f fixed linux issue with enums 2024-03-31 17:37:09 +03:00
georgemoralis 482b37013f added ps4_ prefix to libkernel to make sure it deosn't conflict with linux function names 2024-03-31 17:14:21 +03:00
georgemoralis 916a5adfd1 partial implementation of _write function , which is used as debug ouput from lle libc 2024-03-31 13:33:38 +03:00
georgemoralis ca810916b5 dummy libkernel module 2024-03-31 11:30:43 +03:00
georgemoralis a30adf70de scePthreadAttrDestroy,scePthreadAttrGetaffinity added 2024-03-30 22:19:42 +02:00
georgemoralis 221c452a1d more clang fixes 2024-03-30 15:41:12 +02:00
georgemoralis e8776fea82 clang format fix 2024-03-30 15:39:21 +02:00
georgemoralis 221b5c6c88 dummy sysmodule module 2024-03-30 15:34:01 +02:00
georgemoralis 6b47e38246 some dummy net functions 2024-03-30 09:35:00 +02:00
Jonah 9cbae6ddb1 PKG Viewer:
- Fixed crash when other file extensions are present in the same folder as the packages.
- Fixed display: check patch using serial and not name. fixed display when some games contain a semicolon in the title(STEINS;GATE 0)
- Fixed column resize on first run.
- Added status bar showing the number of packages.
- Removed: saving every single pkg path in config file.
2024-03-30 00:03:15 -06:00
georgemoralis abc5fd3475 clang format fix 2024-03-29 23:28:06 +02:00
georgemoralis 1c029b0c98 added more dummy modules 2024-03-29 23:25:52 +02:00
Jonah 366963b7f8 - fix grid mode not populating on first run(fresh run with no settings saved).
- refresh game list button.
2024-03-29 00:48:17 -06:00
Jonah 22843cc4d7 *facepalm* 2024-03-28 23:53:34 -06:00
Jonah acb0d9d255 Reuse.. 2024-03-28 23:51:38 -06:00
raziel1000 88d737c358 - Gui rewrite.
- Gui: Bug fixes and cleanup.
- Gui: Performance improvement (loading, resizing...etc)
- Added a simple PKG Viewer(Settings-> Utils -> PKG Viewer), added pkg folders will be saved.
- PKG Viewer: Shows game info(name, id, region...etc)
- PKG Viewer: Right click -> Install PKG to install/extract a game. Patch installation is also possible.
- Added option to dump game list  (Settings -> Utils -> Dump Game List), will be dumped to emu folder GameList.txt
2024-03-28 23:43:46 -06:00
georgemoralis 69378ffe0c Merge pull request #101 from Xphalnos/main
Proposed new logo for ShadPS4
2024-03-28 16:37:12 +02:00
Xphalnos 171d27ff40 Change logo 2024-03-28 15:29:21 +01:00
georgemoralis cb334d4c4a clang format 2024-03-27 15:02:21 +02:00
georgemoralis bdfb7c800d loading libSceFios2.prx as lle as well 2024-03-27 13:00:27 +02:00
whereismyfoodat 57e9b41ec0 small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 3f73028e57 clang format fix 2024-03-26 19:51:10 +02:00
georgemoralis 3a86aae78a scePthreadMutexattrDestroy again 2024-03-26 19:20:55 +02:00
georgemoralis 9adad461d6 dummy sceLibcHeapGetTraceInfo and scePthreadMutexattrDestroy 2024-03-26 19:19:52 +02:00
georgemoralis 683683eb6b implemented sceKernelGetProcParam 2024-03-26 18:48:26 +02:00
georgemoralis 75e31e880c we can now load libc.prx 2024-03-26 18:29:37 +02:00
georgemoralis c9a474fc2b function to start modules 2024-03-26 18:13:27 +02:00
georgemoralis 70e91002dc relocate before execution 2024-03-26 17:33:48 +02:00
georgemoralis f2d477468a rewrote relocations 2024-03-26 17:17:59 +02:00
georgemoralis 454294b6eb improved LoadSymbols for export support 2024-03-26 14:05:18 +02:00
georgemoralis 16b6d58418 linker : Resolve can now load exports as well 2024-03-26 12:57:18 +02:00
georgemoralis 1d6c8a7ad8 clang format fix 2024-03-26 12:33:00 +02:00
georgemoralis 0324a99c89 small improvements on linker Resolve method 2024-03-26 12:31:46 +02:00
georgemoralis abe1eca8fc some elf improvements 2024-03-26 00:21:38 +02:00
georgemoralis 876965cfd0 improved symbols_resolver and output 2024-03-25 09:46:36 +02:00
georgemoralis f1d2b5522a config option to enable libc lle 2024-03-25 09:26:59 +02:00
georgemoralis 98d5cc2264 started 0.0.4 2024-03-25 09:09:39 +02:00
georgemoralis 3aa7c0227c pushed v.0.0.3 version - codename salad 2024-03-23 09:43:03 +02:00
georgemoralis b4cb5ad233 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 02ba353401 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 4213b5a635 made an option for logging to be synced by default instead of async 2024-03-11 14:06:39 +02:00
georgemoralis af1e3c02ad 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
Jonah fc201a7c92 - gui: firmware version display text correction (fw >= 10) 2024-03-08 11:54:30 -07:00
Younes 719a958cb5 - pkg extraction: fix a rare issue when there is extra entries with uroot and flat_path_table (this is how it should be handled anyway!) (#96)
- gui:
      - fix crash when switching between List and Grid modes.
      - fix fw display text (it was showing wrong numbers in certain cases)
      - made sfo viewer show numbers in hex.
2024-03-08 14:38:19 +02:00
Jonah 6dd3ce683d - Fixed a bug where folders where not created in the correct location which led to missing folders and files (incomplete/wrong extraction) 2024-03-06 00:04:14 -07:00
raziel1000 1c37f91a10 - Fixed pkg extraction. 2024-03-02 14:06:10 -07:00
qurious-pixel 0645dbb610 add window icons (#92) 2024-03-02 18:39:46 +02:00
Younes c8e79b34a1 - Added Play, Pause, Stop and several other UI icons. (#91)
* - Added Play, Pause, Stop and several other UI icons.
- Added a screenshot :3

* update reuse

* reuse again

* screenshot
2024-03-01 10:47:28 +02:00
georgemoralis a967d891d6 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 367350e989 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
georgemoralis c9dce45e4c submodules fixes (#87)
* update discord-rpc

* ignore gitmodules on reuse

* imgui not used atm removed
2024-02-27 20:24:47 +02:00
georgemoralis de0d824fce Modules generation tool (#81)
* Modules generation tool

* apply clang format to generator

* @whereismyfoodat suggestions

* added reuse headers

* reuse part2

* reuse part3

* reuse part3

* replace with hex_id the unknown functions to avoid compile errors with unknown characters from encode_id

* fixes in generation

* some sample module code from autogen tool

* clang format fix
2024-02-24 22:39:29 +02:00
GPUCode 7e5b7a7ffa chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
GPUCode d9e30405ba 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 7faf2d0ee8 common: Rework timekeeping with native RDTSC and port to linux 2024-02-23 11:30:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 39ad04ba70 Merge branch 'TLS_works' of github.com:georgemoralis/shadPS4 into TLS_works 2024-01-27 17:00:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 86a8241182 skip over 0x66 prefixes in TLS 2024-01-27 16:59:59 +02:00
georgemoralis 8e31542122 some fs work for openorbis (WIP) 2024-01-26 18:01:27 +02:00
georgemoralis 2eeddf8334 orbis weird sceVideoOut calls 2024-01-24 14:46:02 +02:00
Stefanos Kornilios Mitsis Poiitidis e77801f5e6 Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
georgemoralis 1ca32b213b initial PT_TLS support 2023-11-21 17:27:11 +02:00
georgemoralis 133dc7604e some cleanups 2023-11-21 16:54:10 +02:00
georgemoralis 1db6431052 functions libkernel to get openrorbis working (without tls) 2023-11-19 12:55:07 +02:00
georgemoralis 7cf2e99a07 small correction 2023-11-19 10:48:59 +02:00
georgemoralis efc542bdb8 initial fs implementation (mounting /app0/) 2023-11-19 10:22:46 +02:00
georgemoralis 44d0b4b089 scePthreadCond functions 2023-11-16 13:31:12 +02:00
georgemoralis a21f487e89 initial ScePthreadCond works 2023-11-16 09:14:10 +02:00
georgemoralis 8444dd408d prefix in libc functions to avoid messing with std ones 2023-11-16 09:13:50 +02:00
georgemoralis 2ea3a7fe1e some threadman fixes 2023-11-16 08:49:26 +02:00
georgemoralis 339dac69ee Merge pull request #71 from georgemoralis/undertale
Undertale-mutexes
2023-11-12 20:26:51 +02:00
georgemoralis 288c47787b cleanup createMutex 2023-11-12 20:23:42 +02:00
georgemoralis 40bef41646 fixed issue in scePthreadAttrSetschedpolicy 2023-11-12 15:09:18 +02:00
georgemoralis 7b1766a3df better posix errors 2023-11-12 13:23:35 +02:00
wheremyfoodat 880933c432 some adjustments 2023-11-12 10:57:50 +02:00
georgemoralis 1d77bd1f19 added sceSystemServiceGetStatus 2023-11-11 16:25:53 +02:00