Skip to content

feat(us): match four more small NTSC-U level functions - #7

Merged
llesieur99 merged 1 commit into
OpenRAC:masterfrom
llesieur99:codex/us-sub200-after-pr6-20261106
Nov 6, 2026
Merged

llesieur99 merged 1 commit into
OpenRAC:masterfrom
llesieur99:codex/us-sub200-after-pr6-20261106

Conversation

@llesieur99

Copy link
Copy Markdown
Collaborator

Summary

Follow up to merged PR #6. Match four additional NTSC-U-only level functions smaller than 200 bytes in plain C: 452 distinct function-body bytes across 35 retail placements. Two of the functions are shared by 17 and 16 multiplayer levels.

func_L40_0053CE30 calls a terminal eight-byte function that has five catalogue names across its 16 level copies. The C source names its level-40 callsite; an independent check confirms each linked call targets the same eight-byte retail body in every level.

Validation

  • Stock native checks report MATCH for all four sources with inherited file flags. Independent relocation proofs cover all 35 placements.
  • The full NTSC-U build on e0e771fe7f97263b554764e54ada884d43ca0936 reports SCUS_973.53: 54 of 54 targets match.
  • An independent linked-section audit confirms 162 C functions in 2,203 placements and 120,537,627 non-BSS bytes identical to retail across all 54 programs.
  • All 50 unit tests pass with python -S; repository checks pass. The staged changes were scanned for disc/archive references, private paths, and keys.

Limits

This contribution targets NTSC-U only. The PAL disc is unavailable, so PAL validation and the two-disc carry remain pending. The official NTSC-U report remains at 6,341 exact functions and 730,328 exact bytes (9.73%) until these linked C functions are carried into that counter. The full build is byte-exact; gameplay has not been validated.

Only C source, configuration, generated names, and progress documentation are included. No retail programs, assembly dumps, game assets, or proprietary toolchains are published.

Add four native NTSC-U C functions below 200 bytes after merged PR OpenRAC#6.
They cover 452 distinct body bytes in 35 level placements. Two routines
are shared by 17 and 16 multiplayer levels, respectively.

The 16-copy routine's final eight-byte callee has five catalogue names
across the levels. Each retail call target was independently checked
against the same eight-byte body before integration.

Stock native checks report MATCH for all four sources. Independent
relocation proofs cover all 35 places. The full NTSC-U build reports
54 of 54 targets match; the linked-section audit verifies 162 C
functions, 2,203 placements, and 120,537,627 non-BSS retail bytes.
All 50 unit tests and repository checks pass.

PAL validation and the canonical two-disc carry remain pending.
@bytematchdev

bytematchdev Bot commented Nov 6, 2026

Copy link
Copy Markdown

ByteMatch progress report

SCUS_973.53

Code matched 9.73% · 730.33 KB of 7.51 MB
Fuzzy match 10.58% (+0.00%)
Functions 6,341 / 16,222
Units complete 291 / 391
✅ Newly matched (4)
  • func_L40_0053CE30 (180 bytes)
  • func_L39_00684748 (124 bytes)
  • func_L07_003C7270 (92 bytes)
  • func_L39_005F9608 (56 bytes)

SCES_524.56

Code matched 10.40% · 784.63 KB of 7.55 MB
Fuzzy match 10.40%
Functions 6,485 / 16,164
Units complete 276 / 419

No function changes.

Commit e0e771f · Ratchet & Clank: Up Your Arsenal on ByteMatch

@llesieur99
llesieur99 merged commit 1f0e376 into OpenRAC:master Nov 6, 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.

1 participant