Xmb plugin: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 294: Line 294:
|-
|-
|[[mtpinitiator_plugin]]  || 0x3E
|[[mtpinitiator_plugin]]  || 0x3E
|-
|[[campaign_plugin]]  || 0x3F
|-
|[[remotedownload_plugin]]  || 0x40
|}
|}
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>

Revision as of 11:15, 3 July 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 - (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
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

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