AnyPS5/docs/dev/debt/libSceCesCs.md

1.4 KiB

libSceCesCs technical debt

Silent stubs

  • sceCesMbcsUcsContextInit (libSceCesCs) - returns success without writing to the context, and returns the invalid-parameter error for a null context. The signature int sceCesMbcsUcsContextInit(union* context, const union* mbcsUcsPrf) follows the Orbital IDA type database; the context layout and its size are unknown, so nothing is stored. PPSA15246 calls it and imports no other function that takes the context; no conversion through an initialized context exists. sceCesRefersUcsProfileCp1251 returns a profile accepted by sceCesSbcToUtf8 and sceCesUtf8ToSbc only, with the Windows-1251 table of Microsoft's bestfit1251.txt, where byte 0x98 (unassigned) maps to U+0098 like the unassigned Cp1252 bytes; the console behavior for that byte is not verified
  • sceCesUcsProfileInitSJis1997Cp932 (libSceCesCs) - returns the sheet argument without writing profile tables to it, and returns null for a null pointer; Shift-JIS conversion tables are unimplemented. The signature union* sceCesUcsProfileInitSJis1997Cp932(SceCesUcsProfileSheet* sheet) follows the Orbital IDA type database