Xmb plugin: Difference between revisions
Jump to navigation
Jump to search
m (→XMM0 Interface) |
|||
Line 181: | Line 181: | ||
! Plugin name !! Enum ID | ! Plugin name !! Enum ID | ||
|- | |- | ||
|system_plugin || 0x00 | |[[system_plugin]] || 0x00 | ||
|- | |- | ||
|xmb_plugin || 0x01 | |[[xmb_plugin]] || 0x01 | ||
|- | |- | ||
|explore_plugin || 0x02 | |[[explore_plugin]] || 0x02 | ||
|- | |- | ||
|game_plugin || 0x14 | |[[game_plugin]] || 0x14 | ||
|- | |- | ||
|np_trophy_ingame || 0x25 | |[[np_trophy_ingame]] || 0x25 | ||
|- | |- | ||
|gamedata_plugin || 0x15 | |[[gamedata_plugin]] || 0x15 | ||
|- | |- | ||
|game_ext_plugin || 0x16 | |[[game_ext_plugin]] || 0x16 | ||
|- | |- | ||
|premo_plugin || 0x1A | |[[premo_plugin]] || 0x1A | ||
|- | |- | ||
|micon_lock_plugin || 0x2B | |[[micon_lock_plugin]] || 0x2B | ||
|- | |- | ||
|category_setting_plugin || 0x03 | |[[category_setting_plugin]] || 0x03 | ||
|- | |- | ||
|sysconf_plugin || 0x05 | |[[sysconf_plugin]] || 0x05 | ||
|- | |- | ||
|netconf_plugin || 0x06 | |[[netconf_plugin]] || 0x06 | ||
|- | |- | ||
|software_update_plugin || 0x07 | |[[software_update_plugin]] || 0x07 | ||
|- | |- | ||
|bdp_plugin || 0x11 | |[[bdp_plugin]] || 0x11 | ||
|- | |- | ||
|bdp_disccheck_plugin || 0x12 | |[[bdp_disccheck_plugin]] || 0x12 | ||
|- | |- | ||
|bdp_storage_plugin || 0x13 | |[[bdp_storage_plugin]] || 0x13 | ||
|- | |- | ||
|user_plugin || 0x04 | |[[user_plugin]] || 0x04 | ||
|- | |- | ||
|friendim_plugin || 0x1E | |[[friendim_plugin]] || 0x1E | ||
|- | |- | ||
|friendml_plugin || 0x1F | |[[friendml_plugin]] || 0x1F | ||
|- | |- | ||
|friendtrophy_plugin || 0x26 | |[[friendtrophy_plugin]] || 0x26 | ||
|- | |- | ||
|profile_plugin || 0x27 | |[[profile_plugin]] || 0x27 | ||
|- | |- | ||
|photoviewer_plugin || 0x0B | |[[photoviewer_plugin]] || 0x0B | ||
|- | |- | ||
|videoplayer_plugin || 0x10 | |[[videoplayer_plugin]] || 0x10 | ||
|- | |- | ||
|webbrowser_plugin || 0x1B | |[[webbrowser_plugin]] || 0x1B | ||
|- | |- | ||
|webrender_plugin || 0x1C | |[[webrender_plugin]] || 0x1C | ||
|- | |- | ||
|xai_plugin || 0x1D | |[[xai_plugin]] || 0x1D | ||
|- | |- | ||
|audioplayer_plugin || 0x0D | |[[audioplayer_plugin]] || 0x0D | ||
|- | |- | ||
|videodownloader_plugin || 0x28 | |[[videodownloader_plugin]] || 0x28 | ||
|- | |- | ||
|nas_plugin || 0x22 | |[[nas_plugin]] || 0x22 | ||
|- | |- | ||
|download_plugin || 0x29 | |[[download_plugin]] || 0x29 | ||
|- | |- | ||
|ps3_savedata_plugin || 0x17 | |[[ps3_savedata_plugin]] || 0x17 | ||
|- | |- | ||
|vmc_savedata_plugin || 0x18 | |[[vmc_savedata_plugin]] || 0x18 | ||
|- | |- | ||
|thumthum_plugin || 0x2A | |[[thumthum_plugin]] || 0x2A | ||
|- | |- | ||
|npsignin_plugin || 0x23 | |[[npsignin_plugin]] || 0x23 | ||
|- | |- | ||
|avc_plugin || 0x20 | |[[avc_plugin]] || 0x20 | ||
|- | |- | ||
|avc2_text_plugin || 0x21 | |[[avc2_text_plugin]] || 0x21 | ||
|- | |- | ||
|sacd_plugin || 0x0E | |[[sacd_plugin]] || 0x0E | ||
|- | |- | ||
|eula_cddb_plugin || 0x0F | |[[eula_cddb_plugin]] || 0x0F | ||
|- | |- | ||
|strviewer_plugin || 0x2D | |[[strviewer_plugin]] || 0x2D | ||
|- | |- | ||
|edy_plugin || 0x08 | |[[edy_plugin]] || 0x08 | ||
|- | |- | ||
|print_plugin || 0x09 | |[[print_plugin]] || 0x09 | ||
|- | |- | ||
|newstore_plugin || 0x31 | |[[newstore_plugin]] || 0x31 | ||
|- | |- | ||
|deviceconf_plugin || 0x0A | |[[deviceconf_plugin]] || 0x0A | ||
|- | |- | ||
|dlna_plugin || 0x2C | |[[dlna_plugin]] || 0x2C | ||
|- | |- | ||
|playlist_plugin || 0x2F | |[[playlist_plugin]] || 0x2F | ||
|- | |- | ||
|np_trophy_plugin || 0x24 | |[[np_trophy_plugin]] || 0x24 | ||
|- | |- | ||
|kensaku_plugin || 0x34 | |[[kensaku_plugin]] || 0x34 | ||
|- | |- | ||
|regcam_plugin || 0x35 | |[[regcam_plugin]] || 0x35 | ||
|- | |- | ||
|idle_plugin || 0x36 | |[[idle_plugin]] || 0x36 | ||
|- | |- | ||
|filecopy_plugin || 0x37 | |[[filecopy_plugin]] || 0x37 | ||
|- | |- | ||
|wboard_plugin || 0x38 | |[[wboard_plugin]] || 0x38 | ||
|- | |- | ||
|hknw_plugin || 0x32 | |[[hknw_plugin]] || 0x32 | ||
|- | |- | ||
|poweroff_plugin || 0x39 | |[[poweroff_plugin]] || 0x39 | ||
|- | |- | ||
|eula_hcopy_plugin || 0x3C | |[[eula_hcopy_plugin]] || 0x3C | ||
|- | |- | ||
|videoeditor_plugin || 0x3A | |[[videoeditor_plugin]] || 0x3A | ||
|- | |- | ||
|scenefolder_plugin || 0x3B | |[[scenefolder_plugin]] || 0x3B | ||
|- | |- | ||
|mtpinitiator_plugin || 0x3E | |[[mtpinitiator_plugin]] || 0x3E | ||
|} | |} | ||
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> | {{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> |
Revision as of 12:35, 27 June 2014
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 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 11: 2 Parameter: int, int 12: 3 Parameter: int (Plugin Enum Id) , int value (Plugin Enum ID), int value to store 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 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 |