Xmb plugin

From PS3 Developer wiki
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 *, int - Loads corresponding plugin and executes the thread for view/interface usage
4: 1 Parameter: uint * { Plugin Enum Id, int, int, int }
5: 3 Parameter: int value (Plugin Enum Id), int , int
6: 1 Parameter: uint * { Plugin Enum Id, int , int }
7: 1 Parameter: int value (Plugin Enum ID) - _paf_99919819 
8: 1 Parameter: int value to store
9: 1 Parameter: int value to store
10: 1 Parameter: int value to store
11: 2 Parameter: int, int
12: 3 Parameter: int , 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: 2 Parameter: int value (Plugin Enum ID) - receives unknown value onto xmb plugin enum id's struct
17: 2 Parameter: int value (Plugin Enum ID), uint64 unknown - stores unknown value onto xmb plugin enum id's struct
18: 2 Parameter: int, int
19: 2 Parameter: int, 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:
23: 1 Parameter: char* action? ("regcam:reg?" / "psvp:bgdl?id=0x%08x" / "psns:browse?target=plus&boot=102") - Executes Action?
24: 2 Parameter: char* action?, int (0=http,https,psim,psns,psvp 1=psns,hknw,psim,tchat,search,wbrd,copy,explore,regcam)
25: 0 Parameter: 

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 (0 - 0x0A), int value (0 - 0x14)
2: 1 Parameter: int 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 xmb_plugin#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
13: 0 Parameter: returns ptr*
14: 0 Parameter: returns uint8
15: 2 Parameter: calls 16) with int,int, 0
16: 3 Parameter: int value (0-3),int,int explore_action (0 = ,1 = FocusMessageBox,2 = FocusFriend) - calls impose_plugin+1C
17: 0 Parameter: returns struct according to gametool/gametool2
18: 1 Parameter: int
19: 2 Parameter: int,int (0x0C memsets 2 regions)
20: 1 Parameter: uint8 [0x38]
21: 1 Parameter: uint8 [0x38]
22: 1 Parameter: wchar * - page_xmb_indicator - Shows XMB-Notifications at the bottom like "(Triangle): Options" 
23: 0 Parameter: returns ptr*
24: 0 Parameter: - _vshcommon_34A05733 ("xmb_plugin2", 0x15480)
25: 0 Parameter: returns "_pf_lwm" lwmutex*
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*
29: 0 Parameter: 
30: 2 Parameter: void *handler,int - set new handler and parameter r8
31: 1 Parameter: int value (0=decrease, else=increase) - page_xmb_bg 
32: 1 Parameter: int value (0=decrease, else=increase) - page_xmb_fg 

Function 7)

int int notes
0 0x1C0 makes XMB disappear, as if you launch a game
0x80 0x1C0 makes xmb x-axis bar transparent
0xC0 0x1C0
0x100 0x1C0 centers xmb y-axis selection bar on the xmb x-axis
0x140 0x1C0 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 0x1C0 makes xmb x-axis bar transparent
0x1C0 0x1C0 makes xmb x-axis bar transparent

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 0x18
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