Skip to content

feat(libSceTextToSpeech2): fail Open and Close without a speech engine - #22

Open
SleglJan wants to merge 1 commit into
mainfrom
feat/libscetts2-open-close-unavailable
Open

SleglJan wants to merge 1 commit into
mainfrom
feat/libscetts2-open-close-unavailable

Conversation

@SleglJan

@SleglJan SleglJan commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

What

sceTextToSpeech2Initialize fails because AnyPS5 has no speech engine (boykopovar#1374). The other seven exports throw NotImplemented: boykopovar#1374 made six of them throw on the assumption that a title only reaches them after a successful initialization and open, and sceTextToSpeech2GetSystemStatus (boykopovar#301) throws too. PPSA11386 (007 First Light) does not: it calls sceTextToSpeech2Initialize (a param starting with 0x2000000, as PPSA01317 passes), gets EOPNOTSUPP, then calls sceTextToSpeech2Close (with a pointer argument) and stops on sceTextToSpeech2Close not implemented; with only Close failing it calls sceTextToSpeech2Open next and stops there.

  • sceTextToSpeech2Open and sceTextToSpeech2Close now return the same EOPNOTSUPP (0x8002002D) as sceTextToSpeech2Initialize. With both failing, the title continues its start-up.
  • The console's codes for these calls without an initialized engine are unknown; TechnicalDebt's unknown-function-info line now covers all three functions and records that Close receives a pointer the declaration without parameters ignores, and the library line names the PPSA11386 call order.
  • Speak, Cancel, GetSpeechStatus, GetSystemStatus and Terminate still throw: no title has been seen calling them without an engine.

Overlap: no open pull request changes libSceTextToSpeech2.

Tested

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes (Claude Code)

🤖 Generated with Claude Code

sceTextToSpeech2Initialize fails because there is no speech engine, and
the other exports threw on the assumption that a title only calls them
after a successful initialization. PPSA11386 does not: after the failed
Initialize it calls sceTextToSpeech2Close and then sceTextToSpeech2Open,
and stops on "sceTextToSpeech2Close not implemented". Open and Close now
return the same EOPNOTSUPP as Initialize, and with both failing the title
continues its start-up. The console's codes for these calls without an
initialized engine are unknown and recorded as such. Speak, Cancel,
GetSpeechStatus, GetSystemStatus and Terminate still throw.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fnrk5Dazjb2tLooVSpdRQq

This branch has not been deployed

No deployments
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