Commit Graph

1480 Commits

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