Commit Graph

760 Commits

Author SHA1 Message Date
psucien 184b7b7fc2 video_core: added shader header files generator from Citra 2024-06-05 14:31:50 +02:00
psucien 2c87171b95 texture_cache: a support for m8x1 and m8x4 layouts added to the detiler 2024-06-05 13:10:48 +02:00
psucien cd87005ded renderer_vulkan: unused extension removed 2024-06-04 12:43:23 +02:00
psucien d491bbf366 amdgpu: tiling mode introduced 2024-06-04 12:40:08 +02:00
psucien d7d324ac76 amdgpu: surface bits per element LUT 2024-06-02 22:46:40 +02:00
psucien 23cc60bf06 video_core: amdgpu: simply crash if an exception occured in coro 2024-06-02 19:16:05 +02:00
psucien 863d80c16c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02:00
raphaelthegreat 02a50265f8 shader_recompiler: Better branch detection + more opcodes 2024-06-02 03:05:40 +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
georgemoralis 3320156a27 fixed a case in sceKernelCreateEventFlag (found in Super Meat boy) 2024-05-30 20:16:16 +03:00
georgemoralis 3d749bc904 added sceSaveDataMount needed for Cursed Castilla 2024-05-30 19:14:06 +03:00
georgemoralis 4749782a68 scePthreadCondTimedwait needed for Hyper Light Drifter 2024-05-30 19:14:06 +03:00
georgemoralis dc3ab91a76 fixed sonic mania savedata 2024-05-30 19:14:06 +03:00
raphaelthegreat dd91456b48 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
psucien 365df2a3ac video_core: renderer_vulkan: write mask fallback 2024-05-30 16:27:39 +02:00
psucien 8e6d492524 video_core: renderer_vulkan: added color mask support 2024-05-30 12:55:37 +02:00
psucien 767e13cccb Linux build fix 2024-05-30 12:09:33 +02:00
psucien 0212e68752 shader_recompiler: redundant IR opcode removed 2024-05-30 11:50:42 +02:00
psucien 9227a2b868 video_core: multiple color attachments support 2024-05-30 11:21:26 +02:00
psucien 3741f013a3 shader_recompiler: added `NOP` and `RSQ` instructions 2024-05-30 09:43:49 +02:00
psucien d05cbd88bb video_core: renderer_vulkan: support for passes w\o a fs 2024-05-30 09:42:44 +02:00
raphaelthegreat 58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien 7fc273c6bc clang fmt 2024-05-29 20:31:34 +02:00
psucien 055dec1149 video_core: texture_cache: proper `UniqueImage` class movers 2024-05-29 17:17:24 +02:00
psucien a67b8f7a0b video_core: renderer_vulkan: proper inclusion of maintenance4 2024-05-29 17:06:46 +02:00
psucien 5f37a6be83 video_core: amdgpu: fix for a deadlock in wait on idle 2024-05-29 16:03:37 +02:00
psucien db113bbc7b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien e5486cc57f video_core: amdgpu: proper destruction of processing thread 2024-05-29 16:02:51 +02:00
psucien fb237bddad libraries: libc: fix for `FSin` implementation 2024-05-29 16:02:49 +02:00
georgemoralis d30703b4eb improvements in definations 2024-05-28 18:24:42 +03:00
georgemoralis 4d5e9d1da4 set,poll event flag 2024-05-28 15:13:56 +03:00
georgemoralis 1dfa91b638 event flag implementation from previous pr 2024-05-28 14:29:53 +03:00
raphaelthegreat 4d728e943d video_core: Address some feedback 2024-05-27 22:13:55 +03:00
raphaelthegreat d59b102b6f video_core: Add image support 2024-05-27 18:25:45 +03:00
georgemoralis 729e166cd3
Merge pull request #146 from shadps4-emu/video_out/new_gpu_frontend
video_core: initial support for CE and ASC queues
2024-05-27 13:50:25 +03:00
psucien 09c7379fe0 fix for leaks of coroutine handle 2024-05-27 13:48:35 +03:00
TheTurtle 8dfa5782b2
video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
psucien 2963790e0d video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
TheTurtle 3c90b8ac00
video_core: Bringup some basic functionality (#145)
* video_core: Remove hack in rasterizer

* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers

* shader_recompiler: Implement attribute loads/stores

* video_core: Add basic vertex, index buffer handling and pipeline caching

* externals: Make xxhash lowercase
2024-05-25 15:33:15 +03:00
psucien 62fd72009b video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
psucien 66b695f5c7 platform: restored use of magic_enum 2024-05-22 20:20:13 +02:00
psucien d752aa5357 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +02:00
georgemoralis b0243dd3e5 fixed a few compiler issues 2024-05-22 14:18:05 +03:00
TheTurtle 8730968385
video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
georgemoralis 0b8baedab7 improved sceKernelWaitEqueue 2024-05-18 10:02:40 +03:00
georgemoralis 67c1772771 added _read in libkernel 2024-05-18 09:51:47 +03:00
georgemoralis 42fb9f6473 fixed sceKernelGetCompiledSdkVersion thanks raziel1000 2024-05-18 09:51:47 +03:00
georgemoralis 4b5e2e80fc added sceKernelGetCompiledSdkVersion (which return games system version ) 2024-05-18 09:51:46 +03:00
georgemoralis cc98b11860 clang format 2024-05-18 09:51:46 +03:00
georgemoralis 43773d12d9 added scePthreadEqual 2024-05-18 09:51:46 +03:00
georgemoralis bb89b1c95a
Merge pull request #140 from shadps4-emu/additional_evq_func
A bunch of new functional and small improvements
2024-05-18 09:46:14 +03:00
psucien 45e73d324a kernel: event queue improvements 2024-05-17 23:32:15 +02:00
psucien 133acdc120 video_out: added vblank event 2024-05-17 23:31:55 +02:00
psucien 8455574615 gnmdriver: submission lock moved out from gpu 2024-05-17 23:31:19 +02:00
psucien 058e728e29 platform: multiple persistent irq handlers 2024-05-17 23:30:34 +02:00
psucien 9ad7495661 kernel: user event and data functions 2024-05-17 23:29:10 +02:00
psucien 85704e26a0 renderer_vulkan: state tracking for `Image` resources 2024-05-17 12:44:07 +02:00
psucien 64b2e58285 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien dbdb3dc77e amdgpu: non-blocking submitDone 2024-05-17 08:22:47 +02:00
psucien 9df1a8d15b amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien 38061ae636 fix for crash in apps when splash is missing 2024-05-16 16:59:38 +03:00
psucien 8c4f72f404 review comments 2024-05-16 16:59:04 +03:00
psucien 3d5be23671 stb image moved to externals 2024-05-16 16:59:04 +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 67f6d8b2e4
Merge pull request #131 from shadps4-emu/ngs2_work
Trying for ngs2 lle
2024-05-15 15:34:26 +03:00
georgemoralis 266fa57c43 clang format fix 2024-05-15 13:10:51 +03:00
georgemoralis 1431731503 even more linux fixes 2024-05-15 13:09:05 +03:00
georgemoralis 074f3d3f88 fixing linux compile 2024-05-15 12:57:58 +03:00
georgemoralis 055ffff463
Merge pull request #132 from shadps4-emu/gpu_flip
graphics: separate IRQ for GPU driven flips
2024-05-14 23:56:12 +03:00
psucien 45e354fd77
renderer_vk: missing barriers (#134) 2024-05-14 23:46:34 +03:00
psucien 8677972505 graphics: separate IRQ for GPU driven flips 2024-05-14 21:33:20 +02:00
georgemoralis 932f0435e8 scePthreadCondSignal added 2024-05-13 22:53:50 +03:00
georgemoralis 413b67f8ce scePthreadMutexTrylock and some more libcinternal functions 2024-05-13 20:09:32 +03:00
georgemoralis f1883870fd Initial LibcInternal 2024-05-13 16:13:33 +03:00
georgemoralis 99e4301dcc pthread_self , scePthreadCondSignal , scePthreadCondWait ,scePthreadCondattrDestroy 2024-05-13 15:08:15 +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 84de60a29a scePthreadDetach , scePthreadAttrSetstacksize , clock_gettime 2024-05-13 14:04:25 +03:00
georgemoralis d0d84221fd possible fix for linux(?) 2024-05-12 19:36:40 +03:00
georgemoralis c70736d6b7 reuse fix 2024-05-12 19:08:26 +03:00
georgemoralis 64cabdadf2 sceKernelConvertUtcToLocaltime implemented 2024-05-12 19:03:51 +03:00
georgemoralis 6196336533 updated aerolib 2024-05-12 17:51:20 +03:00
georgemoralis 2038d179fe Merge remote-tracking branch 'origin/main' into kernel_stuff 2024-05-11 10:20:32 +03:00
psucien d804a66aa2 review comments applied 2024-05-11 00:04:04 +02:00
psucien 37014394fd amdgpu: return perfcounter on EOP 2024-05-10 23:16:56 +02:00
psucien b849b07442 gnm_driver: fixed a typo and fields initialization 2024-05-10 22:58:53 +02:00
psucien 59e7bbdec4 kernel: `sceKernelDeleteEqueue` added 2024-05-10 22:04:41 +02:00
psucien 923baf0164 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +02:00
psucien 581688c1ac amdgpu: EOS event packet handling 2024-05-10 11:55:04 +02:00
psucien 8e0c67f12e 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 b00b849d3f use winpthreads from mingw64 2024-05-09 23:45:09 +03:00
psucien bfb18135fb amdgpu: EOP irq and dummy PM4 handlers 2024-05-08 23:27:56 +02:00
psucien 498c5eb0cd gnm_driver: `sceGnmSubmitAndFlipCommandBuffers` implementation 2024-05-08 22:55:39 +02:00
psucien c7cfe2622d video_out: `sceVideoOutSubmitEopFlip` stub added 2024-05-08 22:54:34 +02:00
psucien 4746f514ff gnm_driver: various fixes 2024-05-08 22:53:55 +02:00
psucien 72ea0be9ff gnm_driver: `sceGnmSetEmbeddedVsShader` added 2024-05-08 21:00:01 +02:00
psucien 5f83ad2ecb gnm_driver: `sceGnmInsertWaitFlipDone` added 2024-05-08 07:36:14 +02:00
psucien 50bcd13482 video_out: added display buffer labels 2024-05-08 07:35:10 +02:00
psucien 4206ec3c94 video_core, kernel: added gfx eop event handling 2024-05-07 22:46:54 +02:00
georgemoralis 96cf59efea
Merge pull request #125 from shadps4-emu/savedata
Savedata + filesystem implementations
2024-05-07 16:38:39 +03:00
georgemoralis 91dd175d6b added sceKernelGetTscFrequency 2024-05-07 16:28:42 +03:00
georgemoralis 9dff1975a3 libc hle : added ftell , powf , roundf 2024-05-07 16:25:58 +03:00
psucien 1b811e08f1 core: libraries: gnmdriver: bit more of basic Gnm driver functions 2024-05-06 22:13:33 +02:00
georgemoralis 930f239556 clang format 2024-05-05 16:50:55 +03:00
georgemoralis 806781a110 dummy ksernelMunmap (allows we are doomed to progress further) 2024-05-05 12:59:26 +03:00
georgemoralis ad6724eeba improvements in sceKernelOpen, rewrote sceKernelLseek, added sceKernelWrite, added sceKernelMkdir , partial sceKernelStat 2024-05-05 12:43:01 +03:00
georgemoralis 277e16c7ba sceSaveDataMount2,sceSaveDataUmount some implementation 2024-05-04 22:08:04 +03:00
georgemoralis 2b9b3e76bf moved savedata to proper folder 2024-05-04 19:08:46 +03:00
georgemoralis e4d43f8e07 added dummy np* modules and screenshot module 2024-05-02 18:16:10 +03:00
georgemoralis 150854c583 added a login event in sceUserServiceGetEvent 2024-05-02 17:14:55 +03:00
georgemoralis d2cc256b28 create_thread : sometime thread name is null 2024-05-02 17:14:30 +03:00
georgemoralis 90e3e47c4d added stubbed mostly version of flexible memory - it allows sonic mania to go further 2024-05-02 17:13:51 +03:00
georgemoralis b0b73f1283 print param.sfo info at startup 2024-05-02 10:57:45 +03:00
psucien 7e8d90d609
core: libraries: gnmdriver: basic functionality extension (#120)
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +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
georgemoralis 0727775c88 give texture cache exception handler priority over tls exception handler 2024-04-29 19:26:35 +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 35777a9fb3 clang format fix 2024-04-28 01:34:14 +02:00
psucien 453b24eb20 config: option to select gpu for vk device 2024-04-28 01:19:04 +02:00
psucien 249373bf0d texture_cache: protection flags re-worked
* actually I gave up on clang fmt
2024-04-28 01:00:24 +02:00
psucien d2c53d0fde clang format fix 2024-04-28 00:51:34 +02:00
psucien 1047293bf2 Merge branch 'main' of github.com:raphaelthegreat/shadps4 into raph-main 2024-04-28 00:29:15 +02:00
psucien e0a4c3f1a3 texture_cache: added memory protection for Windows 2024-04-28 00:21:04 +02:00
raphaelthegreat 40c86b7688 Address feedback 2024-04-28 01:09:03 +03:00
georgemoralis fec7f6cdc2 added sceVideoOutGetVblankStatus 2024-04-18 22:32:15 +03:00
georgemoralis 1275378e21 fixing qt buids once again 2024-04-15 22:51:36 +03:00
georgemoralis de770bc668 define a linux only code 2024-04-14 19:57:58 +03:00
GPUCode c01b6f8397 video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
GPUCode 0a94899c86 src: Move control to input directory 2024-04-14 01:18:25 +03:00
GPUCode 5e2ac6c72b src: Reorganize and cleanup libraries 2024-04-14 00:37:17 +03:00
georgemoralis e99129d72f
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 6f1c2d3060 clang format fix 2024-04-09 13:40:03 +03:00
georgemoralis 7b16e9af23 improved linker resolver 2024-04-09 13:39:35 +03:00
georgemoralis bb8a400b7b dummy libscesavedatadialog 2024-04-08 19:03:51 +03:00
georgemoralis b0cd6e5178 added sceVideoOutGetVblankStatus 2024-04-07 09:27:41 +03:00
georgemoralis 598a6a88e0
Merge pull request #107 from shadps4-emu/modules4
More module work focused on undertale
2024-04-05 20:41:26 +03:00
georgemoralis 5663da21c2 more linux fix 2024-04-05 19:53:54 +03:00
georgemoralis ea4bb4773e linux build fix 2024-04-05 19:33:38 +03:00
georgemoralis fc5e133c44 added sceAudioOutSetVolume 2024-04-05 09:59:28 +03:00
georgemoralis 81143b4a9e scePadRead,scePthreadYield implementations 2024-04-05 09:27:13 +03:00
georgemoralis 5409576197 posix nanosleep call 2024-04-04 20:20:50 +03:00
georgemoralis c29f514e63 just disable audioInOpen 2024-04-04 20:07:33 +03:00
georgemoralis 935842291d dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis a049d4c491 added clock_gettime 2024-04-04 19:47:59 +03:00
georgemoralis 121759d836 somehow working scePthreadCreate 2024-04-04 19:16:10 +03:00
georgemoralis 33209a77f1
Merge pull request #102 from shadps4-emu/gui-rewrite
Gui rewrite.
2024-04-02 23:51:13 +03:00
georgemoralis c832e3831a scePthreadAttrGet , and some mutex work 2024-04-02 18:07:24 +03:00
georgemoralis 2cc03e851e added some debug info to gnm 2024-04-02 17:21:04 +03:00
georgemoralis 0b8cc8eba9 added sceKernelClockGettime 2024-04-02 08:51:17 +03:00
georgemoralis 9d8fc61954 sceSaveDataMount2 just return save data not found for now 2024-04-01 22:31:25 +03:00
georgemoralis 6066c89607 scePadGetControllerInformation added , dummy scePadSetMotionSensorState 2024-04-01 14:45:27 +03:00
georgemoralis 92e4c6b798 scePthreadMutexDestroy implemented 2024-04-01 14:21:40 +03:00
georgemoralis 06d6ad09ea log debug message to tty 2024-04-01 08:44:07 +03:00
Jonah 9af38c3309 - Removed unnecessary std::future from game_grid_frame(populate/resize) Thanks SachinVin! 2024-03-31 12:24:08 -06:00
georgemoralis 2382e77898 sceKernelClose,sceKernelRead,sceKernelLseek implementation 2024-03-31 18:04:47 +03:00
georgemoralis 03b3194c44 fixed (?) _write function 2024-03-31 18:04:11 +03:00
georgemoralis a21722a1db fixed linux issue with enums 2024-03-31 17:37:09 +03:00
georgemoralis 186fa35f13 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 0525481a9b partial implementation of _write function , which is used as debug ouput from lle libc 2024-03-31 13:33:38 +03:00
georgemoralis 8fa5874fb1 dummy libkernel module 2024-03-31 11:30:43 +03:00
georgemoralis ad7e750fa7 scePthreadAttrDestroy,scePthreadAttrGetaffinity added 2024-03-30 22:19:42 +02:00
georgemoralis 30946e21dd more clang fixes 2024-03-30 15:41:12 +02:00
georgemoralis 5373d7367d clang format fix 2024-03-30 15:39:21 +02:00
georgemoralis 94cd3be814 dummy sysmodule module 2024-03-30 15:34:01 +02:00
georgemoralis 8e8a82a310 some dummy net functions 2024-03-30 09:35:00 +02:00
Jonah c5e68ab819 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 37813c1f59 clang format fix 2024-03-29 23:28:06 +02:00
georgemoralis b36df1383a added more dummy modules 2024-03-29 23:25:52 +02:00
Jonah aaa75a7ce1 - 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 2007c0610e *facepalm* 2024-03-28 23:53:34 -06:00
Jonah 0d1a1fae07 Reuse.. 2024-03-28 23:51:38 -06:00
raziel1000 ca6f582ea8 - 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 b1e18529ac
Merge pull request #101 from Xphalnos/main
Proposed new logo for ShadPS4
2024-03-28 16:37:12 +02:00
Xphalnos c78f3ad4c5 Change logo 2024-03-28 15:29:21 +01:00
georgemoralis b60a627d44 clang format 2024-03-27 15:02:21 +02:00
georgemoralis a1468c9d79 loading libSceFios2.prx as lle as well 2024-03-27 13:00:27 +02:00
whereismyfoodat e272b152ed small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 9d4149f006 clang format fix 2024-03-26 19:51:10 +02:00
georgemoralis 489dd2c8fc scePthreadMutexattrDestroy again 2024-03-26 19:20:55 +02:00
georgemoralis 377d962478 dummy sceLibcHeapGetTraceInfo and scePthreadMutexattrDestroy 2024-03-26 19:19:52 +02:00
georgemoralis da7b4df1c3 implemented sceKernelGetProcParam 2024-03-26 18:48:26 +02:00
georgemoralis 683a0d55bf we can now load libc.prx 2024-03-26 18:29:37 +02:00
georgemoralis 1a7f5f7b31 function to start modules 2024-03-26 18:13:27 +02:00
georgemoralis bc7228fcb2 relocate before execution 2024-03-26 17:33:48 +02:00
georgemoralis e5a224aa96 rewrote relocations 2024-03-26 17:17:59 +02:00
georgemoralis 7dbe258edc improved LoadSymbols for export support 2024-03-26 14:05:18 +02:00
georgemoralis f70fbcac19 linker : Resolve can now load exports as well 2024-03-26 12:57:18 +02:00
georgemoralis 354a9c3cdb clang format fix 2024-03-26 12:33:00 +02:00
georgemoralis 596831947e small improvements on linker Resolve method 2024-03-26 12:31:46 +02:00
georgemoralis 365ae2aac9 some elf improvements 2024-03-26 00:21:38 +02:00
georgemoralis f2f04142b0 improved symbols_resolver and output 2024-03-25 09:46:36 +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
Jonah 00d401e103 - gui: firmware version display text correction (fw >= 10) 2024-03-08 11:54:30 -07:00
Younes 8ba6d7add0
- 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 12a8cf5ee9 - 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 7e54255d29 - Fixed pkg extraction. 2024-03-02 14:06:10 -07:00
qurious-pixel 58ae9c3ade
add window icons (#92) 2024-03-02 18:39:46 +02:00
Younes f2691d83b8
- 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 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
georgemoralis b3084646a8
submodules fixes (#87)
* update discord-rpc

* ignore gitmodules on reuse

* imgui not used atm removed
2024-02-27 20:24:47 +02:00
georgemoralis 08aba86ca1
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 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
georgemoralis 57ddf939d4 orbis weird sceVideoOut calls 2024-01-24 14:46:02 +02:00
Stefanos Kornilios Mitsis Poiitidis 724c56d8aa Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
georgemoralis af18453950 initial PT_TLS support 2023-11-21 17:27:11 +02:00
georgemoralis b6d98d4b72 some cleanups 2023-11-21 16:54:10 +02:00
georgemoralis 4f6dc8fddb functions libkernel to get openrorbis working (without tls) 2023-11-19 12:55:07 +02:00
georgemoralis f57f668c92 small correction 2023-11-19 10:48:59 +02:00
georgemoralis 093ebb568c initial fs implementation (mounting /app0/) 2023-11-19 10:22:46 +02:00
georgemoralis 3e8cd57986 scePthreadCond functions 2023-11-16 13:31:12 +02:00
georgemoralis 1316443c59 initial ScePthreadCond works 2023-11-16 09:14:10 +02:00
georgemoralis 776a680e85 prefix in libc functions to avoid messing with std ones 2023-11-16 09:13:50 +02:00
georgemoralis cad5ac34b0 some threadman fixes 2023-11-16 08:49:26 +02:00
georgemoralis dde91c1c4d
Merge pull request #71 from georgemoralis/undertale
Undertale-mutexes
2023-11-12 20:26:51 +02:00
georgemoralis f3c189feb3 cleanup createMutex 2023-11-12 20:23:42 +02:00
georgemoralis 8f8f0757af fixed issue in scePthreadAttrSetschedpolicy 2023-11-12 15:09:18 +02:00
georgemoralis ae12f351f8 better posix errors 2023-11-12 13:23:35 +02:00
wheremyfoodat e8c425850e some adjustments 2023-11-12 10:57:50 +02:00
georgemoralis 7e6c741ed7 added sceSystemServiceGetStatus 2023-11-11 16:25:53 +02:00
wheremyfoodat 21c8150841
[Libc] Add getptolower/getptoupper/getpctype 2023-11-11 12:28:15 +02:00
georgemoralis 7f0cf8784b improved mutex creation 2023-11-11 12:13:43 +02:00
georgemoralis 402ee7d006 init mutex if it doesn't exist when trying to lock (found in openorbis) 2023-11-11 10:49:44 +02:00
georgemoralis dbaf38dc7d mutex debugging log 2023-11-11 10:01:16 +02:00
georgemoralis 5f825fc8a8 implemented posix error return codes 2023-11-11 09:45:47 +02:00
georgemoralis 7fcea3277d some mutexlock , mutexunlock implementations 2023-11-10 23:30:28 +02:00
georgemoralis 11edfecb75 some dummy mutexlock-unlock 2023-11-10 21:08:32 +02:00
georgemoralis a10af46153 some refactoring on thread class 2023-11-10 20:51:02 +02:00
georgemoralis 91885e8a41 added sceMutexInit functions 2023-11-10 19:52:41 +02:00
georgemoralis 86bc2d427f moved thread_management to proper package 2023-11-10 17:31:56 +02:00
GPUCode 79c9d9ebd1 kernel: To snake case 2023-11-06 01:19:57 +02:00
GPUCode 099d01f96c common: Move timer to common 2023-11-06 01:17:28 +02:00
GPUCode 369d92fa56 core: Reorganize 2023-11-06 01:11:54 +02:00
GPUCode 7bccfeb8cc emulator: Use fmt::format instead of snprintf 2023-11-05 17:14:50 +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
GPUCode 6e28ac711f cmake: Refactor library management 2023-11-05 13:22:32 +02:00
georgemoralis c126925dd9 libc fprintf implementation for stdout,stderr case (needed from undertale) 2023-11-01 13:02:39 +02:00
georgemoralis 7b276e0a08 some HLE implementation for undertale game to process further 2023-11-01 12:40:56 +02:00
georgemoralis 6fba3a4380 finished libc refactoring 2023-10-31 19:08:33 +02:00
georgemoralis fd535bae6b libc separate stdlib functions to libc_stdlib 2023-10-31 18:12:05 +02:00
georgemoralis f5526977d3 libc separated string functions to libc_string 2023-10-31 17:32:56 +02:00
georgemoralis bb578ae377 cleanup libc (wip) and separated it to several files 2023-10-31 15:53:46 +02:00
georgemoralis 28a5277e2b reorganized libc package 2023-10-31 15:37:24 +02:00
georgemoralis 53a8024e43 core renaming 2023-10-31 14:28:42 +02:00
georgemoralis 11c0d79045 refactoring system service 2023-10-31 14:04:35 +02:00
georgemoralis 7391f7708a user service refactoring 2023-10-31 13:35:52 +02:00
georgemoralis bdd756a090 log scePadOpen 2023-10-31 09:04:08 +02:00
georgemoralis c488b7132d refactored libpad to new package 2023-10-31 09:01:20 +02:00
georgemoralis 93e75481c7 refactoring Core folder to core 2023-10-31 08:47:58 +02:00
georgemoralis cfdc45dfcb file_system reorganized (dummy) 2023-10-30 23:04:57 +02:00
georgemoralis 6f941c277a reimplemented sceKernelReadTsc in proper package and some abi fixes 2023-10-30 20:22:25 +02:00
georgemoralis 61e8919cf1 pause emu with p button 2023-10-30 14:52:01 +02:00
georgemoralis 0ad40cff1b implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency 2023-10-30 12:53:52 +02:00
georgemoralis 51dda8e8a5 namespace update 2023-10-30 12:43:39 +02:00
georgemoralis 3602864523 added timestamp in buttons state 2023-10-30 08:57:43 +02:00
georgemoralis 758ef332f2 implemented sceKernelGetProcessTime 2023-10-30 08:48:52 +02:00
georgemoralis f732704b83 implemented fps counter 2023-10-29 23:46:34 +02:00
georgemoralis ce2c7a7d01 restored previous timer class 2023-10-29 23:46:18 +02:00
georgemoralis 1e755d3cfc fixed return in flip() function 2023-10-29 23:36:15 +02:00
georgemoralis adbe725d79 more debugging in elf loader 2023-10-28 09:12:43 +03:00
georgemoralis 4e6bfe1772 switched elf logging to fmt 2023-10-28 08:55:58 +03:00
georgemoralis f1ddf028c2
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-28 00:09:47 +03:00
georgemoralis 4706b6b4e5
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:56:21 +03:00
georgemoralis ff2a9dd37a
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:55:18 +03:00
georgemoralis 2f0fec806a log exceptions and flush log file 2023-10-27 18:57:48 +03:00
georgemoralis af3710887c improved logging in elf loader 2023-10-27 18:28:05 +03:00
georgemoralis eb67c847a7 removed obsolute fs 2023-10-27 11:07:19 +03:00
GPUCode 0021e68aab vulkan: Remove orphan new part 2 2023-10-26 23:46:05 +03:00
GPUCode e196e35669 vulkan: Remove orphan new part 1 2023-10-26 23:38:37 +03:00
GPUCode 28819dede1 code: Replace printf/scanf with type safe fmt 2023-10-26 23:29:19 +03:00
GPUCode 33729d634e main: Remove remnants of imgui example 2023-10-26 23:15:11 +03:00
GPUCode f3504b2d25 singleton: Use unique_ptr 2023-10-26 23:13:24 +03:00
GPUCode 7cbe7c762a linker: Eliminate orphan news
* Most of these can just be on the stack, with the rest being std::vectors
2023-10-26 23:07:15 +03:00
GPUCode ca564b928c core: Rework elf loader 2023-10-26 22:55:13 +03:00
GPUCode ba299c4c00 core: Remove Timer in favour of std::chrono 2023-10-22 17:17:43 +03:00
GPUCode e2b1b059ed core: Switch to std threading primitives 2023-10-22 17:10:25 +03:00
georgemoralis f39744cf62 started 0.0.3 WIP 2023-10-22 00:20:51 +03:00
georgemoralis 1b483f1f03 updated version to v0.0.2 2023-10-21 21:37:17 +03:00
georgemoralis e9d2d37aae moved controller to host 2023-10-20 07:25:52 +03:00
georgemoralis ec362948f4 more draft fs 2023-10-19 17:52:49 +03:00
georgemoralis eb307b9cd9 draft fs design 2023-10-19 17:02:49 +03:00
georgemoralis 90d24c3a3c e_type ET_SCE_DYNAMIC seems to be valid as well 2023-10-19 13:01:20 +03:00
georgemoralis e3effe8c0a few libc (pow ,_Sin ) for ps4nes 2023-10-19 12:27:28 +03:00
georgemoralis 84393e6acc initial fs work (logging mostly) 2023-10-19 12:13:09 +03:00