185 Commits

Author SHA1 Message Date
Dennis Stanistan
eed00fd907
Merge 3f02123e7e773418113650bc31f8c9cc12f59b75 into 865319a39cec873370500d26ce775959a4c5e784 2025-04-18 12:45:20 -04: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
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
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
dennis
3f02123e7e Added more instructions & added changes 2025-03-05 09:10:24 +02: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
Dennis Stanistan
914b61d986
Prettify main.cpp
thanks nano
2025-03-04 03:38:40 +02:00
Dennis Stanistan
c7d9e1e1b2
Swap between instructions in absoluteSwitch for tag 2 pattern 2025-03-04 02:47:49 +02:00
Dennis Stanistan
da9d2e950a
Merge branch 'hedge-dev:main' into main 2025-03-04 02:45:31 +02:00
Skyth (Asilkan)
2991a3b698
Remove unused <expected> header include. (#30) 2025-03-04 00:12:28 +03:00
Dennis Stanistan
3c58953d3e
Add another newline 2025-03-03 09:42:07 +02:00
Dennis Stanistan
f0e4f11a2d
Add build instructions for linux 2025-03-03 09:40:58 +02: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