KeybadeBlox
da6865e5f6
Fix typo in Core.hpp
...
Was making builds fail.
2026-03-21 20:56:49 -04:00
KeybadeBlox
823b19371c
Fully decompile xapi0
2026-02-22 14:04:18 -05:00
KeybadeBlox
4e20347b7c
Decompile mainCRTStartup()
...
Incidental changes include fixes for Xapi in the Makefille and
objdiff.json, as well as new compiler flags for Xapi.
2026-02-22 10:41:15 -05:00
KeybadeBlox
9cfd8b5bf3
Delink/begin decompiling entry point
...
That is, xapi0.obj, which has been renamed from crt0.obj because it
appears to be part of the Xbox libraries rather than the C runtime.
2026-02-20 21:50:00 -05:00
KeybadeBlox
aac010eb71
Add PlayerCharId type
2026-02-19 21:16:11 -05:00
KeybadeBlox
c38d9b5628
Tiny steps towards implementing C runtime
2026-02-14 12:34:28 -05:00
KeybadeBlox
ccd2cd37a5
Defend against spurious references during mangling
...
Ghidra sometimes identifies random numbers as pointers, which trips up
our mangler script when it encounters them as they generally have no
type information. We now use heuristics to ignore such references.
2026-02-13 23:43:35 -05:00
KeybadeBlox
022582003d
objdiff symbol matching refinements
...
With name mangling, objdiff.json no longer needs massive lists of which
names to match to what. Some function signatures were also minorly
refined.
2026-02-12 21:19:46 -05:00
KeybadeBlox
e6d7acfa05
Fix some disconnected symbols in objdiff
...
This will be so much easier when we can export with name mangling.
2026-02-07 22:09:26 -05:00
KeybadeBlox
44a8d704ef
Populate JSRF/GameData.cpp
2026-01-12 22:59:47 -05:00
KeybadeBlox
fbc5619d6a
Begin populating JSRF/GameData.hpp
2026-01-12 09:46:56 -05:00
KeybadeBlox
d11f2fd538
Delink JSRF/GameData
2026-01-11 20:46:54 -05:00
KeybadeBlox
08abfd3913
Finish populating JSRF/Core
2026-01-02 00:05:52 -05:00
KeybadeBlox
f8578b0871
Continue populating JSRF/Core
2025-12-31 23:03:36 -05:00
KeybadeBlox
71937e4a97
Begin populating JSRF/Core
2025-12-31 11:14:07 -05:00
KeybadeBlox
a25790e8a6
Delink Core.obj
2025-12-29 00:44:27 -05:00
KeybadeBlox
8eda56dcdf
Change executable section flags to please objiff
...
objdiff assumes that all symbols in executable memory sections are code,
which led to misbehaviour due to .rdata and .data being marked as
executable in JSRF. We now set these sections to non-executable in
Ghidra to work around this.
2025-12-21 19:36:09 -05:00
KeybadeBlox
83553a3d24
Remove padding from Jet2.obj address ranges
2025-12-18 09:30:29 -05:00
KeybadeBlox
1c8eb137ee
Arrange decompilation source/target in directories
2025-12-17 21:46:17 -05:00
KeybadeBlox
1a48d4323e
Complete delink workflow; separate from decomp
...
We can now create a fresh Ghidra project, import the JSRF executable
into it, import symbols into it, delink object files from it, and then
decompile with objdiff. Just needs some documentation.
2025-12-16 22:30:49 -05:00