Commit graph

282 commits

Author SHA1 Message Date
georgemoralis f1883870fd Initial LibcInternal 2024-05-13 16:13:33 +03:00
georgemoralis b00b849d3f use winpthreads from mingw64 2024-05-09 23:45:09 +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 90e3e47c4d added stubbed mostly version of flexible memory - it allows sonic mania to go further 2024-05-02 17:13:51 +03:00
georgemoralis 2308d7f1d6 better way for compiler option 2024-05-02 15:48:48 +03:00
georgemoralis 6f1e488b37 fixed stack allocation issue 2024-05-02 10:57:24 +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
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 7b5d8e5ff9 trying to fix actions (again) 2024-04-15 20:35:49 +03:00
georgemoralis 096316619a fixing qt builds 2024-04-15 20:20:00 +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 bb8a400b7b dummy libscesavedatadialog 2024-04-08 19:03:51 +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 935842291d dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis 33209a77f1
Merge pull request #102 from shadps4-emu/gui-rewrite
Gui rewrite.
2024-04-02 23:51:13 +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 94cd3be814 dummy sysmodule module 2024-03-30 15:34:01 +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 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
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
georgemoralis 552d2da17a should work without lib 2024-02-23 14:33:01 +02:00
georgemoralis b62c44c914 ugly workaround :D 2024-02-23 14:10:44 +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 093ebb568c initial fs implementation (mounting /app0/) 2023-11-19 10:22:46 +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 1cf032eeb1 cmake: Add directory groups 2023-11-05 17:08:47 +02:00
GPUCode a0b80893db cmake: Update CMakeLists.txt 2023-11-05 14:21:20 +02:00
GPUCode 6e28ac711f cmake: Refactor library management 2023-11-05 13:22:32 +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 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 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 758ef332f2 implemented sceKernelGetProcessTime 2023-10-30 08:48:52 +02:00
georgemoralis ce2c7a7d01 restored previous timer class 2023-10-29 23:46:18 +02:00
georgemoralis eb67c847a7 removed obsolute fs 2023-10-27 11:07:19 +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 e9d2d37aae moved controller to host 2023-10-20 07:25:52 +03:00
georgemoralis 08b0057754
Merge pull request #58 from georgemoralis/fs
filesystem work
2023-10-20 07:07:59 +03:00
wheremyfoodat 077b254a4f Add Result<T, E> type 2023-10-19 18:39:20 +03:00
georgemoralis eb307b9cd9 draft fs design 2023-10-19 17:02:49 +03:00
georgemoralis 84393e6acc initial fs work (logging mostly) 2023-10-19 12:13:09 +03:00
georgemoralis 044628ab13 rewrote libc_cxa 2023-10-16 20:49:52 +03:00
georgemoralis 58721d84a0 refactoring singleton class 2023-10-15 10:03:26 +03:00
georgemoralis 13709121ac
Merge pull request #53 from georgemoralis/pad
pad implementation
2023-10-13 20:42:15 +03:00
georgemoralis da9adf84c0 some work on pad emulation (WIP) 2023-10-13 09:40:59 +03:00
Stefanos Kornilios Mitsis Poiitidis f1ce6fe669 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 d96721e753 implemented some dummy pad, system_service, user_service calls 2023-10-07 12:03:03 +03:00
georgemoralis 67da986e19 some more HLE functions 2023-10-06 21:49:53 +03:00
georgemoralis 551455e56e printf implementation 2023-10-06 14:19:09 +03:00
georgemoralis 1395fd4939 v0.0.1 release files 2023-09-29 08:40:30 +03:00
georgemoralis 23eeec09d0 WIP tilemanager 2023-09-28 18:17:39 +03:00
georgemoralis 1a5dd6cdfe added XXH3_64bits and calculate memory obj hashes 2023-09-26 16:00:13 +03:00
georgemoralis 627c0d1b61 more gpu memory work 2023-09-25 15:08:36 +03:00
georgemoralis f469296b78 some video buffer work 2023-09-22 10:38:21 +03:00
georgemoralis f6388c367e added vulkan extension initialize 2023-09-17 20:01:29 +03:00
georgemoralis e2b6c70f0a fixed vulkan compile 2023-09-16 10:51:09 +03:00
georgemoralis 8954a35eec basic sdl window init 2023-09-12 19:39:08 +03:00
georgemoralis bc7a13370d cleanup VideoOut library code 2023-08-23 23:20:43 +03:00
georgemoralis a8b020b153 initial video out context object 2023-08-22 00:54:44 +03:00
georgemoralis bba76cdf49 sceKernelCreateEqueue implemented 2023-08-17 10:10:13 +03:00
georgemoralis c3135341c2 reorganize function call to proper file 2023-08-15 23:10:45 +03:00
wheremyfoodat a0ab3dbc0c added configuration class 2023-08-14 20:17:01 +03:00
georgemoralis 04e9366cb8 refactoring log class 2023-08-13 16:54:56 +03:00
wheremyfoodat f2b64e892b Add discord RPC 2023-08-11 20:22:26 +03:00
georgemoralis 6399886fea sceVideoOutSetBufferAttribute implementation 2023-08-10 20:14:44 +03:00
georgemoralis 3e1386666b threading part 1 2023-08-09 10:31:18 +03:00
georgemoralis 25e1095c7e implemented sceKernelMapDirectMemory 2023-08-08 22:24:17 +03:00
georgemoralis c412a5cb0b aligned memory allocation using VirtualAlloc2 2023-08-07 18:16:26 +03:00
georgemoralis 3cb89c4b5c refactoring virtual_memory 2023-08-06 22:52:20 +03:00
georgemoralis 1e57ccc6ec refactoring 2023-08-04 11:33:00 +03:00
georgemoralis 7b7a659ba9 forgot cmake 2023-08-03 13:05:36 +03:00
wheremyfoodat 3e60a67785 general refactoring and coding format fixes 2023-08-03 12:25:25 +03:00
georgemoralis c0e1ace5fc more refactoring 2023-08-02 15:16:00 +03:00
georgemoralis 7773e11c2d refactoring 2023-08-02 13:51:10 +03:00
georgemoralis a6e1cf43d7 Refactoring PhysicalMemory 2023-08-02 08:41:41 +03:00
georgemoralis dcac8c1661 sceKernelAllocateDirectMemory should be ok for now 2023-08-01 17:59:08 +03:00
georgemoralis 770f743a49 ugly PhysicalMemory 2023-08-01 17:02:26 +03:00
georgemoralis 0e1ca354a9 Added Thread class 2023-08-01 12:49:57 +03:00
georgemoralis 692759099f improved StringUtil algo + some PhysicalMemory work 2023-08-01 00:42:49 +03:00
georgemoralis 441471370e some memory functions (videoout_basic now reaches sceKernelAllocateDirectMemory which is WIP) 2023-07-27 13:36:47 +03:00
georgemoralis 2b9aaff641 portable debugbreak
ευχαριστώ ροδάκινε

Co-Authored-By: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2023-07-24 13:05:57 +03:00
georgemoralis ce95520f38 some pthread work nothing exciting 2023-07-18 18:54:46 +03:00
georgemoralis f03c1a5fb4 initial thread management files 2023-07-17 23:46:25 +03:00
georgemoralis 5180a282ed updates submodules to latest 2023-07-17 23:19:33 +03:00
georgemoralis 063a689812 patching more dummy functions 2023-07-13 12:56:36 +03:00
georgemoralis 20c0960cc6 dummy timer class 2023-06-29 13:17:05 +03:00
georgemoralis 79a6464c58 sample hle function loading (libc) 2023-06-28 20:15:19 +03:00
georgemoralis e0cee2d7fd started work on libraries linking 2023-06-26 20:45:16 +03:00
georgemoralis b8c542805f Symbol resolver added 2023-06-26 18:12:19 +03:00
Esdras Tarsis 1e57195ded Add initial Linux support. 2023-06-22 22:48:55 -03:00
georgemoralis 8acfc3d557 nid names resolver 2023-06-21 18:14:52 +03:00
georgemoralis cc34a85c54 more symbols work and refactoring 2023-06-19 07:51:56 +03:00
georgemoralis f333098231 more progress on symbols decoding 2023-06-18 17:54:22 +03:00
georgemoralis dfc234f363 initial disasm class using zydis 2023-05-30 13:33:52 +03:00
georgemoralis a09e2eb65a initial work on linker 2023-05-23 07:48:25 +03:00
georgemoralis 5f0b15e2fa draft work on memory allocation 2023-05-17 19:29:05 +03:00
georgemoralis 81ca77a464 initial work on loggin class 2023-05-16 19:31:53 +03:00
georgemoralis 45420b340e cmake : copy sdl3.dll to directory where exe exists (since sdl3 is shared library) 2023-05-10 22:22:46 +03:00
georgemoralis dda7020ef4 imgui elfviewer window . first draft 2023-05-03 19:40:47 +03:00
georgemoralis f35f7b62cd we can now load elf and imgui. 2023-05-02 22:10:49 +03:00
georgemoralis 72bdf22035 added spdlog library 2023-05-02 22:10:49 +03:00
georgemoralis f998469730 added fmt library 2023-05-02 22:10:49 +03:00
georgemoralis 222d0204db first try with cmake and imgui 2023-05-02 22:10:49 +03:00