Commit graph

733 commits

Author SHA1 Message Date
psucien 8229f4a76b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien 0dbebc1902 video_core: amdgpu: proper destruction of processing thread 2024-05-29 16:02:51 +02:00
psucien 4de443dd92 libraries: libc: fix for FSin implementation 2024-05-29 16:02:49 +02:00
georgemoralis 55a73279cf improvements in definations 2024-05-28 18:24:42 +03:00
georgemoralis 26c862c746 set,poll event flag 2024-05-28 15:13:56 +03:00
georgemoralis b8ced0db35 event flag implementation from previous pr 2024-05-28 14:29:53 +03:00
raphaelthegreat 05c4542301 video_core: Address some feedback 2024-05-27 22:13:55 +03:00
raphaelthegreat 8bd9bf1a7d video_core: Add image support 2024-05-27 18:25:45 +03:00
georgemoralis f850679b6e 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 1a04516c13 fix for leaks of coroutine handle 2024-05-27 13:48:35 +03:00
TheTurtle 22b7ae4b63 video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
psucien b3c26564cd video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
TheTurtle 0aa04c60cb 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 3f6de86eb6 video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
psucien 74f92d0dae platform: restored use of magic_enum 2024-05-22 20:20:13 +02:00
psucien f56f6f7be4 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +02:00
georgemoralis 42b31266de fixed a few compiler issues 2024-05-22 14:18:05 +03:00
TheTurtle 4380066a90 video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
georgemoralis 5f4ccba7c1 improved sceKernelWaitEqueue 2024-05-18 10:02:40 +03:00
georgemoralis e7e7112687 added _read in libkernel 2024-05-18 09:51:47 +03:00
georgemoralis 3d215a9911 fixed sceKernelGetCompiledSdkVersion thanks raziel1000 2024-05-18 09:51:47 +03:00
georgemoralis baa45d7e17 added sceKernelGetCompiledSdkVersion (which return games system version ) 2024-05-18 09:51:46 +03:00
georgemoralis 721916dffb clang format 2024-05-18 09:51:46 +03:00
georgemoralis f6e0cab1f0 added scePthreadEqual 2024-05-18 09:51:46 +03:00
georgemoralis 7a6a8bfd88 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 d8e53fbb13 kernel: event queue improvements 2024-05-17 23:32:15 +02:00
psucien c462afdd02 video_out: added vblank event 2024-05-17 23:31:55 +02:00
psucien 8c95a2ba75 gnmdriver: submission lock moved out from gpu 2024-05-17 23:31:19 +02:00
psucien 6a50d6e650 platform: multiple persistent irq handlers 2024-05-17 23:30:34 +02:00
psucien 276689cc87 kernel: user event and data functions 2024-05-17 23:29:10 +02:00
psucien dc8759b4e0 renderer_vulkan: state tracking for Image resources 2024-05-17 12:44:07 +02:00
psucien 851bd00251 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien 0d443ac467 amdgpu: non-blocking submitDone 2024-05-17 08:22:47 +02:00
psucien b1eaec2ea1 amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien c69c0d1649 fix for crash in apps when splash is missing 2024-05-16 16:59:38 +03:00
psucien cd077362c3 review comments 2024-05-16 16:59:04 +03:00
psucien 73822cec36 stb image moved to externals 2024-05-16 16:59:04 +03:00
georgemoralis 521fc0401f show title splash while the game is loading 2024-05-16 16:58:14 +03:00
TheTurtle 94caa0336e 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 d252680fa8 Merge pull request #131 from shadps4-emu/ngs2_work
Trying for ngs2 lle
2024-05-15 15:34:26 +03:00
georgemoralis 7ff3324719 clang format fix 2024-05-15 13:10:51 +03:00
georgemoralis b9d68c55b2 even more linux fixes 2024-05-15 13:09:05 +03:00
georgemoralis 17e2e028c0 fixing linux compile 2024-05-15 12:57:58 +03:00
georgemoralis 085ffe359b 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 18d7b08400 renderer_vk: missing barriers (#134) 2024-05-14 23:46:34 +03:00
psucien 1857828b50 graphics: separate IRQ for GPU driven flips 2024-05-14 21:33:20 +02:00
georgemoralis 1b0604a477 scePthreadCondSignal added 2024-05-13 22:53:50 +03:00
georgemoralis 463aef35a9 scePthreadMutexTrylock and some more libcinternal functions 2024-05-13 20:09:32 +03:00
georgemoralis 9ea9a9efec Initial LibcInternal 2024-05-13 16:13:33 +03:00
georgemoralis 9ee7cf81a5 pthread_self , scePthreadCondSignal , scePthreadCondWait ,scePthreadCondattrDestroy 2024-05-13 15:08:15 +03:00
georgemoralis fc2b0d4265 added sys_modules folder and ability to load system modules (currently we try ngs2) 2024-05-13 15:01:45 +03:00
georgemoralis c617eb3df6 scePthreadDetach , scePthreadAttrSetstacksize , clock_gettime 2024-05-13 14:04:25 +03:00
georgemoralis ce117e3a0c possible fix for linux(?) 2024-05-12 19:36:40 +03:00
georgemoralis e0e5f3ee70 reuse fix 2024-05-12 19:08:26 +03:00
georgemoralis c91fb76b57 sceKernelConvertUtcToLocaltime implemented 2024-05-12 19:03:51 +03:00
georgemoralis 28f3d75dd2 updated aerolib 2024-05-12 17:51:20 +03:00
georgemoralis 9594bfa85a Merge remote-tracking branch 'origin/main' into kernel_stuff 2024-05-11 10:20:32 +03:00
psucien 8edce87dac review comments applied 2024-05-11 00:04:04 +02:00
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
wheremyfoodat 85b7621354 [Libc] Add getptolower/getptoupper/getpctype 2023-11-11 12:28:15 +02:00
georgemoralis c836198a74 improved mutex creation 2023-11-11 12:13:43 +02:00
georgemoralis a4342d07b4 init mutex if it doesn't exist when trying to lock (found in openorbis) 2023-11-11 10:49:44 +02:00
georgemoralis 690fa43f97 mutex debugging log 2023-11-11 10:01:16 +02:00
georgemoralis 6e948ccf33 implemented posix error return codes 2023-11-11 09:45:47 +02:00
georgemoralis 7945e53bd1 some mutexlock , mutexunlock implementations 2023-11-10 23:30:28 +02:00
georgemoralis c93f5acf40 some dummy mutexlock-unlock 2023-11-10 21:08:32 +02:00
georgemoralis da9e93b4c9 some refactoring on thread class 2023-11-10 20:51:02 +02:00
georgemoralis 280b340598 added sceMutexInit functions 2023-11-10 19:52:41 +02:00
georgemoralis 5c8a34609d moved thread_management to proper package 2023-11-10 17:31:56 +02:00
GPUCode 3b69d5aaaa kernel: To snake case 2023-11-06 01:19:57 +02:00
GPUCode 0150a3e9eb common: Move timer to common 2023-11-06 01:17:28 +02:00
GPUCode 477b4fb07f core: Reorganize 2023-11-06 01:11:54 +02:00
GPUCode 3359f9289d emulator: Use fmt::format instead of snprintf 2023-11-05 17:14:50 +02:00
GPUCode 8ad26a4dc8 common: Move classes to common namespace 2023-11-05 16:56:28 +02:00
GPUCode 9cc85f4635 src: Move certain headers in common 2023-11-05 13:41:26 +02:00
GPUCode 963f665b6f cmake: Refactor library management 2023-11-05 13:22:32 +02:00
georgemoralis a52c11dbb8 libc fprintf implementation for stdout,stderr case (needed from undertale) 2023-11-01 13:02:39 +02:00
georgemoralis cb023852b7 some HLE implementation for undertale game to process further 2023-11-01 12:40:56 +02:00
georgemoralis 34846e8b1b finished libc refactoring 2023-10-31 19:08:33 +02:00
georgemoralis 90efe48b27 libc separate stdlib functions to libc_stdlib 2023-10-31 18:12:05 +02:00
georgemoralis e07cfa1d0f libc separated string functions to libc_string 2023-10-31 17:32:56 +02:00
georgemoralis 13b8a74a43 cleanup libc (wip) and separated it to several files 2023-10-31 15:53:46 +02:00
georgemoralis 6e63d783e5 reorganized libc package 2023-10-31 15:37:24 +02:00
georgemoralis 6e1b06e606 core renaming 2023-10-31 14:28:42 +02:00
georgemoralis a8cd1ac26d refactoring system service 2023-10-31 14:04:35 +02:00
georgemoralis 0eef2a0fba user service refactoring 2023-10-31 13:35:52 +02:00
georgemoralis c3a23727d5 log scePadOpen 2023-10-31 09:04:08 +02:00
georgemoralis 35e632a2f0 refactored libpad to new package 2023-10-31 09:01:20 +02:00
georgemoralis 5d90022f6a refactoring Core folder to core 2023-10-31 08:47:58 +02:00
georgemoralis 5499d1c81c file_system reorganized (dummy) 2023-10-30 23:04:57 +02:00
georgemoralis 773cd6db33 reimplemented sceKernelReadTsc in proper package and some abi fixes 2023-10-30 20:22:25 +02:00
georgemoralis 7703477af2 pause emu with p button 2023-10-30 14:52:01 +02:00
georgemoralis b668c1424c implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency 2023-10-30 12:53:52 +02:00
georgemoralis 5127fdcd23 namespace update 2023-10-30 12:43:39 +02:00
georgemoralis 1b63349ef4 added timestamp in buttons state 2023-10-30 08:57:43 +02:00
georgemoralis eb783a1d70 implemented sceKernelGetProcessTime 2023-10-30 08:48:52 +02:00
georgemoralis d8523271e4 implemented fps counter 2023-10-29 23:46:34 +02:00
georgemoralis 2b9fecf6d0 restored previous timer class 2023-10-29 23:46:18 +02:00
georgemoralis 28ef4b2a8e fixed return in flip() function 2023-10-29 23:36:15 +02:00
georgemoralis 08b2f5906e more debugging in elf loader 2023-10-28 09:12:43 +03:00
georgemoralis e847f317e8 switched elf logging to fmt 2023-10-28 08:55:58 +03:00
georgemoralis 3ad4d77660 Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-28 00:09:47 +03:00
georgemoralis c1ea924cef Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:56:21 +03:00
georgemoralis 14315740f2 Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:55:18 +03:00
georgemoralis 389f798ec4 log exceptions and flush log file 2023-10-27 18:57:48 +03:00
georgemoralis b38f9c28ac improved logging in elf loader 2023-10-27 18:28:05 +03:00
georgemoralis 1ca3d68f59 removed obsolute fs 2023-10-27 11:07:19 +03:00
GPUCode 4579122515 vulkan: Remove orphan new part 2 2023-10-26 23:46:05 +03:00
GPUCode 944401aa7a vulkan: Remove orphan new part 1 2023-10-26 23:38:37 +03:00
GPUCode 5118435d65 code: Replace printf/scanf with type safe fmt 2023-10-26 23:29:19 +03:00
GPUCode 9ceef6e6f6 main: Remove remnants of imgui example 2023-10-26 23:15:11 +03:00
GPUCode bd8e74f4ef singleton: Use unique_ptr 2023-10-26 23:13:24 +03:00
GPUCode 3b71da6272 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 17be88be2e core: Rework elf loader 2023-10-26 22:55:13 +03:00
GPUCode eef2973a46 core: Remove Timer in favour of std::chrono 2023-10-22 17:17:43 +03:00
GPUCode 7b6a127051 core: Switch to std threading primitives 2023-10-22 17:10:25 +03:00
georgemoralis 6fb5c68812 started 0.0.3 WIP 2023-10-22 00:20:51 +03:00
georgemoralis 680b986bbc updated version to v0.0.2 2023-10-21 21:37:17 +03:00
georgemoralis a805718d6c moved controller to host 2023-10-20 07:25:52 +03:00
georgemoralis a16ab298b1 more draft fs 2023-10-19 17:52:49 +03:00
georgemoralis bf16dbee34 draft fs design 2023-10-19 17:02:49 +03:00
georgemoralis 9d3f1f9c35 e_type ET_SCE_DYNAMIC seems to be valid as well 2023-10-19 13:01:20 +03:00
georgemoralis 5f7b971385 few libc (pow ,_Sin ) for ps4nes 2023-10-19 12:27:28 +03:00
georgemoralis d40728f023 initial fs work (logging mostly) 2023-10-19 12:13:09 +03:00
georgemoralis a45ad0b0f8 some libc HLE functions needed for sonic mania 2023-10-17 18:30:09 +03:00
georgemoralis 7e5719398f atan2f libc HLE 2023-10-17 17:15:08 +03:00
georgemoralis 6db0e0f1c9 cleanup gnmDriver 2023-10-16 20:56:43 +03:00
georgemoralis e78b470668 rewrote libc_cxa 2023-10-16 20:49:52 +03:00
georgemoralis bac05cc010 sceVideoOutClose implementation (partial) 2023-10-16 14:34:12 +03:00
georgemoralis 0f5814418c vsnprintf implementation 2023-10-16 08:55:28 +03:00
Stefanos Kornilios Mitsis Poiitidis 5bdbc3584a stubs: also log return address 2023-10-15 16:09:38 +03:00
georgemoralis e73ae3d586 libc , _Fsin , qsort,free,strncpy,memmove HLE calls 2023-10-15 16:03:55 +03:00
georgemoralis fd2bfc869b refactoring singleton class 2023-10-15 10:03:26 +03:00
georgemoralis 98f773b51e video_out fixes for openBor 2023-10-15 00:31:42 +03:00
georgemoralis 0762f54656 libc strcmp,mallon,strlen implementation 2023-10-15 00:23:01 +03:00
Stefanos Kornilios Mitsis Poiitidis 5570fab8c6 Stubs: Log nids for unknown ones 2023-10-14 19:07:38 +03:00
georgemoralis 661e2e13f9 Merge pull request #53 from georgemoralis/pad
pad implementation
2023-10-13 20:42:15 +03:00
georgemoralis 01e90a85d3 map for dpad keys to emulator 2023-10-13 20:41:03 +03:00
georgemoralis 718d921aa4 pad somehow working 2023-10-13 17:44:15 +03:00
georgemoralis 70487a4fed some work on pad emulation (WIP) 2023-10-13 09:40:59 +03:00
Stefanos Kornilios Mitsis Poiitidis a239ac10f3 Add auto stubs, static init
- Adds a python script to generate the tables, to avoid std::map init
- Generates stub "slots" to provide runtime information when a stub is called
- Provides fallback for unknown stubs
2023-10-11 11:50:02 +03:00
georgemoralis 3b38e27465 added pad functions parameters 2023-10-09 20:39:12 +03:00
georgemoralis ab2e3b3c31 misc 2023-10-09 16:54:10 +03:00
georgemoralis 768972dc89 _ZdlPv , _Znwm needed for breakout homebrew 2023-10-09 12:31:31 +03:00
georgemoralis 04b2eb648d force cpu->gpu sync after flipsubmit . this is not probably correct behaviour but neccesary for niko's homebrew 2023-10-07 17:28:50 +03:00
georgemoralis 34df1e8e64 implemented sceVideoOutIsFlipPending 2023-10-07 17:25:08 +03:00
georgemoralis dbc7a76934 added rand in libc 2023-10-07 12:10:55 +03:00
georgemoralis e748468ab1 implemented some dummy pad, system_service, user_service calls 2023-10-07 12:03:03 +03:00
georgemoralis ed11e09cdf partial fix buffer_size for tilemode 1 2023-10-06 22:03:59 +03:00
georgemoralis 59ec120563 some more HLE functions 2023-10-06 21:49:53 +03:00
georgemoralis 394922bf77 Merge pull request #45 from georgemoralis/libc_HLE_implementations
HLE printf and refactoring to some libc functions
2023-10-06 16:11:10 +03:00