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 ()
* 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) ()
* 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 ()
* 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 ()
* 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. () 2025-03-21 17:40:55 +03:00
Skyth (Asilkan)
82b4cd3bb7
Fix return value from longjmp getting forgotten after setjmp. ()
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 () 2025-03-17 22:51:28 +03:00
Isaac Marovitz
1c571c8576
Better gitignore ()
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. () 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 ()
* 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. () 2025-03-04 18:57:36 +03:00
Skyth (Asilkan)
3ee19542c9
Check for the validity of save/restore function addresses. () 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. () 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. () 2025-02-27 00:11:11 +03:00
Skyth (Asilkan)
cd6fcb33bd
Port XEX patcher from Unleashed Recompiled. ()
* 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. ()
* 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. () 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