Commit Graph

484 Commits

Author SHA1 Message Date
georgemoralis
84a39e2fb0 load existing lle modules from sys_module folder 2024-06-26 14:43:01 +03:00
Alexandre Bouvier
a2224a9b6b fix system include paths 2024-06-25 18:17:16 +02:00
georgemoralis
8f45be7d44
Merge pull request #213 from shadps4-emu/hle/trophies
A better stub for trophies
2024-06-25 18:38:35 +03:00
psucien
9b3a89467e fix for Linux build 2024-06-25 17:14:12 +02:00
georgemoralis
c8a149c983
Merge pull request #214 from shadps4-emu/miscFixes
Misc fixes
2024-06-25 17:55:57 +03:00
psucien
3b2a312f15 kernel: thread_management: silence compilation warning 2024-06-25 09:56:19 +02:00
psucien
ff64dd74f6 libraries: trophy: a better stubs implementation 2024-06-25 09:43:26 +02:00
psucien
8475a62a46 common: Common namespace for the slot vector container 2024-06-25 09:31:32 +02:00
psucien
c04fbb75d8 libraries: gnm_driver: added sceGnmDrawIndexIndirect and sceGnmDrawIndirect 2024-06-24 22:53:59 +02:00
psucien
508d034263 libraries: gnm_driver: added sceGnmSetEmbeddedPsShader 2024-06-24 14:51:17 +02:00
georgemoralis
1b6cb32b34 re-fix 2024-06-24 13:46:45 +03:00
georgemoralis
640354667e insure we reset padData 2024-06-24 13:41:18 +03:00
georgemoralis
ad4db71e00 missing touchpad reset in scePadReadState 2024-06-24 13:26:18 +03:00
georgemoralis
6d2b2779ea added sceKernelPwrite 2024-06-24 13:25:50 +03:00
psucien
cb6b21de1f
Initial instancing and asynchronous compute queues (#207)
* gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource`

* video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime

* gnm_driver: correct vqid index range

* amdgpu: indirect buffer, release mem and some additional irq modes

* amdgpu: added ASC commands processor

* shader_recompiler: added support for fetch instance id

* amdgpu: classic bitfields for T# representation (debugging experience)

* renderer_vulkan: skip zero sized VBs from binding

* texture_cache: image upload logic moved into `Image` object

* gnm_driver: `sceGnmDingDong` implementation

* texture_cache: `Image` usage flags moved; correct VO buffer pitch
2024-06-22 19:50:20 +03:00
georgemoralis
94b9992d99 more clang format fix (final) 2024-06-22 18:17:40 +03:00
georgemoralis
11a3906243 clang fix 2024-06-22 18:12:04 +03:00
IndecisiveTurtle
73d60b7e8d linker: Set rela bits for all symbol types 2024-06-22 18:09:04 +03:00
IndecisiveTurtle
11bfdf2348 kernel: Add noreturn 2024-06-22 18:09:04 +03:00
IndecisiveTurtle
30199fe701 kernel: Add scePthreadExit 2024-06-22 18:09:04 +03:00
IndecisiveTurtle
30351ad112 linker: Fix TLS for dynamic modules
* Technically not fully accurate but it works. TlsGetAddr should handle dynamic allocation of TLS blocks
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
2506a285f4 kernel: Implement some functions 2024-06-22 18:09:03 +03:00
IndecisiveTurtle
7bdaeafdfd kernel: Make sceKernelUsleep interruptible 2024-06-22 18:09:03 +03:00
georgemoralis
7519d4610c added missing buttons and analog buttons to keyboard 2024-06-21 14:37:49 +03:00
georgemoralis
19edb8155f fixed stupid directory iterator issue 2024-06-20 22:29:08 +03:00
georgemoralis
1b2c3ccc42 better dirents 2024-06-20 21:13:17 +03:00
georgemoralis
49601f58ed initial dents support 2024-06-20 18:09:40 +03:00
georgemoralis
0325e4795a posix_pthread_yield , scePadGetHandle 2024-06-20 17:10:14 +03:00
georgemoralis
48d6ccd9bb partially added analog controls 2024-06-17 12:52:25 +03:00
georgemoralis
57c65cadb8 fixes to the old pad code 2024-06-17 09:02:06 +03:00
georgemoralis
9501bd77d4 clang fix 2024-06-17 09:02:06 +03:00
georgemoralis
0aa29428e1 new pad module structured using modulegenerator , added common pad structures and function signatures 2024-06-17 09:02:06 +03:00
raziel1000
52f3b74fdd Missing sceKernelUuidCreate nid 2024-06-15 17:01:20 -06:00
TheTurtle
ca25333a1e
core: Address a few more regressions (#202)
* tls: Actaully fix TLS on linux

* emulator: Remove nptoolkit

* Not quite supported yet, makes games misbehave

* kernel: Back to SCHED_OTHER

* kernel: Remove unused signal function

* address_space: Fix Unmap call on linux

* clang format
2024-06-16 01:50:07 +03:00
psucien
e6f773f950 videoout: register buffers in texture cache at VO creation time 2024-06-15 23:24:33 +02:00
psucien
fd8ceacef7 video_core: shaders hash switched to one from binary header 2024-06-15 23:24:32 +02:00
psucien
a0fe34b01f tracy: added PthreadMutex markup 2024-06-15 23:20:14 +02:00
psucien
142ad54876 gnmdriver: fix for pm4 dump name in some erroneous cases 2024-06-15 23:20:14 +02:00
psucien
1e69f83d9e libraries: fix for Windows crash during LLE libc initialization 2024-06-15 20:04:36 +02:00
Younes
0fa7d5d02c
- sceKernelUuidCreate, sceAppContentAppParamGetInt, sceAppContentTemporaryDataMount2 (#199)
- PlayGo
- stub libusbd
-added /temp0 and /data mounts at emu start.
(Ghost Files: Memory of a Crime, Abyss: The Wraiths of Eden)
- some posix functions
2024-06-15 17:51:51 +03:00
TheTurtle
c5d1d579b1
core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
raziel1000
080ec3e23e Added LibPngDec
(tested with Metal Slug 3, Risk of Rain, Deadbolt and Nidhogg)
2024-06-14 01:37:26 -06:00
TheTurtle
31bd502764
core: Fixup linux support (#195)
* tls: Implement for linux

* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
georgemoralis
400d910743
Merge pull request #184 from shadps4-emu/externals/tracy
Tracy profiler
2024-06-12 17:19:44 +03:00
georgemoralis
8362e2c497 fixed windows qt build 2024-06-11 23:26:13 +03:00
georgemoralis
8612907831 really fixed typo 2024-06-11 22:41:35 +03:00
georgemoralis
991d44bde6 fix typo 2024-06-11 19:36:17 +03:00
georgemoralis
e8fa9e0e89 added libScePosix nanosleep 2024-06-11 16:42:15 +03:00
psucien
04b1226e9c tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
georgemoralis
bff2f006fb
Merge pull request #190 from shadps4-emu/stabilization_three
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000
0f27e0edf2 - Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/<title> (can be restored if deleted by accident by opening the trophy viewer)
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)
2024-06-10 20:42:21 -06:00
psucien
7fcb758da2 timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
TheTurtle
8ce58389ad
kernel: Implement gettimeofday + other misc fixes (#187)
* kernel: Add gettimeofday

* kernel: Move sceKernelReleaseDirectMemory where it belongs

* savedata: Stub sceSaveDataDialogUpdateStatus to return finished

* memory: Add lock to VirtualQuery and remove debug print

* clang format

* fixed linux build?

* special case for sceKernelWrite (stdin,stdout,stderr)

* special case for case savedata mount

* reduced mutex spamming

* added missing default rwlock attributes init

* kernel: Add more sleep functions

* file_system: Add some functions

* memory: Missed adding some functions

* kernel: Moved some functions to time

* kernel: Fix build error

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-10 22:59:12 +03:00
georgemoralis
6f8d99fbf2 fixed posix_stat error return 2024-06-10 18:09:22 +03:00
georgemoralis
3318f12639 fixed possible nullptr crash on rwlock create 2024-06-10 18:01:50 +03:00
raphaelthegreat
1092b1bcff Fix linux build 2024-06-10 12:13:24 +03:00
raphaelthegreat
fc887bf3f5 core: Rework memory manager 2024-06-10 02:13:44 +03:00
georgemoralis
1a66fa098f
Merge pull request #174 from shadps4-emu/kernel_stuff
- sceKernelOpen: added rdwr and append modes
2024-06-09 08:26:03 +03:00
raziel1000
a790c30c28 added sceKernelSleep and small fix on usleep 2024-06-08 18:43:08 -06:00
georgemoralis
ac192134e8
Merge pull request #175 from shadps4-emu/missing_gnm_calls
Additional GnmDriver functions
2024-06-09 00:58:45 +03:00
psucien
d902339867 gnmdriver: sceGnmDrawInitDefaultHardwareState175 added 2024-06-08 23:42:09 +02:00
georgemoralis
908eaa102d clang format fix 2024-06-09 00:26:12 +03:00
georgemoralis
84dca0a5dd added sceKernelTriggerUserEvent,sceKernelDeleteUserEvent 2024-06-09 00:23:58 +03:00
georgemoralis
2e6c28c34c partial sceKernelFStat 2024-06-08 23:53:38 +03:00
georgemoralis
5be6777220 added sceKernelPread 2024-06-08 23:25:20 +03:00
georgemoralis
a1efcd9832 added rtc and disc_map modules 2024-06-08 22:41:25 +03:00
raziel1000
d3adcf2e6c posix_pthread_mutex_trylock
posix_pthread_attr_setdetachstate
posix_pthread_attr_destroy
posix_pthread_create_name_np
posix_pthread_join
2024-06-08 11:13:02 -06:00
georgemoralis
c16275fe16 posix_usleep,posix_pthread_equal 2024-06-08 20:01:28 +03:00
raphaelthegreat
e9679f8309 address_space: Don't reserve space again 2024-06-08 19:10:32 +03:00
georgemoralis
05e4a4b4e1 hackish random/urandom support 2024-06-08 10:22:28 +03:00
georgemoralis
8115665a90 fixed sceKernelClose when decriptor is negative value 2024-06-08 09:56:57 +03:00
raziel1000
3b34aebe06 - sceKernelOpen: added rdwr and append modes
- saveDataMount: added mount mode 9, 28 and 34
- pthread: added a bunch of needed functions
- mem: added sceKernelMapNamedDirectMemory
2024-06-08 00:23:55 -06:00
psucien
edaeee194d libs: gnmdriver: get tessellation ring factor address 2024-06-08 01:19:52 +02:00
psucien
9ca083ee06 libs: gnmdriver: map compute queue 2024-06-08 01:19:52 +02:00
georgemoralis
5d24a961cb
RWLocks implementation (#171)
* added dummy rwlock

* implemented part of rwlock functions (WIP)

* implemented the most important functions for rwlocks
2024-06-07 21:30:26 +03:00
TheTurtle
998d046210
video_core: Add depth buffer support and fix some bugs (#172)
* memory: Avoid crash when alignment is zero

* Also remove unused file

* shader_recompiler: Add more instructions

* Also fix some minor issues with a few existing instructions

* control_flow: Don't emit discard for null exports

* renderer_vulkan: Add depth buffer support

* liverpool: Fix wrong color buffer number type and viewport zscale

* Also add some more formats
2024-06-07 16:26:43 +03:00
raphaelthegreat
705d326a6d kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +03:00
TheTurtle
728249f58d
core: Properly implement TLS (#164)
* core: Split module code from linker

* linker: Properly implement thread local storage

* kernel: Fix a few memory functions

* kernel: Implement module loading

* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien
863d80c16c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02:00
psucien
f624f7749c
Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
georgemoralis
323e66f765 added app_content module 2024-05-31 15:03:05 +03:00
georgemoralis
3320156a27 fixed a case in sceKernelCreateEventFlag (found in Super Meat boy) 2024-05-30 20:16:16 +03:00
georgemoralis
3d749bc904 added sceSaveDataMount needed for Cursed Castilla 2024-05-30 19:14:06 +03:00
georgemoralis
4749782a68 scePthreadCondTimedwait needed for Hyper Light Drifter 2024-05-30 19:14:06 +03:00
georgemoralis
dc3ab91a76 fixed sonic mania savedata 2024-05-30 19:14:06 +03:00
raphaelthegreat
dd91456b48 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
raphaelthegreat
58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien
7fc273c6bc clang fmt 2024-05-29 20:31:34 +02:00
psucien
db113bbc7b videoout, platform: fix for ooo irqs 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
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
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
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
64b2e58285 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien
9df1a8d15b amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02: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
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
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
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
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
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
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
fec7f6cdc2 added sceVideoOutGetVblankStatus 2024-04-18 22:32:15 +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
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