41 Commits

Author SHA1 Message Date
Ranieri 8584c0613a Feature/runtime gs recompiler instructions (#73)
* feat: basic gs
feat: basic rasterizer
fix: a lot of fixes to runtime stubs
feat: basic vif intercepter
feat: return "ok" for some stubs
feat: disassembly code as comment
fix: fix code gen instructions set
fix: again jump
feat: remove unused macro
fix: fix some problematic macros
feat: track delayslots on runtime
and many more

* feat: added missing files

* fix: fix instruction test
2026-02-22 02:20:42 -03:00
Ranieri 934672ac9a Feature/code gen entry (#62)
* feat: multipass discover additional entrypoints

* feat: added helpers for returning
feat: added game overrides

* added missing PS2_SHUFFLE_EPI8 macro after report from @playmer
2026-02-18 15:10:49 -03:00
Ranieri 4a538d3589 Feature/resident evil code veronica patch 1 (#60)
* feat: split runtime code in small files to be easy to develop

* feat: split stubs in inl files

* feat: function auto link function treat functions with underscore as same as without underscore

* feat: remove underscore prefix from stubs

* feat: thread and flags refactor

* feat: propagate request stop
feat: some elf validation on runtime

* feat: remove Z7 compiler options
feat: added a literal float case error on vu

* fix: fix critical recompiler error on marking pc calls

* feat: better system interrupt
refactor: small refactor on thread system

* feat: stubs implements for resident evil code veronica

* feat: merge fileio
2026-02-17 23:33:44 -03:00
Antonio Guastella cf5f57180f Feature/mc0 IO + Win IO fixes (#57)
* mc0: map memory card paths to mcRoot and related io tests

* Fix mc0 test setup to initialize temp paths

* fix: implementing WIN32 I/O support in syscalls

* fix: avoid fioWrite deadlock

Do not lock the fd map while calling getHostFile; use the syscall file mutex around fwrite instead
2026-02-17 12:40:57 -03:00
Ranieri c4555f6723 feat: split runtime code in small files to be easy to develop (#56)
* feat: split runtime code in small files to be easy to develop

* feat: split stubs in inl files

* feat: function auto link function treat functions with underscore as same as without underscore

* feat: remove underscore prefix from stubs
2026-02-17 03:00:59 -03:00
Ranieri b7973593ee fix: added missing header include for gcc (#54) 2026-02-14 13:00:36 -03:00
Ranieri 8f747334d6 feat: refactor analyzer to not realy only on debug symbols (#53)
fix: patching NOP things that code gen already know how to handle
feat: added a bug on JAL/J/JAR code gen
feat: enhanced tom file
fix: fix memory layout for ps2 macros
feat: added a lot of not working garbabe to runtime (fix later)
feat: some code organization
feat: added new tests
feat: update readme
2026-02-13 15:02:34 -03:00
Enrique Martinez 1d1b79d5f0 Added ARM64 (Apple Silicon) support using sse2neon (#50)
* feat: implemented arm64 support for builds

* feat: explicitly add compiler flags when needed
2026-02-06 20:12:36 -03:00
Enrique Martinez c0447ce3c1 fix: trailing backslash in PS2_STUB_LIST macro (#49)
Remove trailing backslash without continuation that was causing
preprocessor errors during array initialization in ps2_runtime_calls.h.
2026-02-06 13:04:02 -03:00
Ranieri 5e4361a1c6 feat: added new empty stubs (#47) 2026-02-06 01:39:52 -03:00
Ranieri e567c4cf60 feat: added thread naming functionality (#44)
feat: improve function name sanitization
2026-02-05 02:07:49 -03:00
M. Sami Gürpınar 5d3be0e2e7 fix portability issue (#41)
* refactor: update function name checks to use contains method

* refactor: update code generation to use static_cast

* refactor: made member methods const

* refactor: made range-based loop

* refactor: make one variable constructor explicit

* refactor: remove redundant else

* refactor: turn includes to forward declarations

* refactor: brace placements turned into allman style

* refactor: structed binding for readability and clarity, used emplace_back to prevent extra-copied object

* fix: add dwarf_private.h include

* fix: update GPR_U32 and GPR_S32 macros to use _mm_extract_epi32 for SSE/AVX intrinsics
2026-02-03 10:25:22 -03:00
Joshua T. Fisher e770572116 ps2_recomp lib and runner separation, fix runtime default build (#36)
* Separate the exe and lib of ps2_recomp.

* Move macro header to runtime, don't generate it, apply generated diff.
2026-01-31 19:29:18 -03:00
Ran-j af53b08543 feat: added more empty stubs
feat: added TODO_NAMED to help debug
fix: disable for now audio thread
2026-01-28 16:37:18 -03:00
Ran-j b8c1d7eaee feat: add runtime stubs for missing IOP calls
fix: fix small function on recompiler
2026-01-28 03:11:45 -03:00
Ran-j b1f86a7597 feat: auto set runtime internal stubs and syscalls on recompiled code 2026-01-27 17:12:35 -03:00
Ran-j 2e08d5e87b refactor: refactor runtime and recompile for better workflow and correct generating code and analyze output 2026-01-04 22:21:50 -03:00
Ran-j 2d1f7ec07f feat: added missing v0 instructions
feat: added threads inplementation on ps2 syscalls
feat: patch entrypoint on recompiler
feat: ps2 macros now is part of the runtime
feat: use thread to hold game loop
feat: sanitize functions like point out by chrisking1981
fix: fix old instructions cast
fix: fix missing patch for opcode j
2025-12-27 11:33:24 -03:00
Ran-j c05d8f1809 feat: misc fixes 2025-11-29 18:19:36 -03:00
Ran-j 9f05b32713 feat: update ps2 stubs API 2025-11-29 02:30:18 -03:00
Ran-j fae9a7ad71 feat: update ps2 CPU context 2025-11-29 02:28:05 -03:00
Ran-j b56dd174e9 feat: update ps2 syscalls api to match register 2025-11-29 01:40:06 -03:00
Ran-j c423e2f1ae feat: misc runtime changes 2025-11-29 00:18:25 -03:00
Ran-j 7f17931249 feat: remove unused function from rumtime ps2 syscall 2025-06-24 09:30:42 -03:00
Ran-j 0df7594bbb feat: added runtime frame decoder and entrypoint 2025-06-24 00:28:01 -03:00
Ran-j 5fde9612a9 feat: runtime fixes and finish implementations 2025-05-29 18:11:53 -03:00
Ran-j a0314c9847 feat: placeholder for exec VU0Microprogram 2025-05-29 16:21:00 -03:00
Ran-j 342bb19607 feat: added more instructions with revision 2025-05-29 16:20:08 -03:00
Ran-j 70f672cfd8 feat: better decode and code gen (remove some old instruction) 2025-04-24 12:04:56 -03:00
Ran-j e09f797202 feat: added new register for runtime 2025-04-24 02:32:40 -03:00
Ran-j 5d75bce6e2 feat: added a dump info in context 2025-04-18 02:47:37 -03:00
Ran-j 4d60f52a93 feat: added new consts in runtime 2025-04-18 02:44:58 -03:00
Ran-j 0be4c39552 feat: added ps2 syscall 2025-04-18 01:21:56 -03:00
Ran-j dc23e84400 feat: added a entrypoint for the runtime for now 2025-04-17 02:18:08 -03:00
Ran-j 4b59d8d2c8 feat: added runtime base stubs definitions 2025-04-17 01:57:13 -03:00
Ran-j a64f09c42d feat: better R5900Context 2025-04-15 23:26:41 -03:00
Ran-j a4dc5c79ce feat: more instructions 2025-04-15 18:36:01 -03:00
Ran-j b21c7bbb82 feat: added more instructions 2025-04-15 14:42:41 -03:00
Ran-j acc6afca78 feat: added PS2 stubs and change runtime a bit 2025-04-15 11:30:21 -03:00
Ran-j bf8c335f57 feat: added runtime news registers 2025-04-15 01:13:25 -03:00
Ran-j 6e9049be40 migrate from private cloud 2025-04-12 03:49:35 -03:00