Commit graph

395 commits

Author SHA1 Message Date
georgemoralis 5499d1c81c file_system reorganized (dummy) 2023-10-30 23:04:57 +02:00
georgemoralis 773cd6db33 reimplemented sceKernelReadTsc in proper package and some abi fixes 2023-10-30 20:22:25 +02:00
georgemoralis 7703477af2 pause emu with p button 2023-10-30 14:52:01 +02:00
georgemoralis b668c1424c implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency 2023-10-30 12:53:52 +02:00
georgemoralis 5127fdcd23 namespace update 2023-10-30 12:43:39 +02:00
georgemoralis 1b63349ef4 added timestamp in buttons state 2023-10-30 08:57:43 +02:00
georgemoralis eb783a1d70 implemented sceKernelGetProcessTime 2023-10-30 08:48:52 +02:00
georgemoralis d8523271e4 implemented fps counter 2023-10-29 23:46:34 +02:00
georgemoralis 2b9fecf6d0 restored previous timer class 2023-10-29 23:46:18 +02:00
georgemoralis 28ef4b2a8e fixed return in flip() function 2023-10-29 23:36:15 +02:00
georgemoralis 08b2f5906e more debugging in elf loader 2023-10-28 09:12:43 +03:00
georgemoralis e847f317e8 switched elf logging to fmt 2023-10-28 08:55:58 +03:00
georgemoralis 3ad4d77660 Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-28 00:09:47 +03:00
georgemoralis c1ea924cef Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:56:21 +03:00
georgemoralis 14315740f2 Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:55:18 +03:00
georgemoralis 389f798ec4 log exceptions and flush log file 2023-10-27 18:57:48 +03:00
georgemoralis b38f9c28ac improved logging in elf loader 2023-10-27 18:28:05 +03:00
georgemoralis 1ca3d68f59 removed obsolute fs 2023-10-27 11:07:19 +03:00
GPUCode 4579122515 vulkan: Remove orphan new part 2 2023-10-26 23:46:05 +03:00
GPUCode 944401aa7a vulkan: Remove orphan new part 1 2023-10-26 23:38:37 +03:00
GPUCode 5118435d65 code: Replace printf/scanf with type safe fmt 2023-10-26 23:29:19 +03:00
GPUCode 9ceef6e6f6 main: Remove remnants of imgui example 2023-10-26 23:15:11 +03:00
GPUCode bd8e74f4ef singleton: Use unique_ptr 2023-10-26 23:13:24 +03:00
GPUCode 3b71da6272 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 17be88be2e core: Rework elf loader 2023-10-26 22:55:13 +03:00
GPUCode eef2973a46 core: Remove Timer in favour of std::chrono 2023-10-22 17:17:43 +03:00
GPUCode 7b6a127051 core: Switch to std threading primitives 2023-10-22 17:10:25 +03:00
georgemoralis 6fb5c68812 started 0.0.3 WIP 2023-10-22 00:20:51 +03:00
georgemoralis 680b986bbc updated version to v0.0.2 2023-10-21 21:37:17 +03:00
georgemoralis a805718d6c moved controller to host 2023-10-20 07:25:52 +03:00
georgemoralis a16ab298b1 more draft fs 2023-10-19 17:52:49 +03:00
georgemoralis bf16dbee34 draft fs design 2023-10-19 17:02:49 +03:00
georgemoralis 9d3f1f9c35 e_type ET_SCE_DYNAMIC seems to be valid as well 2023-10-19 13:01:20 +03:00
georgemoralis 5f7b971385 few libc (pow ,_Sin ) for ps4nes 2023-10-19 12:27:28 +03:00
georgemoralis d40728f023 initial fs work (logging mostly) 2023-10-19 12:13:09 +03:00
georgemoralis a45ad0b0f8 some libc HLE functions needed for sonic mania 2023-10-17 18:30:09 +03:00
georgemoralis 7e5719398f atan2f libc HLE 2023-10-17 17:15:08 +03:00
georgemoralis 6db0e0f1c9 cleanup gnmDriver 2023-10-16 20:56:43 +03:00
georgemoralis e78b470668 rewrote libc_cxa 2023-10-16 20:49:52 +03:00
georgemoralis bac05cc010 sceVideoOutClose implementation (partial) 2023-10-16 14:34:12 +03:00
georgemoralis 0f5814418c vsnprintf implementation 2023-10-16 08:55:28 +03:00
Stefanos Kornilios Mitsis Poiitidis 5bdbc3584a stubs: also log return address 2023-10-15 16:09:38 +03:00
georgemoralis e73ae3d586 libc , _Fsin , qsort,free,strncpy,memmove HLE calls 2023-10-15 16:03:55 +03:00
georgemoralis fd2bfc869b refactoring singleton class 2023-10-15 10:03:26 +03:00
georgemoralis 98f773b51e video_out fixes for openBor 2023-10-15 00:31:42 +03:00
georgemoralis 0762f54656 libc strcmp,mallon,strlen implementation 2023-10-15 00:23:01 +03:00
Stefanos Kornilios Mitsis Poiitidis 5570fab8c6 Stubs: Log nids for unknown ones 2023-10-14 19:07:38 +03:00
georgemoralis 661e2e13f9 Merge pull request #53 from georgemoralis/pad
pad implementation
2023-10-13 20:42:15 +03:00
georgemoralis 01e90a85d3 map for dpad keys to emulator 2023-10-13 20:41:03 +03:00
georgemoralis 718d921aa4 pad somehow working 2023-10-13 17:44:15 +03:00
georgemoralis 70487a4fed some work on pad emulation (WIP) 2023-10-13 09:40:59 +03:00
Stefanos Kornilios Mitsis Poiitidis a239ac10f3 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 3b38e27465 added pad functions parameters 2023-10-09 20:39:12 +03:00
georgemoralis ab2e3b3c31 misc 2023-10-09 16:54:10 +03:00
georgemoralis 768972dc89 _ZdlPv , _Znwm needed for breakout homebrew 2023-10-09 12:31:31 +03:00
georgemoralis 04b2eb648d 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 34df1e8e64 implemented sceVideoOutIsFlipPending 2023-10-07 17:25:08 +03:00
georgemoralis dbc7a76934 added rand in libc 2023-10-07 12:10:55 +03:00
georgemoralis e748468ab1 implemented some dummy pad, system_service, user_service calls 2023-10-07 12:03:03 +03:00
georgemoralis ed11e09cdf partial fix buffer_size for tilemode 1 2023-10-06 22:03:59 +03:00
georgemoralis 59ec120563 some more HLE functions 2023-10-06 21:49:53 +03:00
georgemoralis 394922bf77 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 37805399d8 libc cleanups 2023-10-06 16:05:34 +03:00
georgemoralis 1ba106ccd4 small adjustments to printf 2023-10-06 14:46:12 +03:00
georgemoralis dc72fae8c6 printf implementation 2023-10-06 14:19:09 +03:00
georgemoralis 34264eb6aa adapting va_arg parameters of printf 2023-10-06 13:33:45 +03:00
georgemoralis 54845c7e53 printf implementation from vita3k (not yet adapted) 2023-10-06 12:46:28 +03:00
georgemoralis e035a2c5ab partial printf , hello world demo (not from OpenOrbis) works 2023-10-05 18:38:36 +03:00
Stefanos Kornilios Mitsis Poiitidis 18514ed7dc 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 9219fc22eb dummy libc printf call 2023-10-01 16:29:48 +03:00
wheremyfoodat 61cbb0591c Use cstdint in types.h 2023-09-29 14:40:26 +03:00
georgemoralis c0b3b433b1 v0.0.1 release files 2023-09-29 08:40:30 +03:00
georgemoralis 6612de9fcd WIP tilemanager 2023-09-28 18:17:39 +03:00
georgemoralis b4b98ae60d more work on graphics . tiles are not yet supported 2023-09-27 22:47:53 +03:00
georgemoralis 1530a3d94c more on buffer rendering, added vulkan command pool 2023-09-27 15:15:18 +03:00
georgemoralis c62a4532b6 preparing for drawing 2023-09-27 09:26:50 +03:00
georgemoralis fcafb8fa63 update gpu memory function 2023-09-27 08:34:02 +03:00
georgemoralis ff83e22027 finished gpu buffer creation 2023-09-27 07:45:05 +03:00
georgemoralis fa3372bda7 small adjustments 2023-09-26 20:40:02 +03:00
georgemoralis a70a23e1ca even more work on videoOutbuffer 2023-09-26 20:08:03 +03:00
georgemoralis 432c89d9db more work on creating videoOutBuffer object 2023-09-26 18:56:08 +03:00
georgemoralis e77e97fb98 added XXH3_64bits and calculate memory obj hashes 2023-09-26 16:00:13 +03:00
georgemoralis fcbffd6c8f more abstract memoryCreateObj 2023-09-26 03:46:25 +03:00
georgemoralis 5590ffdb55 more gpu memory work 2023-09-25 15:08:36 +03:00
georgemoralis ea5bdbeaec gpumemory works 2023-09-25 12:04:40 +03:00
georgemoralis 8d48d91fcf even more work on video buffers 2023-09-25 00:06:04 +03:00
georgemoralis 3ca9569acd some video buffer work 2023-09-22 10:38:21 +03:00
georgemoralis 88785e2c54 fixed some silly issues 2023-09-22 00:05:00 +03:00
georgemoralis 469b07b9c3 almost finished vulkan init 2023-09-21 23:48:16 +03:00
georgemoralis bd6a382529 vulkanCreateQueues 2023-09-21 18:20:13 +03:00
georgemoralis f6c6f8a1c0 vulkan : createDevice 2023-09-21 12:59:48 +03:00
georgemoralis 984bef4bc9 Finished vulkanFindQueues 2023-09-21 12:41:51 +03:00
georgemoralis 34c2211e0d more work on vulkan queues 2023-09-20 14:19:20 +03:00
georgemoralis 01671c408d misc 2023-09-19 17:13:37 +03:00
georgemoralis 5cbb3bff69 Added vulkanGetSurfaceCapabilities 2023-09-19 14:02:40 +03:00
georgemoralis 8e76d6b94d some vulkan queue work 2023-09-19 09:15:59 +03:00
georgemoralis 02004efcd0 even more vulkan init 2023-09-18 14:52:16 +03:00
georgemoralis 2f3ee01e72 more vulkan init progress 2023-09-17 23:38:16 +03:00
georgemoralis 4420d80548 added vulkan extension initialize 2023-09-17 20:01:29 +03:00
georgemoralis 38c19b1af8 fixed tiling mode checking 2023-09-16 23:05:57 +03:00
georgemoralis ecddc5f0da fixed vulkan compile 2023-09-16 10:51:09 +03:00
georgemoralis a173b73ade more to buffers 2023-09-16 00:03:11 +03:00
georgemoralis 308d3d1065 Initial sceVideoOutRegisterBuffers function (added ErrorCodes returns) 2023-09-15 23:13:49 +03:00
georgemoralis 7a82c976bf small fixes 2023-09-15 14:40:03 +03:00
georgemoralis ed96ee3ac4 better event handling 2023-09-14 18:47:42 +03:00
georgemoralis 1a2646f52c initial work on sdl events 2023-09-14 16:49:47 +03:00
georgemoralis 2382619cba basic sdl window init 2023-09-12 19:39:08 +03:00
georgemoralis e49db94b04 event queue events now process nicely 2023-09-11 13:14:13 +03:00
georgemoralis 40c71e31d0 sceVideoOutSubmitFlip implementation 2023-09-10 12:59:21 +03:00
georgemoralis 7c317da14a finished sceKernelWaitEqueue implementation 2023-09-10 01:06:14 +03:00
georgemoralis 7339d3eeb2 initial sceKernelWaitEqueue implementation (WIP) 2023-09-08 08:28:01 +03:00
georgemoralis d3a002ec22 sceVideoOutGetFlipStatus implementation 2023-09-06 13:45:49 +03:00
georgemoralis d945e095bd fixing build 2023-09-05 15:26:03 +03:00
georgemoralis f48ce33c31 sceVideoOutSetFlipRate,sceVideoOutGetResolutionStatus implementation 2023-09-05 15:14:43 +03:00
georgemoralis 9eff187e2b more completed (but not finished) sceVideoOutAddFlipEvent 2023-09-05 14:28:52 +03:00
wheremyfoodat 29fdb88e11 fixing @georgemoralis code 2023-09-05 14:01:47 +03:00
georgemoralis 1595ef20d9 WIP sceVideoOutAddFlipEvent implementation 2023-09-05 09:13:14 +03:00
georgemoralis 2a9e3b4d75 cleanup VideoOut library code 2023-08-23 23:20:43 +03:00
georgemoralis c2f12cd128 sceVideoOutOpen is not dummy now 2023-08-23 00:02:24 +03:00
georgemoralis dc3f704386 implemented sceVideoOutOpen 2023-08-22 23:59:59 +03:00
georgemoralis bb70b7af53 initial video out context object 2023-08-22 00:54:44 +03:00
georgemoralis cea030dc3e SceVideoOutVblankStatus struct 2023-08-21 20:44:53 +03:00
georgemoralis 79dfac178d some sceVideoOut work (mostly dummy work) 2023-08-21 14:25:11 +03:00
georgemoralis e72e933662 small logging fix 2023-08-18 11:22:01 +03:00
georgemoralis 28a5ddbe21 fixed logging in elf 2023-08-18 10:49:51 +03:00
georgemoralis 3aa62a59d2 removed some debug code 2023-08-17 10:11:50 +03:00
georgemoralis b473d6e3e6 sceKernelCreateEqueue implemented 2023-08-17 10:10:13 +03:00
georgemoralis aca9aee7be configurable loglevel in config file 2023-08-16 10:34:04 +03:00
georgemoralis 5a6ceb04a5 reorganize function call to proper file 2023-08-15 23:10:45 +03:00
wheremyfoodat c016e7ac12 added configuration class 2023-08-14 20:17:01 +03:00
georgemoralis b67e7460e2 improvements in logging 2023-08-14 01:24:03 +03:00
georgemoralis b0f8aadd18 log class : added color output based on log levels (WIP) 2023-08-13 17:33:50 +03:00
georgemoralis c37067641d refactoring log class 2023-08-13 16:54:56 +03:00
georgemoralis a3c6af99b8 remove log for renaming to lowercase 2023-08-13 16:46:59 +03:00
georgemoralis 470699a41a using our own application id for discord 2023-08-12 18:47:37 +03:00
georgemoralis f62f2c767f better place to init discordRPC 2023-08-12 01:02:42 +03:00
wheremyfoodat f6d3ea4253 Add discord RPC 2023-08-11 20:22:26 +03:00
georgemoralis 011e2dffc3 proper variable naming 2023-08-10 21:30:35 +03:00
georgemoralis d0f4788647 sceVideoOutSetBufferAttribute attribute->option value 2023-08-10 20:20:42 +03:00
georgemoralis 27df587d7f sceVideoOutSetBufferAttribute implementation 2023-08-10 20:14:44 +03:00
georgemoralis 200e5933ad threading working ,fixed a big in sceKernelMapDirectMemory 2023-08-09 11:42:50 +03:00
georgemoralis e1693e28c5 threading part 1 2023-08-09 10:31:18 +03:00
wheremyfoodat d4b8a2ee17 name conversions fixes 2023-08-08 22:44:01 +03:00
georgemoralis a703392cbd implemented sceKernelMapDirectMemory 2023-08-08 22:24:17 +03:00
georgemoralis 297e4d9afc aligned memory allocation using VirtualAlloc2 2023-08-07 18:16:26 +03:00
georgemoralis e26cabb181 refactoring virtual_memory 2023-08-06 22:52:20 +03:00
georgemoralis 89abe5cc28 refactoring 2023-08-04 11:33:00 +03:00
georgemoralis 84a9f9bb16 initial work on sceKernelMapDirectMemory 2023-08-03 14:18:55 +03:00
georgemoralis be4ce90b50 recommit debug.h 2023-08-03 13:43:42 +03:00
georgemoralis 016b5a4a76 git doesn't understand namechange 2023-08-03 13:43:25 +03:00
georgemoralis 55c8921088 improved logging in sceKernelAllocateDirectMemory 2023-08-03 13:27:07 +03:00
georgemoralis 1f1d8af940 added more proper and faster hex logging conversion 2023-08-03 13:16:49 +03:00
georgemoralis 3effaa2733 removed debug code 2023-08-03 13:06:23 +03:00
georgemoralis bd93b1f84d memory management refactoring 2023-08-03 13:05:13 +03:00
wheremyfoodat 582e27b729 general refactoring and coding format fixes 2023-08-03 12:25:25 +03:00
wheremyfoodat 1e52636259 proper timer class placeholders 2023-08-03 12:11:47 +03:00
georgemoralis 1dbc6685b2 placeholder for making Memory and Timer classes portable 2023-08-03 11:29:14 +03:00
georgemoralis ed464903d7 print memory types enum value 2023-08-03 11:13:08 +03:00
georgemoralis 018e0d37c7 more refactoring 2023-08-02 15:16:00 +03:00
georgemoralis 17fc6b63a7 refactoring 2023-08-02 13:51:10 +03:00
wheremyfoodat 7d5f53cd95 name conversions 2023-08-02 13:11:09 +03:00
georgemoralis 4d87ac2143 Refactoring PhysicalMemory 2023-08-02 08:41:41 +03:00
georgemoralis 497accb009 PhysicalMemory is now singleton 2023-08-02 08:04:09 +03:00
georgemoralis 6bfdf17a03 sceKernelAllocateDirectMemory should be ok for now 2023-08-01 17:59:08 +03:00
georgemoralis bd541da90a ugly PhysicalMemory 2023-08-01 17:02:26 +03:00
georgemoralis cc8c7eb648 Added Thread class 2023-08-01 12:49:57 +03:00
georgemoralis 8a3eb1574a improved StringUtil algo + some PhysicalMemory work 2023-08-01 00:42:49 +03:00
georgemoralis 9b6101e067 improvements in sceKernelAllocateDirectMemory and function logging 2023-07-27 17:56:57 +03:00
wheremyfoodat 4384c38c35 User-defined literals 2023-07-27 15:09:52 +03:00
georgemoralis ccd86c929e some memory functions (videoout_basic now reaches sceKernelAllocateDirectMemory which is WIP) 2023-07-27 13:36:47 +03:00
georgemoralis 12b880df99 some dummy HLE functions and implementations in libc 2023-07-26 23:52:26 +03:00
georgemoralis d2b524c2db some constants defines 2023-07-26 15:13:40 +03:00
georgemoralis c2997f7a10 stubbed Assert function . should fix #26 2023-07-26 13:18:10 +03:00
georgemoralis 936d255e63 portable debugbreak
ευχαριστώ ροδάκινε

Co-Authored-By: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2023-07-24 13:05:57 +03:00
georgemoralis 802e72a588 added more PS4_SYSV_ABI codes 2023-07-21 14:53:19 +03:00
georgemoralis 04d3ee9a3f Added sysv_abi , now parameters in sceVideoOutOpen is correct 2023-07-21 08:03:36 +03:00
georgemoralis 118b15de67 added atexit() HLE function , sceVideoOutOpen appears to get invalid parameters 2023-07-20 17:53:51 +03:00
georgemoralis 4432f289ad we can reach atexit() function as well 2023-07-20 12:41:41 +03:00
georgemoralis 3b53e4781a we can now execute code (reaches init_env() function ) 2023-07-20 12:18:43 +03:00
georgemoralis 34a4ea3b44 more pthread progress added init for main Thread 2023-07-20 11:20:11 +03:00
wheremyfoodat 3bd30c6641 Fix compilation error maybe 2023-07-18 19:28:28 +03:00
georgemoralis 8acd636a13 some pthread work nothing exciting 2023-07-18 18:54:46 +03:00
georgemoralis 9d24671994 initial thread management files 2023-07-17 23:46:25 +03:00
georgemoralis 61d52efb73 all function for video out demo should resolve now 2023-07-17 13:53:27 +03:00
georgemoralis 1bf467aa82 more dummy GnmDriver function calls 2023-07-17 13:39:00 +03:00
georgemoralis 7216413a03 more dummy patching functions 2023-07-14 14:29:13 +03:00
georgemoralis 51cfddb77d patching sceVideoOut functions 2023-07-13 18:36:03 +03:00
georgemoralis 152c581dc5 patching more dummy functions 2023-07-13 12:56:36 +03:00
georgemoralis 32973f1b31 some missing nid names from videoout_basic demo 2023-07-12 14:44:37 +03:00
georgemoralis c487052f0b resolving relocate function and patching them (successfully done one :D) 2023-07-11 18:50:29 +03:00
georgemoralis 11a958ba54 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 87c5ce173c 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 4ae5300e1a main: validate arguments 2023-07-07 13:54:44 +03:00
Stefanos Kornilios Mitsis Poiitidis 61984bf92b linux: Fix build 2023-07-07 13:49:46 +03:00
georgemoralis 1ed5fcf329 progress in relocations 2023-07-06 21:55:41 +03:00
georgemoralis fcae84df9d initial work on relocations 2023-07-04 18:34:23 +03:00
georgemoralis c15e059e74 improved memory_alloc function 2023-07-04 12:29:28 +03:00
georgemoralis 10472026b2 small fix 2023-06-29 13:31:07 +03:00
georgemoralis dffccbfcff added windows specific timer class 2023-06-29 13:20:34 +03:00
georgemoralis 09909f86ae dummy timer class 2023-06-29 13:17:05 +03:00