Commit Graph

1384 Commits

Author SHA1 Message Date
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
georgemoralis
189d177692 some libc HLE functions needed for sonic mania 2023-10-17 18:30:09 +03:00
georgemoralis
ad83c454a7 atan2f libc HLE 2023-10-17 17:15:08 +03:00
georgemoralis
f6c97963bd cleanup gnmDriver 2023-10-16 20:56:43 +03:00
georgemoralis
044628ab13 rewrote libc_cxa 2023-10-16 20:49:52 +03:00
georgemoralis
f916fd48b0 sceVideoOutClose implementation (partial) 2023-10-16 14:34:12 +03:00
georgemoralis
675193fec3 vsnprintf implementation 2023-10-16 08:55:28 +03:00
Stefanos Kornilios Mitsis Poiitidis
fb4f7b79c0 stubs: also log return address 2023-10-15 16:09:38 +03:00
georgemoralis
d70c1f3f95 libc , _Fsin , qsort,free,strncpy,memmove HLE calls 2023-10-15 16:03:55 +03:00
georgemoralis
58721d84a0 refactoring singleton class 2023-10-15 10:03:26 +03:00
georgemoralis
0f80805d69 video_out fixes for openBor 2023-10-15 00:31:42 +03:00
georgemoralis
c0649b8d24 libc strcmp,mallon,strlen implementation 2023-10-15 00:23:01 +03:00
Stefanos Kornilios Mitsis Poiitidis
470881dc11 Stubs: Log nids for unknown ones 2023-10-14 19:07:38 +03:00
georgemoralis
13709121ac
Merge pull request #53 from georgemoralis/pad
pad implementation
2023-10-13 20:42:15 +03:00
georgemoralis
5a905b0c4f map for dpad keys to emulator 2023-10-13 20:41:03 +03:00
georgemoralis
e1b64617a8 pad somehow working 2023-10-13 17:44: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
95f1c14dcf added pad functions parameters 2023-10-09 20:39:12 +03:00
georgemoralis
1e18efcd05 misc 2023-10-09 16:54:10 +03:00
georgemoralis
bc6b740ffe _ZdlPv , _Znwm needed for breakout homebrew 2023-10-09 12:31:31 +03:00
georgemoralis
9337e859ac 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
372ac5d160 implemented sceVideoOutIsFlipPending 2023-10-07 17:25:08 +03:00
georgemoralis
b7e5714990 added rand in libc 2023-10-07 12:10:55 +03:00
georgemoralis
d96721e753 implemented some dummy pad, system_service, user_service calls 2023-10-07 12:03:03 +03:00
georgemoralis
03f19c4d13 partial fix buffer_size for tilemode 1 2023-10-06 22:03:59 +03:00
georgemoralis
67da986e19 some more HLE functions 2023-10-06 21:49:53 +03:00
georgemoralis
830542e870
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
georgemoralis
5a2ee268f8 libc cleanups 2023-10-06 16:05:34 +03:00
georgemoralis
e31365aea3 small adjustments to printf 2023-10-06 14:46:12 +03:00
georgemoralis
551455e56e printf implementation 2023-10-06 14:19:09 +03:00
georgemoralis
cefd3d95ed adapting va_arg parameters of printf 2023-10-06 13:33:45 +03:00
georgemoralis
b9c6d9d395 printf implementation from vita3k (not yet adapted) 2023-10-06 12:46:28 +03:00
georgemoralis
825d38ef31 partial printf , hello world demo (not from OpenOrbis) works 2023-10-05 18:38:36 +03:00
Stefanos Kornilios Mitsis Poiitidis
5094d3044c run_main_entry: Rewrite in asm for stack setup
- Fixes OpenOrbis loading that depends on rsp
  pointing to the argument structure, in addition
  to rdi
2023-10-02 17:26:33 +03:00
georgemoralis
809413a880 dummy libc printf call 2023-10-01 16:29:48 +03:00
wheremyfoodat
7791a8eeed
Use cstdint in types.h 2023-09-29 14:40:26 +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
05fdea61fc more work on graphics . tiles are not yet supported 2023-09-27 22:47:53 +03:00
georgemoralis
abe6d39295 more on buffer rendering, added vulkan command pool 2023-09-27 15:15:18 +03:00
georgemoralis
3b853413c7 preparing for drawing 2023-09-27 09:26:50 +03:00
georgemoralis
98ccbe7f30 update gpu memory function 2023-09-27 08:34:02 +03:00
georgemoralis
21120ac0ae finished gpu buffer creation 2023-09-27 07:45:05 +03:00
georgemoralis
c6633a511a small adjustments 2023-09-26 20:40:02 +03:00
georgemoralis
512309c8a0 even more work on videoOutbuffer 2023-09-26 20:08:03 +03:00
georgemoralis
b14e50904b more work on creating videoOutBuffer object 2023-09-26 18:56:08 +03:00
georgemoralis
1a5dd6cdfe added XXH3_64bits and calculate memory obj hashes 2023-09-26 16:00:13 +03:00
georgemoralis
7570576aa2 more abstract memoryCreateObj 2023-09-26 03:46:25 +03:00
georgemoralis
627c0d1b61 more gpu memory work 2023-09-25 15:08:36 +03:00
georgemoralis
1f0beb0ec3 gpumemory works 2023-09-25 12:04:40 +03:00
georgemoralis
59efa477ce even more work on video buffers 2023-09-25 00:06:04 +03:00
georgemoralis
f469296b78 some video buffer work 2023-09-22 10:38:21 +03:00
georgemoralis
12382ddac4 fixed some silly issues 2023-09-22 00:05:00 +03:00
georgemoralis
0859964888 almost finished vulkan init 2023-09-21 23:48:16 +03:00
georgemoralis
3c4716ba5f vulkanCreateQueues 2023-09-21 18:20:13 +03:00
georgemoralis
b1d812bb32 vulkan : createDevice 2023-09-21 12:59:48 +03:00
georgemoralis
90dc454440 Finished vulkanFindQueues 2023-09-21 12:41:51 +03:00
georgemoralis
3768dfabfc more work on vulkan queues 2023-09-20 14:19:20 +03:00
georgemoralis
48ae687191 misc 2023-09-19 17:13:37 +03:00
georgemoralis
b68f018fad Added vulkanGetSurfaceCapabilities 2023-09-19 14:02:40 +03:00
georgemoralis
faf9a03437 some vulkan queue work 2023-09-19 09:15:59 +03:00
georgemoralis
78bafe88fa even more vulkan init 2023-09-18 14:52:16 +03:00
georgemoralis
ef6da6bddb more vulkan init progress 2023-09-17 23:38:16 +03:00
georgemoralis
f6388c367e added vulkan extension initialize 2023-09-17 20:01:29 +03:00
georgemoralis
be4c88a338 fixed tiling mode checking 2023-09-16 23:05:57 +03:00
georgemoralis
e2b6c70f0a fixed vulkan compile 2023-09-16 10:51:09 +03:00
georgemoralis
243c0158c1 more to buffers 2023-09-16 00:03:11 +03:00
georgemoralis
aacbc4e675 Initial sceVideoOutRegisterBuffers function (added ErrorCodes returns) 2023-09-15 23:13:49 +03:00
georgemoralis
15089ae0b0 small fixes 2023-09-15 14:40:03 +03:00
georgemoralis
da2a942415 better event handling 2023-09-14 18:47:42 +03:00
georgemoralis
61280cb6cf initial work on sdl events 2023-09-14 16:49:47 +03:00
georgemoralis
8954a35eec basic sdl window init 2023-09-12 19:39:08 +03:00
georgemoralis
ab932e7503 event queue events now process nicely 2023-09-11 13:14:13 +03:00
georgemoralis
0c39b808bf sceVideoOutSubmitFlip implementation 2023-09-10 12:59:21 +03:00
georgemoralis
f1b1eacb67 finished sceKernelWaitEqueue implementation 2023-09-10 01:06:14 +03:00
georgemoralis
98090ae42f initial sceKernelWaitEqueue implementation (WIP) 2023-09-08 08:28:01 +03:00
georgemoralis
5b6bbfc327 sceVideoOutGetFlipStatus implementation 2023-09-06 13:45:49 +03:00
georgemoralis
fd8dc05313 fixing build 2023-09-05 15:26:03 +03:00
georgemoralis
a3bdc9e4cc sceVideoOutSetFlipRate,sceVideoOutGetResolutionStatus implementation 2023-09-05 15:14:43 +03:00
georgemoralis
466cfe96e6 more completed (but not finished) sceVideoOutAddFlipEvent 2023-09-05 14:28:52 +03:00
wheremyfoodat
3a7563ef64 fixing @georgemoralis code 2023-09-05 14:01:47 +03:00
georgemoralis
b634d512d3 WIP sceVideoOutAddFlipEvent implementation 2023-09-05 09:13:14 +03:00
georgemoralis
bc7a13370d cleanup VideoOut library code 2023-08-23 23:20:43 +03:00
georgemoralis
201294cf18 sceVideoOutOpen is not dummy now 2023-08-23 00:02:24 +03:00
georgemoralis
491e231770 implemented sceVideoOutOpen 2023-08-22 23:59:59 +03:00
georgemoralis
a8b020b153 initial video out context object 2023-08-22 00:54:44 +03:00
georgemoralis
0799c59e3f SceVideoOutVblankStatus struct 2023-08-21 20:44:53 +03:00
georgemoralis
59c2deb672 some sceVideoOut work (mostly dummy work) 2023-08-21 14:25:11 +03:00
georgemoralis
5c28ff9ee2 small logging fix 2023-08-18 11:22:01 +03:00
georgemoralis
07d1387bfe fixed logging in elf 2023-08-18 10:49:51 +03:00
georgemoralis
c80df0aab9 removed some debug code 2023-08-17 10:11:50 +03:00
georgemoralis
bba76cdf49 sceKernelCreateEqueue implemented 2023-08-17 10:10:13 +03:00
georgemoralis
c4b072e0e1 configurable loglevel in config file 2023-08-16 10:34:04 +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
6a5308d521 improvements in logging 2023-08-14 01:24:03 +03:00
georgemoralis
5a30f0711e log class : added color output based on log levels (WIP) 2023-08-13 17:33:50 +03:00
georgemoralis
04e9366cb8 refactoring log class 2023-08-13 16:54:56 +03:00
georgemoralis
ca291b6573 remove log for renaming to lowercase 2023-08-13 16:46:59 +03:00
georgemoralis
5845257e87 using our own application id for discord 2023-08-12 18:47:37 +03:00
georgemoralis
7b380e0d5f better place to init discordRPC 2023-08-12 01:02:42 +03:00
wheremyfoodat
f2b64e892b Add discord RPC 2023-08-11 20:22:26 +03:00
georgemoralis
632e2e16ff proper variable naming 2023-08-10 21:30:35 +03:00
georgemoralis
be0e7593ff sceVideoOutSetBufferAttribute attribute->option value 2023-08-10 20:20:42 +03:00
georgemoralis
6399886fea sceVideoOutSetBufferAttribute implementation 2023-08-10 20:14:44 +03:00
georgemoralis
e5f2f91a80 threading working ,fixed a big in sceKernelMapDirectMemory 2023-08-09 11:42:50 +03:00
georgemoralis
3e1386666b threading part 1 2023-08-09 10:31:18 +03:00
wheremyfoodat
d774ebdaea name conversions fixes 2023-08-08 22:44:01 +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
8b78cc1dec initial work on sceKernelMapDirectMemory 2023-08-03 14:18:55 +03:00
georgemoralis
53ce038893 recommit debug.h 2023-08-03 13:43:42 +03:00
georgemoralis
abd3dd4b5a git doesn't understand namechange 2023-08-03 13:43:25 +03:00
georgemoralis
813385caa3 improved logging in sceKernelAllocateDirectMemory 2023-08-03 13:27:07 +03:00
georgemoralis
ba8b614afc added more proper and faster hex logging conversion 2023-08-03 13:16:49 +03:00
georgemoralis
a135981fdd removed debug code 2023-08-03 13:06:23 +03:00
georgemoralis
b7420e7daa memory management refactoring 2023-08-03 13:05:13 +03:00
wheremyfoodat
3e60a67785 general refactoring and coding format fixes 2023-08-03 12:25:25 +03:00
wheremyfoodat
30c1062893 proper timer class placeholders 2023-08-03 12:11:47 +03:00
georgemoralis
1cd0489dfe placeholder for making Memory and Timer classes portable 2023-08-03 11:29:14 +03:00
georgemoralis
0f85cbe54f print memory types enum value 2023-08-03 11:13:08 +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
wheremyfoodat
13ff3588fd name conversions 2023-08-02 13:11:09 +03:00
georgemoralis
a6e1cf43d7 Refactoring PhysicalMemory 2023-08-02 08:41:41 +03:00
georgemoralis
7bc4fda33e PhysicalMemory is now singleton 2023-08-02 08:04:09 +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
818e0b7404 improvements in sceKernelAllocateDirectMemory and function logging 2023-07-27 17:56:57 +03:00
wheremyfoodat
c0c6024e2c User-defined literals 2023-07-27 15:09:52 +03:00
georgemoralis
441471370e some memory functions (videoout_basic now reaches sceKernelAllocateDirectMemory which is WIP) 2023-07-27 13:36:47 +03:00
georgemoralis
5b0e627dc0 some dummy HLE functions and implementations in libc 2023-07-26 23:52:26 +03:00
georgemoralis
7dc1f0a47b some constants defines 2023-07-26 15:13:40 +03:00
georgemoralis
d7247f9e8d stubbed Assert function . should fix #26 2023-07-26 13:18:10 +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
5706e1be1b added more PS4_SYSV_ABI codes 2023-07-21 14:53:19 +03:00
georgemoralis
28aad0a5dc Added sysv_abi , now parameters in sceVideoOutOpen is correct 2023-07-21 08:03:36 +03:00
georgemoralis
d8140ca016 added atexit() HLE function , sceVideoOutOpen appears to get invalid parameters 2023-07-20 17:53:51 +03:00
georgemoralis
98e9d970a3 we can reach atexit() function as well 2023-07-20 12:41:41 +03:00
georgemoralis
d641f7b6c4 we can now execute code (reaches init_env() function ) 2023-07-20 12:18:43 +03:00
georgemoralis
cc596083f5 more pthread progress added init for main Thread 2023-07-20 11:20:11 +03:00
wheremyfoodat
bb2de743b7 Fix compilation error maybe 2023-07-18 19:28:28 +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
ecccead408 all function for video out demo should resolve now 2023-07-17 13:53:27 +03:00
georgemoralis
35e21f9a8c more dummy GnmDriver function calls 2023-07-17 13:39:00 +03:00
georgemoralis
d9da9ade78 more dummy patching functions 2023-07-14 14:29:13 +03:00
georgemoralis
3cbbdd5b2f patching sceVideoOut functions 2023-07-13 18:36:03 +03:00
georgemoralis
063a689812 patching more dummy functions 2023-07-13 12:56:36 +03:00
georgemoralis
0ac4032d00 some missing nid names from videoout_basic demo 2023-07-12 14:44:37 +03:00
georgemoralis
81906c271a resolving relocate function and patching them (successfully done one :D) 2023-07-11 18:50:29 +03:00
georgemoralis
42dc535638 some more work on linker and added some more needed (but not currently used) memory functions 2023-07-10 14:52:14 +03:00
georgemoralis
8f36540386 kalitero usage minima sto main.cpp . Ola einai modules alla den tha katalaboun 2023-07-08 21:06:10 +03:00
Stefanos Kornilios Mitsis Poiitidis
0aaf516358 main: validate arguments 2023-07-07 13:54:44 +03:00
Stefanos Kornilios Mitsis Poiitidis
b211342d8a linux: Fix build 2023-07-07 13:49:46 +03:00
georgemoralis
0edc265dc2 progress in relocations 2023-07-06 21:55:41 +03:00
georgemoralis
6717482662 initial work on relocations 2023-07-04 18:34:23 +03:00
georgemoralis
bc2facaee4 improved memory_alloc function 2023-07-04 12:29:28 +03:00
georgemoralis
9103a545a2 small fix 2023-06-29 13:31:07 +03:00
georgemoralis
f5dd2e83a9 added windows specific timer class 2023-06-29 13:20:34 +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
11bf9d7928 elf symbols , bind ,type ,visibility 2023-06-19 06:58:22 +03:00
georgemoralis
f333098231 more progress on symbols decoding 2023-06-18 17:54:22 +03:00
georgemoralis
cae39ccf23 encode id64 for modules,libraries 2023-06-14 07:47:44 +03:00
georgemoralis
bcc6288e9e supporting self segments loading 2023-06-13 19:05:06 +03:00
georgemoralis
cfa68f2f40 Initial symbol loading 2023-06-13 07:43:58 +03:00
georgemoralis
0682830e2f DT_SCE_IMPORT_LIB,DT_SCE_ORIGINAL_FILENAME,DT_SCE_MODULE_INFO added. Dynamic loader should be ok for now 2023-06-12 08:16:20 +03:00
georgemoralis
6fcfe38e26 Added DT_OS_NEEDED_MODULE 2023-06-11 15:35:04 +03:00
georgemoralis
6e0cf378d2 Added DT_DEBUG, DT_TEXTREL,DT_FLAGS,DT_NEEDED 2023-06-09 18:10:40 +03:00
georgemoralis
94dff9b980 added DT_INIT_ARRAY, DT_FINI_ARRAY,DT_INIT_ARRAYSZ,DT_FINI_ARRAYSZ,DT_PREINIT_ARRAY,DT_PREINIT_ARRAYSZ,DT_SCE_SYMENT 2023-06-09 13:37:46 +03:00
georgemoralis
dd4dddded3 Added DT_SCE_JMPREL,DT_SCE_PLTRELSZ,DT_SCE_PLTREL,DT_SCE_RELA,DT_SCE_RELASZ,DT_SCE_RELAENT 2023-06-09 11:37:18 +03:00
georgemoralis
d995a0e286 added DT_INIT.DT_FINI,DT_OS_PLTGOT,DT_OS_SYMTAB,DT_OS_SYMTABSZ 2023-06-08 19:05:03 +03:00
georgemoralis
8932be618b parsing DT_OS_HASHZ, DT_OS_STRTAB , DT_OS_STRSZ for dynamic loader 2023-06-08 13:25:24 +03:00
georgemoralis
672e2b2d77 initial dynamic loader , parsing DT_HASH atm 2023-06-08 12:51:11 +03:00
georgemoralis
e02c0a9398 simplify main (not loading imgui and sdl for the moment) 2023-06-08 11:58:29 +03:00
georgemoralis
66ea5329d2 some more playing with zydis 2023-05-30 16:27:11 +03:00
georgemoralis
5a72e51f4e fixed typo in Disassembler 2023-05-30 13:39:08 +03:00
georgemoralis
dfc234f363 initial disasm class using zydis 2023-05-30 13:33:52 +03:00
georgemoralis
43033d6bf6 linker : loading PT_DYNAMIC , PT_DYNAMIC data 2023-05-26 19:22:43 +03:00
georgemoralis
cc471a8535 segments loading (only elf atm) 2023-05-25 18:08:10 +03:00
georgemoralis
1ad70366c6 changed hex->decimal in size variables output 2023-05-25 14:25:52 +03:00
georgemoralis
e87b793083 more progress on module to memory loading 2023-05-25 13:16:53 +03:00
georgemoralis
5d0a5af495 more work on linker , closer to load to memory 2023-05-23 19:39:24 +03:00
georgemoralis
b27942c46b some more progress on linker , elf is now load from there 2023-05-23 10:47:56 +03:00
georgemoralis
a09e2eb65a initial work on linker 2023-05-23 07:48:25 +03:00
georgemoralis
76987fb932 fix on loading elf file instead of self 2023-05-22 13:58:41 +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
08f8da2fea elfviewer : don't display section header if they don't exist (seems like commercial games doesn't have section headers) 2023-05-14 17:43:45 +03:00
georgemoralis
98068809aa elfviewer : detailed program headers info 2023-05-13 10:00:22 +03:00
georgemoralis
f2198ef27d elf headers and elf program headers in imgui elfviewer 2023-05-10 22:21:34 +03:00
georgemoralis
6511b280cf elfview imgui : added segment headers 2023-05-08 12:15:28 +03:00
georgemoralis
cda7c67e36 SELF header display on imgui elf window 2023-05-06 11:35:42 +03:00
georgemoralis
24e68b58f5 more elf tree progress 2023-05-05 09:29:16 +03:00
georgemoralis
701278348d small ElfViewer display updates 2023-05-03 19:56:18 +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