Commit Graph

27 Commits

Author SHA1 Message Date
Antonio Guastella 4961710407 Issue 11 vu0 macro (#48)
* Add missing VU0 Special1 macro translations

* Fix VU0 macro decode and field ops

Align Special2 decoding with fhi_flo, implement VCLIPw/VABS, and fix field variants (VADDx/VSUBx/VMULx). Keep C++17 compatibility by replacing unordered_set::contains and remove dead ADDIU return. Update Special2 metadata for VWAITQ.

* vu0: complete macro mappings and add coverage test

* review: clean up vu macro handling

* fix: restore C++20 contains in code generator

* fix: correct VU0 Special2 instruction encoding in decoder test

---------

Co-authored-by: Antonio Guastella <antonioguastella@energine.it>
Co-authored-by: Ranieri <ran-junior@hotmail.com>
2026-02-16 22:20:48 -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
Ranieri 5e9139dd22 feat: better decoder (#40)
* feat: use rabbitizer for decode MIPs instructions

* feat: cleanup code generator

* feat: fix test and add a sefe check for generate functions
2026-02-02 13:29:12 -03:00
Ranieri d7306d2095 Feature/better analyzer v1 (#39)
* feat: pin dependencies

* feat: dwarf parse

* fix duplicated functions

* feat: small code cleanup

* feat: crash prevent

* feat: modernize code

* feat: split m_libFunctions from m_knownLibNames

* feat: added ghidra loader

* feat: auto bootstrap name for recompiler
2026-02-02 01:49:51 -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
M. Sami Gürpınar c218c64348 Made member methods const (#34)
* 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
2026-01-31 13:14:56 -03:00
Joshua T. Fisher 91678d1977 Merge pull request #29 from playmer/playmer/fix_lookup
Convert CodeGenerator::m_symbols to unordered_map to fix O(n) lookups
2026-01-29 00:20:46 -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 409570c709 feat: added minitest framework
feat: added some unit tests for code gen and decoder
fix: backport some bugfix from chrisking1981 branch
2025-12-26 18:33:52 -03:00
Ran-j 4ea08199b0 feat: now we generate header file for stub functions 2025-11-29 12:26:39 -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 eb87f7c0e5 feat: more instruction 2025-04-21 03:21:42 -03:00
Ran-j da1bc9e482 feat: added missing things on decoder 2025-04-18 02:44:45 -03:00
Ran-j cba98b04e2 feat: remove stub from recompiler 2025-04-18 01:39:58 -03:00
Ran-j fa676bd692 feat: added auto function mapper to code gen 2025-04-17 01:54:07 -03:00
Ran-j 23bb92bd4a refactor: added more instructions decoder 2025-04-16 01:45:13 -03:00
Ran-j a4dc5c79ce feat: more instructions 2025-04-15 18:36:01 -03:00
Ran-j 0a6382c386 feat: added more instruction parser 2025-04-15 15:58:34 -03:00
Ran-j a10f7f8415 feat: more instruction 2025-04-15 15:21:54 -03:00
Ran-j b21c7bbb82 feat: added more instructions 2025-04-15 14:42:41 -03:00
Ran-j aceb8b1535 feat: some default stub for now 2025-04-14 02:34:51 -03:00
Ran-j e5cef40032 fix: fix recompile from single file to multi file 2025-04-14 02:02:56 -03:00
Ran-j 8c0af4e224 feat: added header for link functions 2025-04-14 01:41:22 -03:00
Ran-j 6e9049be40 migrate from private cloud 2025-04-12 03:49:35 -03:00