d9612cc9b7
Analyzer improvements for ProDG (WIP)
...
Fixes #19
2024-01-06 16:05:04 -07:00
c44846d73f
Allow absolute relocations to linker generated symbols
...
Fixes #15
2024-01-06 11:47:17 -07:00
ebff47924f
Add links
field to config for overriding REL linkage
...
By default, every REL is linked with every other REL. Some games, like Mario Party, link RELs individually, so the module IDs are not unique. To support this, the `links` field can be used to override which _other_ modules are included in a module's analysis.
2023-11-18 23:37:50 -05:00
dfb569b883
Add alf support (NVIDIA Shield TV binaries)
...
- Supports .alf files in all places .dol files are accepted.
- Adds `hash` and `dhash` to symbols config.
2023-10-07 02:03:09 -04:00
d4ef1ce16a
Analyzer fixes galore
...
- Transparent NLZSS decompression (add `:nlzss` to path)
- Overhaul portions of the analyzer to support more games
- Reject some invalid data relocations automatically
- Jump table analysis fixes
2023-09-13 02:08:51 -04:00
e3857d3212
Improvements to REL & map support
...
- Fix symbols.txt align attribute
- Fully support nested RARC files & transparent Yaz0 decompression
- Guess symbol visibility for maps without link map
- Add module name config
- Add manual force_active config
- Quiet option for shasum
- `symbols_known` and `fill_gaps` config
- Allow disabling .comment generation per-unit (`comment:0`)
- Various minor fixes
- Add `rarc` and `yaz0` commands
2023-09-05 17:22:22 -04:00
f9f7fb2e1e
Working rel make
& more
...
- Added `elf info`
- Improved `rel info`
- Colored output for `shasum`
- Fix section `rename` in RELs
- Added padding symbols to avoid linker issues
- Automatically set symbols to "active" in .comment output
2023-08-23 23:13:12 -04:00
a2374e4fa0
Semi-working REL analysis & splitting
2023-08-23 23:13:12 -04:00
3f63f1ef47
A lot more section-address-aware refactoring
2023-08-23 23:13:12 -04:00
5843ee021e
Begin REL analysis & rework lots of code to be section-address aware
2023-08-17 22:09:45 -04:00
908e3bb037
Check functions at start of code sections in detect_functions
2023-08-15 22:44:48 -04:00
2c2ee8bf08
Validate splits don't overlap symbols (or each other)
...
Use DoubleEndedIterator::next_back instead of Iterator::last to avoid unnecessary iteration.
2023-08-15 09:47:00 -04:00
cf328b8707
Only create relocations for direct branches
2023-08-09 23:59:26 -04:00
c9eb824034
Emit __init_cpp_exceptions_reference symbols as global
2023-08-07 20:05:19 -04:00
4ee63abea4
Mark autogenerated splits & rework ObjInfo::add_split
2023-08-03 19:18:20 -04:00
f06a6ffbdd
Ignore ABS symbols in ObjSymbols::for_range
...
- Add ObjSymbols::iter_ordered for all symbols (including ABS)
- Extract duplicated logic into ObjSymbols::for_relocation
2023-08-03 19:04:17 -04:00
8660984d40
Improve prologue/epilogue detection
2023-08-03 18:51:15 -04:00
b267b79f7b
Fix string detection overwriting known symbols
2023-08-03 18:50:27 -04:00
0fa0aafaea
6 months of occasional work I guess
2023-07-21 17:59:07 -04:00
830f7b172f
Reorganize files; start RSO support; config & split updates
2023-01-27 23:15:52 -05:00