184 Commits

Author SHA1 Message Date
MadLadMikael
843ee91fcc
Merge 775ad31136b8be0690bf9895a26862e1117a2bef into 865319a39cec873370500d26ce775959a4c5e784 2025-04-17 13:58:29 +02:00
Skyth (Asilkan)
865319a39c
Update README.md (#139)
* Update README.md

* Update README.md

Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>

---------

Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
2025-04-17 11:29:46 +03:00
Jillian To
6df2397610
Added extra vpkd3d128 cases (5,2,2 and other 0,1) (#118)
* added extra vpkd3d128 cases from dev branch

* Fix whitespace

* fix whitespace again

* another whitespace fix

* cleaned up float16_4 case

* Fix whitespace

* Allow variable shift

* shift of 3 is not handled
2025-04-12 13:09:49 +03:00
The Spicy Chef
49c5e3b4f5
Added handling of normal compression for patching xex files (#126)
* Added handling of normal compression for patching xex files

* Added normal compression handling to XenonAnalyse

* Swap calloc for unique_ptr, tidied up code layout
2025-04-12 13:05:53 +03:00
MadLadMikael
775ad31136
hopefully added proper instructions for potf 2025-04-06 15:58:21 -05:00
MadLadMikael
7b9f9ac839
Delete XenonRecomp/recompiler.cpp 2025-04-06 15:57:29 -05:00
MadLadMikael
77e96e882a Update README.md 2025-04-06 15:53:09 -05:00
nithax
0bfeaed44a
XEX2 Loading Fixes (#51)
* Fixes loading .xex import table names when a name is not aligned to 4
  bytes.
* Fixes loading .xex optional headers, adds missing case when the
  header_key & 0xFF == 1
* Fixes loading .xex base address and entry point to be the XEX2
  base/entry to successfully resolve all import thunks.
2025-04-04 17:01:18 +03:00
Skyth (Asilkan)
c017eb630a
PPC context header adjustments. (#123) 2025-03-21 17:40:55 +03:00
Skyth (Asilkan)
82b4cd3bb7
Fix return value from longjmp getting forgotten after setjmp. (#122)
Restoring env to ctx was causing this because the return value was getting assigned to r3 before the if check.
2025-03-21 17:38:08 +03:00
Mystixor
c3934c624f
fix bitmask of VD3D0 operand (#113) 2025-03-17 22:51:28 +03:00
MadLadMikael
21526e56a5 updated readme to include how to build with msys2 clang64 2025-03-17 03:16:54 -05:00
MadLadMikael
35840c8dc6 added instructions for potf 2025-03-17 03:11:14 -05:00
Isaac Marovitz
1c571c8576
Better gitignore (#76)
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
2025-03-07 01:43:35 +03:00
Skyth (Asilkan)
7b8e37aa37
Fix the unsafe base address assumption. (#69) 2025-03-06 17:56:18 +03:00
William Adam-Grenier
0bf1fd5477
Add Byte Patterns In Readme (#36)
* Add Byte Patterns In Readme

Adds the byte patterns for instructions to make it easier for newcomers to find the right functions address.

* Added Instructions

Added extra instruction for rest, save, restvmx and savevmx

* Fix Typo
2025-03-05 01:51:55 +03:00
squidbus
dc4460eefd
Disable alias attribute on macOS clang. (#19) 2025-03-04 18:57:36 +03:00
Skyth (Asilkan)
3ee19542c9
Check for the validity of save/restore function addresses. (#42) 2025-03-04 18:44:24 +03:00
Skyth (Asilkan)
2991a3b698
Remove unused <expected> header include. (#30) 2025-03-04 00:12:28 +03:00
Skyth (Asilkan)
04e716178b
Repository cleanup & README.md. (#5) 2025-02-27 00:11:11 +03:00
Skyth (Asilkan)
cd6fcb33bd
Port XEX patcher from Unleashed Recompiled. (#4)
* Port XEX patcher from Unleashed Recompiled.

* Fix compilation error on Linux.
2025-02-19 20:22:30 +03:00
Skyth
0fc545a6e2 Fix xpointer constructor for null pointers. 2025-01-28 18:34:39 +03:00
Skyth
73b75e197a Use __builtin_clz instead of __lzcnt32 for cntlzw instruction. 2025-01-23 14:35:46 +03:00
Skyth
3280a7cf9f Add support for placing midasm hooks after instructions. 2025-01-22 19:58:00 +03:00
Skyth
87e350906b Rebrand to XenonRecomp. 2025-01-19 22:39:12 +03:00
Skyth
7fb8af1bad Place function table after the executable. 2025-01-15 02:01:26 +03:00
Skyth
2cd41adf42 Remove bin2c, load the PPC context header by path. 2025-01-15 01:25:04 +03:00
Skyth
ca39a3b992 Check for TOML_EXCEPTIONS when loading TOMLs. 2025-01-13 21:15:19 +03:00
Skyth
b4b4aac788 Fix wrong assert in xex.cpp. 2025-01-13 21:14:07 +03:00
Skyth
de2840970f Load function pointers from the base pointer. 2025-01-02 14:32:34 +03:00
Skyth (Asilkan)
4650dc69fb
Linux support. (#3)
* Compiling and running on Linux.

* Fix xpointer constructor.

* Convert dependencies to submodules.

* Fix wchar_t usage for Linux.
2024-12-21 00:49:06 +03:00
Darío
45c00cfec6
Unicode support. (#2) 2024-12-15 17:37:36 +03:00
Skyth
847842cd28 Downgrade projects to C++17. 2024-12-13 18:31:55 +03:00
Skyth
02d23b3463 Move r3 to the top of PPC context for smaller code generation. 2024-12-04 12:35:17 +03:00
Hyper
ea3e60cb0d Revert "Add file_to_c"
This reverts commit dd7cac76ea37a92eabdda248d26efa2f2bf70d93.
2024-12-02 23:04:47 +00:00
Hyper
dd7cac76ea Add file_to_c 2024-12-02 21:45:28 +00:00
Hyper
675b482ec4 xdbf: use pragma push/pop 2024-11-26 06:41:47 +00:00
Hyper
23f3389171 xdbf_wrapper: resolve missing dependencies 2024-11-25 11:28:58 +00:00
Hyper
699c078c94 xdbf_wrapper: remove global 2024-11-25 11:21:52 +00:00
Hyper
dd85501f11 PowerUtils: implemented XDBF wrapper 2024-11-25 11:12:38 +00:00
DeaTh-G
7dd4f91ac6 add time fields struct 2024-11-24 11:25:45 +01:00
Sajid
4b47b24afd Allow overloads of ppc load/store macros 2024-11-24 16:16:08 +06:00
Sajid
e5317bda48 Detect MMIO writes via eieio 2024-11-24 15:36:50 +06:00
Hyper
4357a55eff PowerUtils: allow constructing null pointers with xpointer 2024-11-24 09:25:22 +00:00
Hyper
62e3188a81 PowerUtils: implemented endian swap for enums 2024-11-21 01:47:17 +00:00
Skyth
d8676283fd Implement a better way to combat Clang's unsafe code reordering. 2024-11-17 21:00:36 +03:00
Skyth
a7c970d324 Fix a few warnings. 2024-10-27 18:29:28 +03:00
Hyper
6810be7315 Update bin2h to allow changing the output array type 2024-10-17 16:59:45 +01:00
Skyth
6e49be2702 Allow midasm hook return behavior to be configured. 2024-10-17 17:39:31 +03:00
Skyth
516e23f1f7 Add midasm hook patching. 2024-10-06 18:54:47 +03:00