Repository navigation
Conversation
Functions whose code is a matched function with other constants and addresses, ported from that C (constants from retail, callees and globals renamed to what the disc reaches), plus mid-size functions decompiled by hand. PAL functions get src/pal/ files with PAL addresses. Superseded nonmatching/ drafts are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ByteMatch progress reportSCUS_974.65
✅ Newly matched (294)
📉 Worse (12)
SCES_532.85
✅ Newly matched (203)
|
These PAL functions were matched by src/pal/ files; the US C added in the previous commit builds the same PAL bytes, so the maps already credit the US file and the PAL copies had no row left. Maps and progress unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Same method as the first commit: the matched twin C, constants set to retail, callees and globals renamed to what the disc reaches (from the relocations, then from audit_relocs.py lines). Nine src/pal files added or kept by this branch that the US C now covers are dropped, and four nonmatching/ drafts are replaced. Co-Authored-By: Claude <noreply@anthropic.com>
…cover 78 of the new US functions are not in config/functions.tsv, so audit_relocs.py does not check their relocations. Checked them against the retail words (calls, HI16/LO16 and GPREL16 with gp 0x22597F): 32 files still named the twin callees or globals. Renamed to what the disc reaches; the built bytes do not change. Co-Authored-By: Claude <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.
Matches 298 US functions and 24 PAL functions. US goes from 7,673 to 7,967 functions (12.88% → 14.18% of the code), PAL from 8,044 to 8,103 (14.62% → 14.89%).
How
Most are shape twins: functions whose instructions are those of a function already matched in C, with other constants and addresses (OpenRAC's
tools/mips.pyshape fingerprint over the US and PAL catalogues). For each one, the twin's C was copied and then:60.0f→50.0f,0.2f→0.24f);src/pal/files do);Fourteen are mid-size functions decompiled by hand.
PAL functions go to
src/pal/with PAL names and addresses; US ones tosrc/as usual. Three replace drafts innonmatching/.No
#definealiases,volatile, inline asm or hard-coded addresses.Functions the audits do not cover
The first commit kept only functions that
config/functions.tsv/config/overlay_functions.tsvknow with the same size asconfig/us/. That was too strict:mainalready has about 1,900 matched functions those tables do not list. The later commits add 236 more twins:audit_matches.pyandaudit_relocs.pyname none of them (34 that they did name are left out);config/functions.tsv, soaudit_relocs.pydoes not check their relocations. I checked those against the retail words myself (calls, HI16/LO16, and GPREL16 with gp0x22597F), fixed the 32 files that still used the twin's names, and the check now finds no mismatch. Byte equality for all of them ischeck_func.pyMATCH and thematchrowsmatch_map.py --writegives.About the ByteMatch report
func_004D3060,func_0054ACE8): theirnonmatching/drafts (95.69% and 92.41%) are replaced by exact C insrc/game/; both are in Newly matched.src/pal/files, and the US C added here builds the same PAL bytes, so the map now credits the US file. The branch drops thesrc/pal/copies that had a map row before and have none left (14, then 9 more, five of them files this PR had added); maps and progress do not change. PAL still goes up.Verification
On
mainat cf4b0ed (merged in after #143):tools/build.sh,build_libgcc.sh,build_libm.sh;tools/audit_matches.pyandtools/audit_relocs.py: no line names any of these functions;tools/check_func.py --version palgives MATCH for each PAL file;config/{us,pal}/map.tsvchanged only on these rows (match_map --writewith and without the new files, applied as a delta), thenmatch_map --check;progress.py --checkfor US and PAL.Reserved in #112.
🤖 Generated with Claude Code