Repository navigation
feat(pal,us2): port func_L00_002D5EB8 to both releases, retain one near-miss pair - #442
Open
nominalsan wants to merge 1 commit into
Open
nominalsan wants to merge 1 commit into
nominalsan wants to merge 1 commit into
Conversation
…ar-miss pair C ports of the matched USA v1.01 func_L00_002D5EB8 (src/levels/shared/L00_002D3798-g8.c), each its own -g8.c unit: - func_PAL_L00_002D6408 (27 levels): the 50 Hz duration 0x12C (300 frames) where v1.01 passes 0x168 (360), and PAL's own callees func_PAL_00288E20, func_PAL_L00_0030E648 and func_PAL_002B1588. - func_US2_L00_002D6258 (27 levels): the same C with v2.00's own callees func_US2_00288F30, func_US2_L00_0030D9F8 and func_US2_002B1880. Near misses (markers kept): func_PAL_002CCAC8 and func_US2_002CCC18, the PAL and v2.00 copies of func_002CBC58, are exact (28/28) only with the volatile qualifier on D_001AB910 that the merged USA C uses. Without it they are 2068/2100 bytes: an empty else-if arm loses its dead read. Three lawful forms were measured; the notes in nonmatching/game/ record why they cannot close and that the qualifier needs a maintainer's ruling. Checks: - tools/check.py: func_PAL_L00_002D6408 27 of 27, func_US2_L00_002D6258 27 of 27. - tools/build.py all --strict: 28 programs OK in each of USA v1.01, PAL and USA v2.00; both functions are in all 27 carrying placed.json. - python3 -m unittest discover -s tests: 540 tests OK (1 skipped); tests/check_repository.py: passed; tools/progress.py --check: passed. Report not regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ByteMatch progress reportSCUS_972.68_v2
No function changes. SCUS_972.68
No function changes. SCES_516.07
No function changes. Commit a4d6c74 · Ratchet & Clank: Going Commando on ByteMatch |
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.
What
The PAL and USA v2.00 copies of the matched USA v1.01
func_L00_002D5EB8(src/levels/shared/L00_002D3798-g8.c), ported as C, and one near-miss pair retained innonmatching/.func_PAL_L00_002D6408func_L00_002D5EB8with the 50 Hz duration0x12C(300 frames) where v1.01 passes0x168(360), and PAL's own calleesfunc_PAL_00288E20,func_PAL_L00_0030E648,func_PAL_002B1588. Newsrc/pal/levels/shared/L00_002D6408-g8.cfunc_US2_L00_002D6258func_L00_002D5EB8with v2.00's own calleesfunc_US2_00288F30,func_US2_L00_0030D9F8,func_US2_002B1880. Newsrc/us2/levels/shared/L00_002D6258-g8.cBoth use the
-g8default profile, like their original, soconfig/cflags.txtis unchanged. The per-level externals areref_PAL_L00_002D6408_00andref_US2_L00_002D6258_00.Retained near miss (markers kept):
func_PAL_002CCAC8andfunc_US2_002CCC18(2100 bytes, boot + 27 levels), the PAL and v2.00 copies offunc_002CBC58. Both are exact (28/28) only withvolatileonD_001AB910, the qualifier the merged USA C (src/game/002C7748-panels-g8.c) uses, which no known code writes. Without it they are 2068/2100 bytes: the empty armelse if (page == D_0025A058 && !D_001AB910) { }loses retail's dead read (beqlwithlw D_001AB910in its slot). Three lawful forms were measured. The notes innonmatching/game/record why they cannot close: flow's(use (const_int 0))after a block-ending call stops cross-jumping. This needs a maintainer's ruling onD_001AB910, which also coversfunc_002CBAE0,func_002CBC58and the PAL/v2.00 copies of both.Checked
tools/check.py:func_PAL_L00_002D640827 of 27,func_US2_L00_002D625827 of 27.tools/build.py all --strict: 28 programs OK.tools/build.py all --version pal --strict: 28 programs OK.tools/build.py all --version us2 --strict: 28 programs OK.placed.json: each function is placed in all 27 carrying programs; none fell back.python3 -m unittest discover -s tests: 540 tests, OK (1 skipped).python3 tests/check_repository.py: repository checks passed.python3 tools/progress.py --check: passes (the reports of us, pal, us2 agree).git ls-files --eol: all 7 changed filesi/lf w/lf.tools/progress.pywas not run;progress/report.jsonand the README are not touched.Adds 1 PAL and 1 USA v2.00 function (C); no USA v1.01 functions. Independent of #441.
🤖 Generated with Claude Code