Commit Graph

378 Commits

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