Commit Graph

165 Commits

Author SHA1 Message Date
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
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
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
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 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 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 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
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
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 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
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