Skip to content

feat(src): match the Yeedil object update at 004435A0 (492 bytes) - #346

Merged
Lynder063 merged 3 commits into
masterfrom
match/sdata-resume
Oct 28, 2026
Merged

Lynder063 merged 3 commits into
masterfrom
match/sdata-resume

Conversation

@llesieur99

Copy link
Copy Markdown
Collaborator

What

Match func_L20_004435A0, the 492-byte Yeedil object update, from its retained reconstruction. The shared vector remains an incomplete array with the qualified SDATA address view. The spawn selector now declares its actual pointer return: null on failure, otherwise the child pointer returned by one of its two helpers. This closes the last register difference with the real ABI.

The obsolete near miss is retired. A separate retained note records why the same address-alias experiment does not yet close func_00132028. No arbitrary assembly, register pin, fake extent or added operation is introduced.

Checked

  • tools/check.py func_L20_004435A0: 1/1 US and 1/1 US2 placements match; PAL has no catalogue identity.
  • tools/build.py all --strict --jobs 6 --version us: 28 programs OK.
  • tools/build.py level 20 --strict --version us2: OK. These cover every carrying program; no C fallback.
  • 294 tests pass, plus host repository, progress consistency, staged LF and diff checks.
  • Compiler and tooling are reused from the qualified master. Source/tool/test inputs are unchanged throughout qualification and checked against the committed payload.

Adds one C function, 492 unique primary bytes, with two placements across the releases. No progress report regeneration or native gameplay test is claimed.

Use the qualified SDATA alias for the incomplete shared vector view and
declare 00442F80 with its actual pointer return. Its failure path returns
null; the remaining paths forward the child pointers from 00443328 or
004431E0. The truthful return contract closes the last temporary-register
difference without register pins, false object bounds or added accesses.

Move the retained reconstruction into its G8 source unit and remove its
assembly marker and obsolete near-miss entry. Record the unsuccessful
SDATA follow-up on 00132028 so it is not repeated without new evidence.

Validated: 492 bytes, 1/1 USA v1.01 and 1/1 USA v2.00 placements. PAL has
no corresponding catalogue identity. All28 USA v1.01 programs pass the
strict build, as does USA v2.00 level20; no C fallback. All294 tests,
repository/progress and LF/diff checks pass. No report is regenerated.
@bytematchdev

bytematchdev Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

ByteMatch progress report

SCES_516.07

Code matched 15.01% · 856.52 KB of 5.70 MB
Fuzzy match 15.01%
Functions 4,412 / 8,677
Data matched 0.00%
Units complete 571 / 927

No function changes.

SCUS_972.68

Code matched 45.04% · 2.49 MB of 5.53 MB
Fuzzy match 45.04%
Functions 5,623 / 8,584
Data matched 0.00%
Units complete 618 / 734

No function changes.

SCUS_972.68_v2

Code matched 23.63% · 1.32 MB of 5.58 MB
Fuzzy match 23.63%
Functions 5,304 / 8,639
Data matched 0.00%
Units complete 636 / 891

No function changes.

Commit e3b8e27 · Ratchet & Clank: Going Commando on ByteMatch

The newly merged functional-gate tests resolve a missing boot-function
alias through copy_map, which reads the private boot image. CI has no game
data, so the previously synthetic level-resolver fixture fails there.

Supply an empty synthetic copy map for this fixture and explicitly reject
any retail-byte read. Keep all existing resolution assertions and the
separate copy-pair tests. No production resolver or matching code changes.

Checked: all19 functional-gate tests pass without game data; host222 tests
pass with expected skips, and the private Linux suite passes313 tests.
All matching source/compiler inputs retain the qualified29-program bytes.
@Lynder063
Lynder063 merged commit 2015427 into master Oct 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants