Xmb plugin: Difference between revisions
m (→Function 19) |
m (→XMM0 Interface) |
||
Line 33: | Line 33: | ||
20: 2 Parameter: out: int *, out: 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"), )) | 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) | 22: 1 Parameter: int value (Plugin Enum ID) - executes given Plugin ID MOD0-Inferface Function 4) | ||
23: 2 Parameter: char* action, int value - Executes Action | 23: 2 Parameter: char* action, int value - Executes Action | ||
24: 2 Parameter: char* action, int value - Gets Plugin ID Enum based by Action string | 24: 2 Parameter: char* action, int value - Gets Plugin ID Enum based by Action string |
Revision as of 11:36, 13 November 2015
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) - executes given Plugin ID MOD0-Inferface Function 4) 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:
LoadModuleOpinion
& 1 = MOD0 Interface available
Function 19
Example: void * { ModuleLoading, ModuleLoaded, ModuleUnloading, ModuleUnloaded}, 0
Function 20
1st Parameter: +1/-1 (vsh helper uri enabled?) 2nd Parameter: +1/-1
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
xmb plugin id list
Plugin name | Enum ID | ModuleLoadOpinion | MOD0 Interface |
---|---|---|---|
system_plugin | 0x00 | 0x82 | No |
xmb_plugin | 0x01 | 0x83 | Yes |
explore_plugin | 0x02 | 0x485 | Yes |
game_plugin | 0x14 | 0x51 | Yes |
np_trophy_ingame | 0x25 | 0x808 | No |
gamedata_plugin | 0x15 | 0x11 | Yes |
game_ext_plugin | 0x16 | 0x51 | Yes |
premo_plugin | 0x1A | 0xC0 | No |
micon_lock_plugin | 0x2B | 0x0 | No |
category_setting_plugin | 0x03 | 0x484 | No |
sysconf_plugin | 0x05 | 0x40 | No |
netconf_plugin | 0x06 | 0x8 | No |
software_update_plugin | 0x07 | 0x41 | Yes |
bdp_plugin | 0x11 | 0x51 | Yes |
bdp_disccheck_plugin | 0x12 | 0x81 | Yes |
bdp_storage_plugin | 0x13 | 0x81 | Yes |
user_plugin | 0x04 | 0x148 | No |
friendim_plugin | 0x1E | 0x1 | Yes |
friendml_plugin | 0x1F | 0x41 | Yes |
friendtrophy_plugin | 0x26 | 0x41 | Yes |
profile_plugin | 0x27 | 0x41 | Yes |
photoviewer_plugin | 0x0B | 0x271 | Yes |
videoplayer_plugin | 0x10 | 0x271 | Yes |
webbrowser_plugin | 0x1B | 0x8071 | Yes |
webrender_plugin | 0x1C | 0x8071 | Yes |
xai_plugin | 0x1D | 0x81 | Yes |
audioplayer_plugin | 0x0D | 0x31 | Yes |
videodownloader_plugin | 0x28 | 0x8 | No |
nas_plugin | 0x22 | 0x48 | No |
download_plugin | 0x29 | 0x8 | No |
ps3_savedata_plugin | 0x17 | 0x808 | No |
vmc_savedata_plugin | 0x18 | 0x8 | No |
thumthum_plugin | 0x2A | 0x48 | No |
npsignin_plugin | 0x23 | 0x1 | Yes |
avc_plugin | 0x20 | 0x8071 | Yes |
avc2_text_plugin | 0x21 | 0x1 | Yes |
sacd_plugin | 0x0E | 0x69 | Yes |
eula_cddb_plugin | 0x0F | 0x48 | No |
strviewer_plugin | 0x2D | 0x58 | No |
edy_plugin | 0x08 | 0x48 | No |
print_plugin | 0x09 | 0x40 | No |
newstore_plugin | 0x31 | 0x48 | No |
deviceconf_plugin | 0x0A | 0x40 | No |
dlna_plugin | 0x2C | 0x48 | No |
playlist_plugin | 0x2F | 0x8 | No |
np_trophy_plugin | 0x24 | 0x808 | No |
kensaku_plugin | 0x34 | 0x80 | No |
regcam_plugin | 0x35 | 0x48 | No |
idle_plugin | 0x36 | 0x481 | Yes |
filecopy_plugin | 0x37 | 0x48 | No |
wboard_plugin | 0x38 | 0x881 | Yes |
hknw_plugin | 0x32 | 0x8071 | Yes |
poweroff_plugin | 0x39 | 0x141 | Yes |
eula_hcopy_plugin | 0x3C | 0x141 | Yes |
videoeditor_plugin | 0x3A | 0x271 | Yes |
scenefolder_plugin | 0x3B | 0x8 | No |
mtpinitiator_plugin | 0x3E | 0x40 | No |
campaign_plugin | 0x3F | 0x11 | Yes |
remotedownload_plugin | 0x40 | 0x140 | No |
MOD0 Interface
contains 5 subs:
0: 0 Parameter: - (ModuleActivate?) 1: 0 Parameter: - somewhat CAT0 related (ModuleDeactivate?) 2: empty - (ModuleLoadFailed?) 3: 0 Parameter: return 0 - (ModuleGetLoadOpinion?) 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 (like 7) 0x1C0) 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" = -Button L"\uF881" = -Button L"\uF882" = -Button L"\uF883" = -Button L"\uF884" = -Button L"\uF885" = -Button L"\uF886" = -Button L"\uF887" = -Button L"\uF888" = -Button L"\uF889" = -Button L"\uF88A" = -Button L"\uF88B" = -Button L"\uF88C" = -Button L"\uF88D" = -Button L"\uF88E" = -Button L"\uF88F" = -Button L"\uF892" = -Button L"\uF893" = -Combo L"\uF894" = -Combo
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 |
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 |
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
|