Repository navigation
Match 50 PAL resident functions - #89
Merged
Merged
Conversation
Co-Authored-By: Kimi Code <noreply@moonshot.cn>
ByteMatch progress reportSCES_532.85
✅ Newly matched (50)
📉 Worse (1)
SCUS_974.65
No function changes. Commit 523c06a · Ratchet: Deadlocked on ByteMatch |
Veradictus
pushed a commit
to chistianh/rac-deadlocked-decomp
that referenced
this pull request
Nov 4, 2026
…, OpenRAC#88 and OpenRAC#89 map.tsv is the union of the rows those four PRs generated, in match_map.py's order. Reports and README tables rebuilt with tools/progress.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds matching C implementations for 50 previously undecompiled PAL resident functions (9,796 bytes). Cross-game comparison identified public RAC1/RAC2/RAC3 implementations useful for 28 of these reconstructions. Immutable donor commits, paths and functions are credited in
config/pal/crossgame_sources.tsv, source comments andTHIRD_PARTY_NOTICES.md. Fingerprints were used to find references; acceptance uses this game's PAL retail code.The batch covers HUD and text helpers, packet generation, serialization/checksums, interpolation, visibility lookup, resource dispatch, menu callbacks, state updates and two core variadic forwarding wrappers. Interfaces were checked against actual callers and callees, including full 64-bit color forwarding, text and buffer pointers, callback argument types, output initialization and object extents. Candidates needing register pins, assembly barriers, unsupported padding or unproven shift bounds were excluded.
Adds 50 PAL
matchrows and corresponding USotherrows while preserving all existing entries and their order. PAL matched code increases from 464,252 to 474,048 bytes (7.986549% to 8.155070%), and matched functions from 5,855 to 5,905. The US progress report is unchanged.ByteMatch's
Worseentry forfunc_00479E28is a unit reclassification, not a code regression: the oldfunc_004794F0near miss covered that PAL address at 89.06%, while the new exact source covers the same address at 100%. The US report is unchanged.Validation:
tools/cc.shpipeline and compared them at their direct PAL catalogue addresses: 50/50 MATCH.git diff --cached --checkreports no whitespace errors.The full repository build completed: 6,114 ordinary translation units, 11 libgcc objects and 26 libm objects. The US-retail-dependent
audit_matches.py,audit_relocs.pyand fullmatch_map.py --writeregeneration could not be completed because this checkout has no NTSC-U image or dumps (baserom/SCUS_974.65.elfandbaserom/us/main.elfare absent; the PAL map writer also reads the US reference data). The 50 added PAL units were therefore verified directly as above, and their maps were updated incrementally with every old row preserved. Both committed progress/source-map checks pass. A linked game build and runtime test were not run. No compiler-pipeline changes, disc data, extracted binaries or assembly listings are included.