Xmb plugin

From PS3 Developer wiki
Revision as of 17:31, 17 September 2015 by Mysis (talk | contribs) (→‎Function 22)
Jump to navigation Jump to search


3 Identifiers:

  • 0x584D4D30 ("XMM0")
  • 0x4D4F4430 ("MOD0")
  • 0x584D4232 ("XMB2")

XMM0 Interface

contains 26 subs:

0: 1 Parameter: char * plugin name - get plugin id by string name
1: 1 Parameter: int value (Plugin Enum ID) - gets plugin name string by Id
2: 1 Parameter: int value (Plugin Enum ID) - can test if plugin view is available or not. (Result != 0)
3: 3 Parameter: - int value (Plugin Enum ID), void * handler, int - Loads corresponding plugin and executes the thread for view/interface usage
4: Utility::LoadPlugin, 1 Parameter: uint * { Plugin Enum Id, int, int, int }
5: Shutdown, 3 Parameter: int value (Plugin Enum Id), void * callback, int
6: 1 Parameter: uint * { Plugin Enum Id, int , int }
7: 1 Parameter: int value (Plugin Enum ID) - _paf_99919819 - (module activate?)
8: ActivatePlugin, 1 Parameter: int value (Plugin Enum ID)
9: 1 Parameter: int value (Plugin Enum ID) to store
10: 1 Parameter: int value to store - (module deactivate?)
11: 2 Parameter: int, int
12: 3 Parameter: int (Plugin Enum Id) , int value (Plugin Enum ID), int value to store - SendFinalizeEndNotify?
13: 1 Parameter: uint* [0xED8] - receives
14: 1 Parameter: uint* [0xED8] - sets
15: 1 Parameter: struct *ptr
16: GetModuleLoadOpinion, 1 Parameter: int value (Plugin Enum ID)
17: SetModuleLoadOpinion?, 2 Parameter: int value (Plugin Enum ID), uint64 unknown - stores unknown value onto xmb plugin enum id's struct
18: 2 Parameter: void * handler, int
19: 2 Parameter: void * handler, int
20: 2 Parameter: out:int, out:int 
21: 2 Parameter: int value (Plugin Enum ID), int value (0 = _vshnet_965A7E9D( ) ,else= _vshnet_52122E7D(("PS3 %s"), )) 
22: 1 Parameter: int value (Plugin Enum ID)
23: 2 Parameter: char* action, int value - Executes Action
24: 2 Parameter: char* action, int value - Gets Plugin ID Enum based by Action string
25: 0 Parameter:

Function 23

Executes Action on given Input (Parameter 1 (Action), Parameter 2 (Action Type?) - calls plugin ACT0 Interface 0's ).

Parameter 1: Action (string with Parameter 2 command)

Parameter 2 = 0 determines:

http   - webbrowser_plugin
https  - webbrowser_plugin
psns   - npsignin_plugin
psim   - npsignin_plugin
psvp   - videoplayer_plugin

Parameter 2 = 1 determines:

psns   - newstore_plugin
hknw   - hknw_plugin
psim   - friendim_plugin
tchat  - avc2_text_plugin
search - webbrowser_plugin
wbrd   - wboard_plugin
copy   - filecopy_plugin
explore- explore_plugin
regcam - regcam_plugin

Function 23 Examples

psim:

psim:sendBrowserWakeup?desc=&url=

regcam:

regcam:reg?

psvp:

psvp:bgdl?id=0x%08x
psvp:vdss?url=%s&id=0x%016llx&spd=%lld&cid=%s&fid=%s

psns:

psns:browse?target=plus&boot=102

MOD0 Interface

contains 5 subs:

0: 0 Input:
1: 0 Input: - somewhat CAT0 related
2: empty
3: return 0
4: empty

XMB2 Interface

contains 33 subs:

0: 1 Parameter: int value (0 - 0x14)
1: 2 Parameter: int value (can be gotten from 13), 11) ), int value (0 - 0x14)
2: 1 Parameter: int value, float value
3: 0 Parameter: 
4: 0 Parameter: returns int
5: 1 Parameter: float value
6: 0 Parameter: returns float
7: 2 Parameter: int, int - (example: See Table Function 7) - page_xmb page_xmb_indicator
8: 0 Parameter: 
9: 3 Parameter: int *, int* , wchar * infotext1
10: 0 Parameter: 
11: 1 Parameter: int
12: 1 Parameter: int id
13: 0 Parameter: returns int - (Hakoniwa/VideoEdit-Enabled Flag?)
14: 0 Parameter: returns uint8
15: 2 Parameter: calls 16) with int,int, 0
16: 3 Parameter: uint8_t * struct[] ,int (gamepad port id),int explore_action (0 = return, 1 = FocusMessageBox,2 = FocusFriend,3 = impose_pad_battery_notice) 
17: 0 Parameter: returns struct according to gametool/gametool2
18: 1 Parameter: int, float, float
19: 2 Parameter: int,int (0x0C memsets 2 regions)
20: 1 Parameter: in:  uint8 [0x38]
21: 1 Parameter: out: uint8 [0x38]
22: 1 Parameter: wchar * - page_xmb_indicator - Shows XMB-Notifications at the bottom like "(Triangle): Options" 
23: 0 Parameter: returns ptr* ( ptr[0x908] = -1 -> ClearWBoardFocus)
24: 0 Parameter: - _vshcommon_34A05733 ("xmb_plugin2", 0x15480)
25: 0 Parameter: returns sys_lwmutex_t * "_pf_lwm"
26: 1 Parameter: int value (0=decrease(+page_xmb_fg) + xmb2_interface_7(0,0x1C0/0x40,0x1C0),else=increase (page_xmb_fg))
27: 0 Parameter: - calls category_setting_plugin CAT0 interface #24 + explore_plugin CAT0 interface #24
28: 1 Parameter: char* - Example: ""wbrd:show?"" , ""tchat:fullvsh_ps""
29: 0 Parameter: 
30: 2 Parameter: void *callback,uint8 [0x2F8] - set new custom_render_plugin callback and its parameter r8
31: 1 Parameter: int value (0=page close, else= setwidget) - page_xmb_bg 
32: 1 Parameter: int value (0=page close, else= setwidget) - page_xmb_fg 

Function 0

int notes
0x00 function 7(0x040,0x1C0), PageActivate page_xmb, xmm0 function 8, or-flag 0x40000
0x01 function 7(0x00,0x1C0), PageActivate page_xmb, xmm0 function 8, or-flag 0x40000
0x02 function 7(0x40,0x1CF), PageActivate page_xmb, xmm0 function 8, or-flag 0x40000
0x03 xmm0 function 25, xmm0 function 16, xmb2 function 7 (0x000, 0x1C0), xmm0 function 8
0x04 (nothing)
0x05 depending of xmb2 function 11 result: <0 -> follows 0x00; >0 -> function 7(0x140,0xEFFF), PageActivate page_xmb, xmm0 function 8, do not or-flag 0x40000
0x06 PageActivate page_xmb, xmm0 function 8
0x07 0x40000 flag
0x08 same as 0x07
0x09 same as 0x07
0x0A function 11 ( 7 ), function 2, then follows 0x03
0x0B (nothing)
0x0C (nothing)
0x0D
0x0E loads new struct at 0x2A4
0x0F ( function 11, function 12, CAT0 Interface, set String)
0x10 (nothing)
0x11 (nothing)
0x12 paf_6C8F62F7 , calls Custom Render callback ?
0x13 allows use of float value used at function5 ? (busy icon related?)
0x14 changes indicator/"indi_base" width? + ( & 0x1C0 -> disable)

Function 7

int int notes
0x000 0x003F nothing?
0x000 0x01C0 makes XMB disappear, as if you launch a game
0x000 0x0C00 makes XMB disappear, then x-bar invisible
0x000 0x0DC0 makes XMB disappear, then x-bar invisible
0x040 0x01C0
0x040 0x0DC0 nothing?
0x040 0x01CF nothing?
0x041 0x01CF sets xmb y-axis bar very left
0x042 0x01CF sets xmb y-axis bar very left (outside visible area)
0x051 0x01CF sets xmb y-axis bar very left
0x051 0x01FF sets xmb y-axis bar very left
0x080 0x01C0 makes xmb x-axis bar transparent
0x0C0 0x01C0 makes xmb x-axis bar transparent
0x100 0x01C0 centers xmb y-axis selection bar on the xmb x-axis
0x140 0x01C0 centers xmb y-axis selection bar on the xmb x-axis
0x140 0xEFFF centers xmb y-axis selection bar on the xmb x-axis
0x180 0x01C0 makes xmb x-axis bar transparent
0x1C0 0x01C0 makes xmb x-axis bar transparent
0x200 0x0200
0x000 0x11C0 makes XMB disappear, then x-bar invisible
0x040 0x03C0 nothing?
0x400 0x0C00 makes XMB x-bar invisible
0x4C0 0x0DC0 makes XMB x-bar invisible
0x800 0x0C00 makes XMB x-bar invisible

Function 21

00000000 00 00 00 01 00 00 00 06 00 00 00 00 67 61 6D 65 ............game
00000010 44 69 72 32 00 00 00 00 00 00 00 00 00 00 00 08 Dir2............
00000020 00 00 00 0F FF FF FF FF FF FF FF FF 00 00 00 00 ................
00000030 08 00 00 00 01 00 00 13                         ........

Function 22

L"\uF880"  = Dualshock circle button-Button
L"\uF881"  = Dualshock cross button-Button
L"\uF882"  = Dualshock square button-Button
L"\uF883"  = Dualshock triangle button-Button
L"\uF884"  = D-Pad UP Button-Button
L"\uF885"  = D-Pad DOWN Button-Button
L"\uF886"  = D-Pad LEFT Button-Button
L"\uF887"  = D-Pad RIGHT Button-Button
L"\uF888"  = Dualshock L1 button-Button
L"\uF889"  = Dualshock L2 button-Button
L"\uF88A"  = Dualshock L3 button-Button
L"\uF88B"  = Dualshock R1 button-Button
L"\uF88C"  = Dualshock R2 button-Button
L"\uF88D"  = Dualshock R3 button-Button
L"\uF88E"  = Dualshock select button-Button
L"\uF88F"  = Dualshock start button-Button
L"\uF892"  = Dualshock PS button-Button
L"\uF893"  = Dualshock L2 buttonD-Pad LEFT Button-Combo
L"\uF894"  = Dualshock R2 buttonD-Pad RIGHT Button-Combo

xmb plugin id list

Plugin name Enum ID
system_plugin 0x00
xmb_plugin 0x01
explore_plugin 0x02
game_plugin 0x14
np_trophy_ingame 0x25
gamedata_plugin 0x15
game_ext_plugin 0x16
premo_plugin 0x1A
micon_lock_plugin 0x2B
category_setting_plugin 0x03
sysconf_plugin 0x05
netconf_plugin 0x06
software_update_plugin 0x07
bdp_plugin 0x11
bdp_disccheck_plugin 0x12
bdp_storage_plugin 0x13
user_plugin 0x04
friendim_plugin 0x1E
friendml_plugin 0x1F
friendtrophy_plugin 0x26
profile_plugin 0x27
photoviewer_plugin 0x0B
videoplayer_plugin 0x10
webbrowser_plugin 0x1B
webrender_plugin 0x1C
xai_plugin 0x1D
audioplayer_plugin 0x0D
videodownloader_plugin 0x28
nas_plugin 0x22
download_plugin 0x29
ps3_savedata_plugin 0x17
vmc_savedata_plugin 0x18
thumthum_plugin 0x2A
npsignin_plugin 0x23
avc_plugin 0x20
avc2_text_plugin 0x21
sacd_plugin 0x0E
eula_cddb_plugin 0x0F
strviewer_plugin 0x2D
edy_plugin 0x08
print_plugin 0x09
newstore_plugin 0x31
deviceconf_plugin 0x0A
dlna_plugin 0x2C
playlist_plugin 0x2F
np_trophy_plugin 0x24
kensaku_plugin 0x34
regcam_plugin 0x35
idle_plugin 0x36
filecopy_plugin 0x37
wboard_plugin 0x38
hknw_plugin 0x32
poweroff_plugin 0x39
eula_hcopy_plugin 0x3C
videoeditor_plugin 0x3A
scenefolder_plugin 0x3B
mtpinitiator_plugin 0x3E
campaign_plugin 0x3F
remotedownload_plugin 0x40

XMB Indexed Modules

XMB Indexed Modules
Module Reference
<module>.sprx
<resource>.rco
Indexed in: In firmwares: XMBML module-action
availables
Notes
xmb_plugin.sprx xmb_ingame.sprx From Up to
playlist_plugin
playlist_plugin.sprx
playlist_plugin.rco
Yes No ??? 4.86 make_new_playlist_photo
make_new_playlist_music
new_playlist
playlists manager
scenefolder_plugin
scenefolder_plugin.sprx
scenefolder_plugin.rco
Yes No ??? 4.86 make_new_scenefolder_video_wo_title
make_new_scenefolder_video
system_plugin
basic_plugins.sprx
system_plugin.rco
Yes Yes ??? 4.86 ??? common and miscelaneous functions
xmb_plugin
xmb_plugin.sprx
N/A
Yes Yes ??? 4.86 ???
explore_plugin
explore_plugin.sprx
explore_plugin_full.rco
Yes Yes ??? 4.86

NotifyErrorNoExecute
ClearWBoardFocus
SetWBoardFocus
ExecStorageCopy
ShopDemo_ResetTimer
CloseListChild
FocusMessageBox
FocusFriend
ClearCache
ToggleExhibitionMode
SwitchBackgroundMode
SwitchFriendListMode
explore:log?channel_boot=
explore:log?channel_focus=
explore:log?screen_boot=
explore:log?screen_focus=
explore:log?video=%s%s
explore:log_flush?
explore:log_resession?
explore:call_updater
explore:log_direct?url=

file explorer
game_plugin
basic_plugins.sprx
game_plugin.rco
Yes Yes ??? 4.86 manual
psp_manual
miscelaneous game functions
np_trophy_ingame
np_trophy_ingame.sprx
np_trophy_ingame.rco
Yes Yes ??? 4.86 ??? online trophy functions
gamedata_plugin
gamedata_plugin.sprx
gamedata_plugin.rco
Yes No ??? 4.86 < any number > BDgame/gameupdate installations
game_ext_plugin
game_ext_plugin.sprx
gamedata_plugin.rco
Yes No ??? 4.86 ??? more miscelaneous game functions
premo_plugin
premo_plugin.sprx
premo_plugin.rco
Yes No ??? 4.86 ??? PSP remote play
micon_lock_plugin
micon_lock_plugin.sprx
N/A
Yes No ??? 4.86 ???
category_setting_plugin
category_setting_plugin.sprx
category_setting_plugin.rco
Yes No ??? 4.86 ??? XMB settings column
sysconf_plugin
sysconf_plugin.sprx
sysconf_plugin.rco
Yes No ??? 4.86 ??? miscelaneous system functions
netconf_plugin
netconf_plugin.sprx
netconf_plugin.rco
Yes No ??? 4.86 ??? network configuration manager
software_update_plugin
software_update_plugin.sprx
software_update_plugin.rco
Yes No ??? 4.86 ??? firmware updater miscelllaneous functions
bdp_plugin
bdp_plugin.sprx
bdp_plugin.rco
Yes No ??? 4.86 ??? bluray player
bdp_disccheck_plugin
bdp_disccheck_plugin.sprx
bdp_disccheck_plugin.rco
Yes No ??? 4.86 ??? bluray movie disc identifyer
bdp_storage_plugin
bdp_storage_plugin.sprx
bdp_storage_plugin.rco
Yes No ??? 4.86 ??? bluray movie disc identifyer ?
user_plugin
user_plugin.sprx
user_plugin.rco
Yes No ??? 4.86 ??? offline users manager
friendim_plugin
friendim_plugin.sprx
N/A
Yes No ??? 4.86 new_friend
new_message

psim:PluginNewMessageLaunch
psim:sendBrowserWakeup
psim:sendEtcLaunch
GameRecv
GameSend

chat functions
friendml_plugin
friendml_plugin.sprx
friendml_plugin.rco
Yes No ??? 4.86 ??? friends/chat functions
friendtrophy_plugin
friendtrophy_plugin.sprx
friendtrophy_plugin.rco
Yes No ??? 4.86 ??? friends/chat miscellaneous functions ?
profile_plugin
profile_plugin.sprx
profile_plugin.rco
Yes No ??? 4.86 ??? first boot user manager ?
photoviewer_plugin
photoviewer_plugin.sprx
photoviewer_plugin.rco
Yes No ??? 4.86 ??? image viewer
videoplayer_plugin
videoplayer_plugin.sprx
videoplayer_plugin.rco
Yes No ??? 4.86 psvp: video player
webbrowser_plugin
webbrowser_plugin.sprx
webbrowser_plugin.rco
Yes No ??? 4.86 <url> web browser
webrender_plugin
webrender_plugin.sprx
webrender_plugin.rco
Yes No ??? 4.86 <url> web browser miscelaneous functions ?
xai_plugin
xai_plugin.sprx
xai_plugin.rco
Yes No ??? 4.86 ??? XMB widgets
audioplayer_plugin
audioplayer_plugin.sprx
audioplayer_plugin.rco
Yes No ??? 4.86 ??? audio player
videodownloader_plugin
videodownloader_plugin.sprx
videodownloader_plugin.rco
Yes No ??? 4.86 ??? video downloader
nas_plugin
nas_plugin.sprx
nas_plugin.rco
Yes No ??? 4.86 ??? game purchase manager ?
download_plugin
download_plugin.sprx
download_plugin.rco
Yes No ??? 4.86 <number> file downloader
ps3_savedata_plugin
ps3_savedata_plugin.sprx
ps3_savedata_plugin.rco
Yes No ??? 4.86 ??? savedata manager (PS3)
vmc_savedata_plugin
vmc_savedata_plugin.sprx
vmc_savedata_plugin.rco
Yes No ??? 4.86 ??? virtual memory card manager (PS1 & PS2)
thumthum_plugin
thumthum_plugin.sprx
thumthum_plugin.rco
Yes No ??? 4.86 ???
npsignin_plugin
npsignin_plugin.sprx
npsignin_plugin.rco
Yes No ??? 4.86 ??? PSN login manager
avc_plugin
avc_plugin.sprx
avc_plugin.rco
Yes No ??? 4.86 new_chat Audio/Video chat manager ?
avc2_text_plugin
avc2_text_plugin.sprx
avc2_text_plugin.rco
Yes No ??? 4.86 new_chat Audio/Video chat manager 2 ?
sacd_plugin
sacd_plugin.sprx
sacd_plugin.rco
Yes No ??? 4.86 ??? super audio-CD player
eula_cddb_plugin
eula_cddb_plugin.sprx
eula_cddb_plugin.rco
Yes No ??? 4.86 ??? audio-CD database manager
strviewer_plugin
strviewer_plugin.sprx
strviewer_plugin.rco
Yes No ??? 4.86 ??? XMB language selector ?
edy_plugin
edy_plugin.sprx
edy_plugin.rco
Yes No ??? 4.86 ??? Edy viewer pay service
print_plugin
print_plugin.sprx
print_plugin.rco
Yes No ??? 4.86 ??? printer manager
newstore_plugin
newstore_plugin.sprx
newstore_plugin.rco
Yes No ??? 4.86 ??? PSN store viewer
deviceconf_plugin
deviceconf_plugin.sprx
deviceconf_plugin.rco
Yes No ??? 4.86 ??? peripheral manager
dlna_plugin
dlna_plugin.sprx
dlna_plugin.rco
Yes No ??? 4.86 dlna_scan dlna media services manager
np_trophy_plugin
np_trophy_plugin.sprx
np_trophy_plugin.rco
Yes No ??? 4.86 ???
kensaku_plugin
kensaku_plugin.sprx
kensaku_plugin.rco
Yes No ??? 4.86 kensaku_google internet search (the loupe icon in network column)
regcam_plugin
regcam_plugin.sprx
regcam_plugin.rco
Yes No ??? 4.86 ??? credit card manager ?
idle_plugin
idle_plugin.sprx
idle_plugin.rco
Yes No ??? 4.86 ??? XMB idle mode enabler ?
filecopy_plugin
filecopy_plugin.sprx
filecopy_plugin.rco
Yes No ??? 4.86 copy:device external device file importer/exporter
wboard_plugin
wboard_plugin.sprx
wboard_plugin.rco
Yes No ??? 4.86 wbrd:show? "what's new" display mode content manager
checker_plugin
checker_plugin.sprx
checker_plugin.rco
Yes No ??? 4.86 ???
hknw_plugin
hknw_plugin.sprx
hknw_plugin.rco
Yes No ??? 4.86 ??? photo editor (hakinowa)
poweroff_plugin
poweroff_plugin.sprx
poweroff_plugin.rco
Yes No ??? 4.86 ??? system power manager
eula_hcopy_plugin
eula_hcopy_plugin.sprx
eula_hcopy_plugin.rco
Yes No ??? 4.86 ??? hdd copy/backup utility
videoeditor_plugin
videoeditor_plugin.sprx
videoeditor_plugin.rco
Yes No ??? 4.86 ??? video editor
This table only represents modules indexed in CEX firmwares !

xmb_plugin_normal.rco (RCOXML contents)

  • Notes:
    • The main tree uses the name xmb_plugin... same name than xmb_ingame, and his contents are 99,9% similar
    • Main xmb is page_xmb while the clock frame at top right corner (and all his contents) belongs to the page page_xmb_indicator
    • page_xmb_bg (maybe related with the wave + sparks animation) and page_xmb_fg are background and foreground, his purpose is a bit confusing
Code Sample