Repository navigation
feat(libSceCesCs): add the code page 864 profile - #11614
oneandonlydean merged 4 commits into
Conversation
MarcZX10
left a comment
There was a problem hiding this comment.
Reviewed head 2d0f7e214c72883c1b4e4c66b1f39232c4ef853c. The CP864 profile is registered as a distinct single-byte profile, its byte 0x25 override is consulted in both directions, and the undefined 0x0000 table cells flow through the existing unassigned-code handling. The pending export is removed and the API declaration now has the profile-pointer return type. The added MBCS checks cover the special low-byte mapping, representative high-byte mappings, undefined bytes, and round-trip conversion. The PR reports a full Python cp864 table comparison and 14 passing guest_ces tests; I did not rerun them locally. Hosted eligibility, conventions, intake, labels and progress report pass; the build/relinker jobs are skipped by path policy, so no hosted C++ test run is available. I found no blocking issue in the diff.
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
2d0f7e2 to
55887e1
Compare
|
Rebased on main 801d5b9 (the pending-exports count in the debt file had moved after #10426 and #10739 were merged). I re-checked the PRs the overlap bot lists, #9912, #10056, #10428, #10430, #10431 and #10751: none of them implements @atharvjairath, @rooklz, @SkillzTech1: would it suit you if this one goes after your CesCs PRs? It is small, so I can rebase it whenever one of them is merged. If you prefer another order, tell me and I'll declare it with |
|
Windows result for head Host: Windows 11 26300, Intel i7-12700K, WinLibs GCC 15.2.0 (x86_64-ucrt-posix-seh, r6), Release, The tree also carried the open PRs #11172, #10780, #10729, #10631, #10582, #11547, #11584, #11572, all merged cleanly, so the run is a joint one; the tests of this PR are AI-assisted: yes (Claude Code), the runs and the numbers above are from this machine. |
|
Thanks for the Windows run, and for testing it alongside the other open PRs! |
55887e1 to
64b4a0e
Compare
Implement sceCesRefersUcsProfileCp864 with Microsoft's CP864.TXT table. Byte 0x25 maps to U+066A through the low-byte table, U+0025 has no byte, and the six undefined bytes answer UNASSIGNED_CODE. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N6PcbFBJ6WBtt4TVxUhgTW
64b4a0e to
f79f5ae
Compare
|
Hi noamroger, #10056 merged today, and this PR no longer merges cleanly with main. These conflicts overlap your changes, so they need your call:
Could you merge main into this branch and resolve them, keeping what that PR added? A merge commit is fine; no need to rebase or force-push. Once it's pushed we'll re-review the merge. |
Keep the profiles boykopovar#10056 added; Cp864 stays implemented, so its pending stub and int declaration are dropped and the pending count goes to 17. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N6PcbFBJ6WBtt4TVxUhgTW
✅ AMD GPU test: passedPR head
Unstable on main (1, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (4, not counted against this PR)Validation IDs already present on main (8 IDs in 468 tests)Skipped (7)ReproduceAutomated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
What
Implements
sceCesRefersUcsProfileCp864, a pending export, with Microsoft's CP864.TXT table. Byte 0x25 is the Arabic percent sign U+066A, and U+0025 has no byte. The undefined bytes 0x9B, 0x9C, 0x9F, 0xA6, 0xA7 and 0xFF are 0 in the table, so they answerUNASSIGNED_CODEin both directions through the existingsbcToUnicodecheck.To support the 0x25 mapping, the single-byte lookup gains a small low-byte override table (
SingleByte::LOW), whichsbcToUnicodeandunicodeToSbcconsult first. The declaration ininclude/Api.hppgets the real return type, the stub leavesPendingExports.cpp(60 left), and a debt entry states what is not measured.Tested
Linux x86-64, full build with GCC 13.
ctest -R guest_ces: all 14 CesCs tests pass.GuestCes.cppchecks every Cp864 byte (the 6 undefined ones fail, the other 249 round-trip and 0x01-0x7F except 0x25 stay ASCII), U+066A ↔ 0x25, U+0025 unassigned, and decoding/encoding through an MBCS context. The table matches Python'scp864codec byte for byte.tools/check_conventions.py --base origin/mainpasses. Not tested on a PS5.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)Generated with Claude Code