Xmb plugin

From PS3 Developer wiki
Revision as of 05:05, 25 October 2014 by Sandungas (talk | contribs) (because impose_plugin.sprx doesnt exists.... this needs to be here because is directly related with xmb)
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: struct *ptr
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?"" (having 29) called before)
29: 0 Parameter: 
30: 2 Parameter: void *handler,uint8 [0x2F8 - set new handler and 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 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
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

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 !

impose_plugin.rco (RCOXML contents)

Code Sample

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 hs 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