Files
AnyPS5/docs/dev/debt/libSceMsgDialog.md
T
MarcZX10 4dafcbe379 docs(libSceMsgDialog): note that the player's button is kept but not returned
The button a player picks in the overlay is stored like the one a dialog without
UI picks, and sceMsgDialogGetResult, which returns it, is exported by
libSceMsgDialog.native only.
2026-10-29 14:06:13 +00:00

1.9 KiB

libSceMsgDialog technical debt

Silent stubs

  • libSceMsgDialog - only a user message dialog with button type 0, 1, 3 or 4 shows UI, and only while the video output has a window to draw it. A progress bar, a system message, a user message of any other button type, a dialog opened with no window and one opened while another dialog is shown show none: sceMsgDialogOpen opens them without sceMsgDialogInitialize as well, and they finish on the second sceMsgDialogGetStatus or sceMsgDialogUpdateStatus call; the first 160 characters of a user message are only logged. The button a player picks, or that a dialog without UI picks (2 for YES_NO_FOCUS_NO, otherwise 1), is kept but not returned, as sceMsgDialogGetResult is exported by libSceMsgDialog.native. A progress bar dialog runs until sceMsgDialogClose or for 30 seconds, and sceMsgDialogProgressBarInc, sceMsgDialogProgressBarSetMsg and sceMsgDialogProgressBarSetValue ignore their arguments

Unknown function info

  • sceMsgDialogOpen (libSceMsgDialog) - the SceMsgDialogParam layout it reads is not measured on a PS5: the mode at 0x38 (1 user message, 2 progress bar, 3 system message), the user message parameter pointer at 0x40, and in that parameter the button type at 0 and the message pointer at 8. A mode outside 1 to 3, or a parameter that cannot be read, is treated as a user message; only Windows checks that the memory is readable, so on Linux any non-null pointer is read. The errors 0x80b80003 (not initialized), 0x80b80007 (busy), 0x80b8000b (not running) and 0x80b8000d (null argument) are not measured either. PPSA21564 01.007.000 (at 0x1D8C) and PPSA30839 01.003.000 (0x19690), disassembled for this entry, write this layout: 0x88 at 0x30, mode 1 and the parameter at 0x40 with the message at 8, and PPSA21564 the button type at 0. Closes when: measured on a PS5