|
|
(174 intermediate revisions by 8 users not shown) |
Line 1: |
Line 1: |
| VSH is the internal name used by Sony for the VShell aka VirtualShell. It then loads up the XMB you know.[http://www.ps3devwiki.com/wiki/XMB XrossMediaBar (XMB)]. This, is a user space executable (vsh.self), loaded by lv2_kernel/sys_init_osd. | | VSH is the internal name used by Sony for the VShell aka VirtualShell. It then loads up the XMB you know. [[XMB|XrossMediaBar (XMB)]]. This, is a userspace executable (vsh.self), loaded by lv2_kernel/sys_init_osd. |
|
| |
|
| from here several other functions/syscalls to other modules are made, e.g. lv2 ([http://www.ps3devwiki.com/index.php?title=Talk:SELF_File_Format_and_Decryption SELF decryption]), lv1 ([http://www.ps3devwiki.com/index.php?title=Hypervisor_Reverse_Engineering#0x3000_-_Secure_RTC Secure_RTC], [http://www.ps3devwiki.com/index.php?title=Hypervisor_Reverse_Engineering#0x5000_-_Storage_Manager Storage_Manager], [http://www.ps3devwiki.com/index.php?title=Hypervisor_Reverse_Engineering#Gelic_Device Gelic_Device], [http://www.ps3devwiki.com/index.php?title=Hypervisor_Reverse_Engineering#BD_Drive BD_Drive]) etc. | | from here several other functions/syscalls to other modules are made, e.g. lv2 ([[Talk:SELF_File_Format_and_Decryption|SELF decryption]]), lv1 ([[Hypervisor_Reverse_Engineering#0x3000_-_Secure_RTC|Secure_RTC]], [[Hypervisor_Reverse_Engineering#0x5000_-_Storage_Manager|Storage_Manager]], [[Hypervisor_Reverse_Engineering#Gelic_Device|Gelic_Device]], [[Hypervisor_Reverse_Engineering#BD_Drive|BD_Drive]]) etc. |
|
| |
|
| not much is documented (yet) about this module. Please fill in where possible. | | not much is documented (yet) about this module. Please fill in where possible. |
Line 21: |
Line 21: |
|
| |
|
| === Exports === | | === Exports === |
| | |
| | [[VSH Exports]] |
| | |
| | === Imports === |
| | |
| | [[VSH Imports]] |
| | |
| | ===Memory Containers=== |
| | |
| {| class="wikitable sortable" | | {| class="wikitable sortable" |
| ! Export Library !! Export NID !! Notes !! Usage | | ! Type/Id !! Name !! Size !! Usage |
| |-
| |
| | sys_io || - || - || -
| |
| |-
| |
| | sys_fs || - || - || -
| |
| |-
| |
| | sys_fs || 0x18DD4604 || cellFsOpen2 || -
| |
| |-
| |
| | sys_fs_ps2disc || 0x8160A811|| switches /dev_ps2disc(1) mount? ||
| |
| |-
| |
| | sysConsoleId || - || - ||
| |
| |-
| |
| | sysConsoleId || 0xF220F751 || Get ConsoleID || sysConsoleId_F220F751(int8_t* buff)
| |
| |-
| |
| | sysPrxForUser || - || - ||
| |
| |-
| |
| | sysPrxForUser || 0x2E20EC1 || Returns the address of the null byte terminator of the given string. || const char* sysPrxForUser_2E20EC1(const char* s)
| |
| |-
| |
| | vsh || - || - ||
| |
| |-
| |
| | vsh || 0xF48562D || cellSsAimIsCEX ||
| |
| |-
| |
| | vsh || 0x145991B4|| cellSsAimIsArcade ||
| |
| |-
| |
| | vsh || 0x172B05CD|| update_mgr_write_eprom syscall ||
| |
| |-
| |
| | vsh || 0x1B890AD2|| update_mgr_get_token_seed syscall ||
| |
| |-
| |
| | vsh || 0x1F80E287|| cellSsAimIsTool ||
| |
| |-
| |
| | vsh || 0x2C563C92|| update_mgr_read_eprom syscall ||
| |
| |-
| |
| | vsh || 0x3231E012|| vtrm_Decrypt_Master syscall ||
| |
| |-
| |
| | vsh || 0x349F1535|| update_mgr_set_token syscall ||
| |
| |-
| |
| | vsh || 0x3B4A1AC4|| AIM GetDeviceId syscall ||
| |
| |-
| |
| | vsh || 0x3F062337|| AIM GetPsCode syscall ||
| |
| |- | | |- |
| | vsh || 0xE44F29F4|| cellFsUtilMount syscall || | | | 0 || game || dex: 426.770.432 / cex: 223.346.688 Bytes || |
| |- | | |- |
| | vsh || 0xE7C34044|| retrieves vsh memory container by "id" 0=game,1=app,2=debug,3=fg, 4=bg || sys_memory_container_t vsh_E7C34044(int id) | | | 1 || app || 223.346.688 Bytes || |
| | Spurs (Tiff, Png, Jpg) |
| | [[autodownload_plugin]] |
| | [[custom_render_plugin]] |
| | [[dlna_plugin]] |
| | fchk (libfs_utility2) |
| | [[game_ext_plugin]] |
| | [[impose_plugin]] |
| | libfs_utility_init |
| | vshmain_util |
| | mms |
| | libsre libadec |
| | libac3dec |
| | paf_ext |
| | qglbase |
| | vshmain_ext |
| | [[msgdialog_plugin]] |
| | msmw1 |
| | msmw2 |
| | [[podl_plugin]] |
| | [[premo_plugin]] |
| | [[software_update_plugin]] |
| | [[soundvisualizer_plugin]] |
| | [[system_plugin]] |
| | vshmain_util |
| | [[xmb_plugin]] (XMB normal) |
| | [[ycon_manual_plugin]] |
| |- | | |- |
| | vsh || 0xE932A8C0|| reboot and show minimum version <br> char can be "text whatever you like", no check etc. || int vsh_E932A8C0(char * ) | | | 2 || debug || 203.423.744 Bytes || |
| |- | | |- |
| | vsh || 0xFF4A1633|| cellFsUtilMount syscall || | | | 3 || fg (foreground)|| 3.145.728 Bytes || |
| | User Information |
| | [[auth_plugin]] |
| | [[avc2_text_plugin]] |
| | [[comboplay_plugin]] |
| | [[ps3_savedata_plugin]] |
| | [[game_plugin]] |
| | [[deviceconf_plugin]] |
| | fchk (libfs_utility2) |
| | [[friendim_plugin]] |
| | [[friendlm_plugin]] |
| | [[friendtrophy_plugin]] |
| | [[game_plugin]] |
| | [[gameupdate_plugin]] |
| | libfs_utility_init |
| | vshmain_util |
| | mms |
| | [[np_eula_plugin]] |
| | [[np_sns_plugin]] |
| | [[np_multisignin_plugin]] |
| | [[npsignin_plugin]] |
| | [[osk_plugin]] |
| | photoUtil |
| | photoUtil2 |
| | [[photo_network_sharing_plugin]] |
| | [[print_plugin]] |
| | [[profile_plugin]] |
| | [[screenshot_plugin]] |
| | upload_util |
| | [[xmb_ingame]] |
| |- | | |- |
| | vsh || 0x7D73E7CD || inflate_init || | | | 4 || bg (background)|| 3.145.728 Bytes || |
| |-
| | [[avc_plugin]] |
| | vsh || 0x4DB8DD87 || inflate_end ||
| | [[avc2_game_plugin]] |
| |-
| | [[audioplayer_plugin]] |
| | vsh || 0x20215547 || inflate_buffer ||
| | [[audioplayer_plugin_mini]] |
| |-
| | music playback/decode |
| | vsh || 0x1C68CC75 || inflate ||
| | [[rec_plugin]] |
| |-
| | imejp (service type=1) |
| | sdk || - || - ||
| | ime_atok_module |
| |-
| |
| | sdk || 0xB5877BBF || cellAvsetGetMonitorInformation ||
| |
| |-
| |
| | sdk || 0x5FAFE92B|| cellCryptoPuSha1Hash ||
| |
| |-
| |
| | sdk || 0xB45387CD|| AesCbcCfb128Decrypt ||
| |
| |-
| |
| | sdk || 0x55ACAB8A || sha1_init ||
| |
| |-
| |
| | sdk || 0x831E89EE || sha1_update ||
| |
| |-
| |
| | sdk || 0x3CABD075 || sha1_final ||
| |
| |-
| |
| | sdk || 0x4484A101 || sha1_hmac_update ||
| |
| |-
| |
| | sdk || 0x547B602C || sha1_hmac_init ||
| |
| |-
| |
| | sdk || 0x300B99F2 || sha1_hmac_final ||
| |
| |-
| |
| | sdk || 0x74A2A1FE || sha1_hmac_buffer ||
| |
| |-
| |
| | sdk || 0x68B630D5 || aes_omac_mode1 ||
| |
| |-
| |
| | sdk || 0x4C751D97 || unmap_port_from_pad || int (int port_no, int pad_no), e.g. (0, 0) unmap first pad
| |
| |- | |
| | sdk || 0xCF03F47A || map_port_to_pad || int (int port_no, int pad_no), e.g. (2, 0) map first pad to port 3 | |
| |-
| |
| | sdk || 0xA33FC21C || unmap_port_from_keybord || int (int port_no, int kb_no)
| |
| |-
| |
| | sdk || 0x650A537E || map_port_to_keybord || int (int port_no, int kb_no)
| |
| |-
| |
| | sdk || 0x2D3B4E2B || unmap_port_from_mouse || int (int port_no, int mouse_no)
| |
| |-
| |
| | sdk || 0x5C06471E || map_port_to_mouse || int (int port_no, int mouse_no)
| |
| |-
| |
| | paf || - || - ||
| |
| |-
| |
| | paf || 0xBB04609B || GetSparkInfo ||
| |
| |-
| |
| | paf || 0x65BE85B3 || _UnloadView || _paf_65BE85B3(char * plugin_name,0,0)
| |
| |-
| |
| | paf || 0x350B4536 || Job_Start ||
| |
| |-
| |
| | paf || 0xFE0C1F10 || Job_Queue ||
| |
| |-
| |
| | paf || 0xA1DC401 || sets Interface from plugin || uint32_t SetInterface(unknown, uint32_t identifier, void * ptr_structure)
| |
| |-
| |
| | paf || 0x23AFB290 || gets Interface from plugin, should allow calling its exports/funcs || uint32_t plugin->GetInterface(uint32_t return from paf_F21655F3, uint32_t identifier)
| |
| |-
| |
| | paf || 0x3A8454FC || finds/gets Texture resource || Example: out: uint32_t* texture, return from paf_F21655F3, "tex_notification_info"
| |
| |-
| |
| | paf || 0x50CDB465 || finds/gets Sound resource || uint32_t paf_50CDB465(uint32_t plugin /*paf_F21655F3*/, const char* sound)
| |
| |-
| |
| | paf || 0x3CEC3833 || sets up a plugin widget ? (page_...) ||
| |
| |-
| |
| | paf || 0x794CEACB || finds widget in a plugin || Example: plugin->FindWidget(return from paf_F21655F3, "page_autooff_guide")
| |
| |-
| |
| | paf || 0x89B67B9C || gets localized string text from plugin resource (Different strings are returned depending on the system language) || Example: (w)char (paf_F21655F3("system_plugin"), "msg_signed_out")
| |
| |-
| |
| | paf || 0xF21655F3 || finds a loaded plugin || uint32_t paf::View::Find(const char* plugin) Example: uint32_t paf::View::Find("system_plugin")
| |
| |-
| |
| | paf || 0xCF068D31 || load (optional on memcontainer) and start sprx || void paf_CF068D31(int32_t* prx_struct, const char* path, int /*ignored*/, int /*0*/, (optional) const sys_memory_container_t *mem_container)
| |
| |-
| |
| | paf || 0x2F5CEE6D || stop and unload sprx || void paf_2F5CEE6D(int32_t* prx_struct)
| |
| |-
| |
| | paf || 0x546B3D02 || returns "PhWidget" || const char* paf_546B3D02()
| |
| |-
| |
| | paf || 0x41BBFE5E || returns "PhScene" || const char* paf_41BBFE5E()
| |
| |-
| |
| | paf || 0x10DEDCC7 || returns "PhPlane" || const char* paf_10DEDCC7()
| |
| |-
| |
| | paf || 0xE36C18F5 || returns "PhPlaneDiv" || const char* paf_E36C18F5()
| |
| |-
| |
| | paf || 0x24A5BD6B || returns "PhButton" || const char* paf_24A5BD6B()
| |
| |-
| |
| | paf || 0xB7DFCE90 || returns "PhText" || const char* paf_B7DFCE90()
| |
| |-
| |
| | paf || 0x9207F4 || returns "PhScroll" || const char* paf_9207F4()
| |
| |-
| |
| | paf || 0xBA6D149A || returns "PhLabelPrim" || const char* paf_BA6D149A()
| |
| |-
| |
| | paf || 0xC88CA4B2 || returns "PhLevelMeter" || const char* paf_C88CA4B2()
| |
| |-
| |
| | paf || 0xE801C345 || returns "PhProgress" || const char* paf_E801C345()
| |
| |-
| |
| | paf || 0xBF66BF2D || returns "PhCheckBox" || const char* paf_BF66BF2D()
| |
| |-
| |
| | paf || 0x703117AD || returns "PhXmBar" || const char* paf_703117AD()
| |
| |-
| |
| | paf || 0x4FF7B8A9 || returns "PhXmList" || const char* paf_4FF7B8A9()
| |
| |-
| |
| | paf || 0xC84FD77B || returns "PhXmItem" || const char* paf_C84FD77B()
| |
| |-
| |
| | paf || 0x4C36ABBB || returns "PhItemSpin" || const char* paf_4C36ABBB()
| |
| |-
| |
| | paf || 0xCA9160F6 || returns "PhNumSpin" || const char* paf_CA9160F6()
| |
| |-
| |
| | paf || 0x59A11C82 || returns "PhNumSpin" || const char* paf_59A11C82()
| |
| |-
| |
| | paf || 0xD64EDE7C || returns "PhList" || const char* paf_D64EDE7C()
| |
| |-
| |
| | paf || 0xF7630798 || returns "PhInfoList" || const char* paf_F7630798()
| |
| |-
| |
| | paf || 0xA98865F8 || returns "PhMenuList" || const char* paf_A98865F8()
| |
| |-
| |
| | paf || 0x90F4F801 || returns "PhCheckBoxList" || const char* paf_90F4F801()
| |
| |-
| |
| | paf || 0xDDD4ACF6 || returns "PhLabelText" || const char* paf_DDD4ACF6()
| |
| |-
| |
| | paf || 0x545D47A2 || returns "PhClock" || const char* paf_545D47A2()
| |
| |-
| |
| | paf || 0x3806365F || returns "PhIPAddr" || const char* paf_3806365F()
| |
| |-
| |
| | paf || 0xB93AFE7E || Play Resource Sound (located in .rco) || void paf_B93AFE7E(uint32_t plugin, const char* sound, float, int)
| |
| Example: paf_B93AFE7E( paf_F21655F3("system_plugin"), "snd_trophy", 1, 0)
| |
| |-
| |
| | paf || 0x11E195B3 || Finds Resource Object (located in .rco) || void* paf_11E195B3(uint32_t plugin, const char* object)
| |
| Example: paf_B93AFE7E( paf_F21655F3("system_plugin"), "page_notification")
| |
| |-
| |
| | paf || 0xAF58E756 || Gets the base of loaded plugins. The pointer returned is used in paf::View::Find to find plugins. || void* paf_AF58E756()
| |
| |-
| |
| | vshcommon || - || - ||
| |
| |-
| |
| | vshcommon || 0x7F5C551B || [[System_plugin#1_Interface]] func 11 || vshcommon_7F5C551B(int * texture_dialog, int* texture_dialog_shadow, wchar * infotext1, wchar * infotext2, int)
| |
| |-
| |
| | vshcommon || 0x94F43BE7 || [[System_plugin#1_Interface]] func 12 || vshcommon_94F43BE7(uint8 )
| |
| |-
| |
| | vshcommon || 0xF9E43DA2 || returns localized string of "msg_ok" ||
| |
| |-
| |
| | vshcommon || 0xCCD2C319 || returns localized string of "msg_cancel" ||
| |
| |-
| |
| | vshcommon || 0x746C5F88 || returns localized string of "msg_option" ||
| |
| |-
| |
| | vshcommon || 0xF995E53F || returns localized string of "msg_back" ||
| |
| |-
| |
| | vshcommon || 0x26F18EDF || returns localized string of "msg_enter" ||
| |
| |-
| |
| | vshcommon || 0xE9E8DA5 || returns localized string of "msg_no" ||
| |
| |-
| |
| | vshcommon || 0xB8E256D7 || returns localized string of "msg_yes" ||
| |
| |-
| |
| | vshcommon || 0x79A562D5 || [[System_plugin#1_Interface]] func 25 circle_cross ||
| |
| |-
| |
| | vshcommon || 0x75DC9C2D || [[System_plugin#1_Interface]] func 26 cross_circle ||
| |
| |-
| |
| | vshcommon || 0x60DEE5B3 || [[System_plugin#1_Interface]] func 27 triangle ||
| |
| |-
| |
| | vshcommon || 0xF7A67D49 || [[System_plugin#1_Interface]] func 28 rectangle ||
| |
| |-
| |
| | vshcommon || 0x2438F1A4 || [[System_plugin#1_Interface]] func 21 - anim_cross_circle_show_hide ||
| |
| |-
| |
| | vshcommon || 0x9BD8429E || [[System_plugin#1_Interface]] func 22 - anim_cross_circle_show_hide ||
| |
| |-
| |
| | vshcommon || 0xE011E7D0 || [[System_plugin#1_Interface]] func 23 - anim_triangle_show_hide ||
| |
| |-
| |
| | vshcommon || 0x73F85259 || [[System_plugin#1_Interface]] func 24 - anim_rectangle_show_hide || vshcommon_73F85259(uint8 )
| |
| |-
| |
| | vshcommon || 0x16106ACD || returns "impose_plugin" interface 1 || uint vshcommon_16106ACD()
| |
| |-
| |
| | vshcommon || 0x8B2110D5 || reads boot_history.dat ||
| |
| |-
| |
| | vshcommon || 0x9A43140 || adds info to /pushlist/patch.dat ||
| |
| |-
| |
| | vshcommon || 0x9EA67737 || vsh::ws_boot_history::Set() { uint8 type, char TitleId [0x1F] } <br> titleid to boot_history.dat (creates if not present) ||
| |
| |-
| |
| | vshcommon || 0xCC2C67F2 || reads /pushlist/patch.dat || vshcommon_CC2C67F2(int* count,uint8_t buf[0x680])
| |
| |-
| |
| | vshcommon || 0xA20E43DB || Displays a notification in XMB with texture || void(*vshcommon_A20E43DB)(int32_t, const char* eventName, int32_t, int32_t* texture, int32_t*, const char*, const char*, float, const wchar_t* text, int32_t, int32_t, int32_t);
| |
| int dummy = 0; vshcommon_A20E43DB(0, const char* eventName, int32_t, int32_t* texture /*paf_3A8454FC*/, &dummy, "", "", 0f, L"notification", 0, 0, 0)
| |
| |-
| |
| | x3 || - || - ||
| |
| |-
| |
| | x3 || 0x16FA740A || xCore_GetInterface() || uint32_t* interface xCore_GetInterface()
| |
| |-
| |
| | x3 || 0x11409ED3|| xRegistryGetDefaultInstance|| int xRegistryGetDefaultInstance (1, &handle)
| |
| |-
| |
| | x3 || 0x9C246A91 || xBDVDGetInstance ||
| |
| |-
| |
| | x3 || 0xCB1D791D|| Obtains SS Key||
| |
| |-
| |
| | x3 || 0xECACA8AD|| xRegistry SetValue|| Example: int SetValue(handle, "/setting/categoryVersion", 0,0,0)
| |
| |-
| |
| | mms_db || 0x8EC9A2A7 || xCB_Interface::GetInterface ||
| |
| |-
| |
| | vshnet || - || - ||
| |
| |-
| |
| | vshnet || 0x89801F5D || sceNpC7yTusDestroyTransaction ||
| |
| |-
| |
| | vshnet || 0xE806058 || sceNpC7yTusCreateTransaction ||
| |
| |-
| |
| | vshnet || 0xE2201D8B || sceNpC7yTusEnd||
| |
| |-
| |
| | vshnet || 0xF9884100 || sceNpC7yTusInit ||
| |
| |-
| |
| | vshnet || 0x122AF93C || sceNPC7yLookupTssImageResult ||
| |
| |-
| |
| | vshnet || 0x9012A265 || sceNpC7yLookupTssImageRequest? ||
| |
| |-
| |
| | vshnet || 0xEEF8AC4B || sceNpC7yLookupAvatarImageResult? ||
| |
| |-
| |
| | vshnet || 0x11823D97 || sceNpC7yLookupAvatarImageRequest? ||
| |
| |-
| |
| | vshnet || 0xF4F94F46 || sceNpC7yLookupUserProfileResult? ||
| |
| |-
| |
| | vshnet || 0x3F680668 || sceNpC7yLookupUserProfileRequest? ||
| |
| |-
| |
| | vshnet || 0x9EA2D869 || sceNpC7yLookupNpIdResult? ||
| |
| |-
| |
| | vshnet || 0xF7A88701 || sceNpC7yLookupNpIdRequest? ||
| |
| |-
| |
| | vshnet || 0xEC969F67 || sceNpC7yLookupDestroyTransaction? ||
| |
| |-
| |
| | vshnet || 0x8BD9F160 || sceNpCc7yLookupCreateTransaction? ||
| |
| |-
| |
| | vshnet || 0xB45F6C17 || sceNpC7yLookupAbort? || int sceNpC7yLookupAbort( transid)
| |
| |-
| |
| | vshnet || 0x66EA9546 || sceNpC7yLookupInit? ||
| |
| |-
| |
| | vshnet || 0xF02E64BF || sceNpC7yLookupEnd? ||
| |
| |-
| |
| | vshnet || 0xD79D5840 || sceNpC7yScoreGetGameDataResult? ||
| |
| |-
| |
| | vshnet || 0xF5FBFB50 || sceNpC7yScoreGetGameDataRequest? ||
| |
| |-
| |
| | vshnet || 0xF67C877 || sceNpC7yScoreRecordGameDataRequest? ||
| |
| |-
| |
| | vshnet || 0x250E633D || sceNpC7yScoreRecordScoreResult? || int sceNpC7yScoreRecordScoreResult( int transid, int * RankNumber )
| |
| |-
| |
| | vshnet || 0x42332FFA || sceNpC7yScoreGetBoardInfoResult? || int sceNpC7yScoreGetBoardInfoResult (int transid, uint8_t ScoreBoardInfo [ ])
| |
| |-
| |
| | vshnet || 0xFC015E62 || sceNpC7yScoreGetBoardInfoRequest? || int sceNpC7yScoreGetBoardInfoRequest( int transid, uint8_t SelfNpId [ ], uint8_t TitleId [0xC], int ScoreBoardId )
| |
| |-
| |
| | vshnet || 0xCC014646 || sceNpC7yScoreDestroyTransaction? || int sceNpC7yScoreDestroyTransaction (int transid )
| |
| |-
| |
| | vshnet || 0x372E972A || sceNpC7yScoreFreeTransactionResource? || int sceNpC7yScoreFreeTransactionResource ( int transid )
| |
| |-
| |
| | vshnet || 0xDF1FF79F || sceNpC7yScoreCreateTransaction? || int sceNpC7yScoreCreateTransaction(uint8_t psHandle[0x14], uint8_t ScorePassphrase [0x80] )
| |
| |-
| |
| | vshnet || 0x3F59F7B6 || sceNpC7yScoreAbort? || int sceNpC7yScoreAbort ( int transid)
| |
| |-
| |
| | vshnet || 0x71DF362C || sceNpC7yScoreEnd? || int sceNpC7yScoreEnd()
| |
| |-
| |
| | vshnet || 0x56779FBD || sceNpC7yScoreInit? / SceNpRankingVshInit? || int sceNpC7yScoreInit(void * callback, uint8_t np_debug_flag)
| |
| |-
| |
| | vshnet || 0xCF725EB1 || sceNpInstallerRegetSigninTicket || int sceNpInstallerRegetSigninTicket (0)
| |
| |-
| |
| | vshnet || 0x7084A801 || sceNpCommerceSetDataFlagFinish || int sceNpCommerceSetDataFlagFinish ( int req_id )
| |
| |-
| |
| | vshnet || 0x572A4D1D || sceNpSommerceSetDataFlagStart || int sceNpSommerceSetDataFlagStart ( ctx_id, licensee_id, dataflagContainer, dataflag_num, * req_id )
| |
| |-
| |
| | vshnet || 0xFF500259 || sceNpCommerceGetDataFlagFinish || int sceNpCommerceGetDataFlagFinish ( int req_id )
| |
| |-
| |
| | vshnet || 0x15910AE7 || sceNpCommerceGetDataFlagState || int sceNpCommerceGetDataFlagState ( int req_id, dataflagContainer, dataflag_num )
| |
| |-
| |
| | vshnet || 0x13D56523 || sceNpCommerceGetDataFlagAbort || int sceNpCommerceGetDataFlagAbort ( int req_id )
| |
| |-
| |
| | vshnet || 0x854FE623 || sceNpCommerceGetDataFlagStart ||int sceNpCommerceGetDataFlagStart ( ctx_id, licensee_id, dataflag [0x10] , dataflag_num, * req_id )
| |
| |-
| |
| | vshnet || 0xE2A0CB65 || sceNpCommerceGetProductCategoryResult || int sceNpCommerceGetProductCategoryResult ( int req_id, uint8_t result_buf_size [0x10] )
| |
| |-
| |
| | vshnet || 0xE84BBCAF || sceNpCommerceGetProductCategoryFinish || int sceNpCommerceGetProductCategoryFinish ( int req_id )
| |
| |-
| |
| | vshnet || 0xD297EF28 || sceNpCommerceGetProductCategoryAbort || int sceNpCommerceGetProductCategoryAbort ( int req_id )
| |
| |-
| |
| | vshnet || 0x3E20181D || sceNpCommerceGetProductCategoryStart || int sceNpCommerceGetProductCategoryStart ( int ctx_id, int category_id, int lang_code, int * req_id )
| |
| |-
| |
| | vshnet || 0x2A4C99A6 || sceNpCommerceDestroyCtx || int sceNpCommerceDestroyCtx (ctx_id)
| |
| |-
| |
| | vshnet || 0x98340E57 || sceNpCommerceCreateCtx || int sceNpCommerceCreateCtx ( int version, uint8_t npId[0x24], void * callback, int * arg,int * ctx_id, int (1) )
| |
| |-
| |
| | vshnet || 0x594266BE || sceNpBasicGetInitialPresence ||
| |
| |-
| |
| | vshnet || 0xEF85527 || sceNpSignalingAddExtendedHandler || int sceNpSignalingAddExtendedHandler (ctx_id, 1)
| |
| |-
| |
| | vshnet || 0xFC663F7F || sceNpSignalingGetPeerNetInfoResult || int sceNpSignalingGetPeerNetInfoResult ( ctx_id, req_id, uint8_t netinfo[0x1C], 1)
| |
| |-
| |
| | vshnet || 0x2B2E098F || sceNpSignalingGetLocalNetInfo || int sceNpSignalingGetLocalNetInfo ( ctx_id, uint8_t netinfo[0x1C], 1)
| |
| |-
| |
| | vshnet || 0xE5CBDF3D || sceNpSignalingGetConnectionInfo || int sceNpSignalingGetConnectionInfo ( ctx_id, conn_id, code, * rtt/bandwith/addr/port/packet_loss, 1 )
| |
| |-
| |
| | vshnet || 0x995D1D2F || sceNpSignalingGetConnectionStatus || int sceNpSignalingGetConnectionStatus ( ctx_id, conn_id, int * conn_status,int * peer_addr,uint16_t * peer_port, 1 )
| |
| |-
| |
| | vshnet || 0x158032C9 || sceNpSignalingDestroyCtx || int sceNpSignalingDestroyCtx ( ctx_id, 1)
| |
| |-
| |
| | vshnet || 0x8478A915 || sceNpMatchingGetRoomMemberListLocal || int sceNpMatchingGetRoomMemberList ( ctx_id, uint8_t opt[0x1C], int * size, uint8_t roomStatus[ ], int (1) )
| |
| |-
| |
| | vshnet || 0x3139980 || sceNpMatchingGetRoomMemberList || int sceNpMatchingGetRoomMemberList ( ctx_id, uint8_t opt[0x1C], req_id, int (1) )
| |
| |-
| |
| | vshnet || 0x24B26C3F || sceNpMatchingLeaveRoom || int sceNpMatchingLeaveRoom ( ctx_id, uint8_t opt[0x1C], req_id, int (1) )
| |
| |-
| |
| | vshnet || 0x14211FB9 || sceNpMatchingDestroyCtx || int sceNpMatchingDestroyCtx ( ctx_id, 1 )
| |
| |-
| |
| | vshnet || 0x4C9F0992 || sceNpManagerGetPsHandle || int sceNpManagerGetPsHandle ( int (0), uint8_t psHandle[0x14]
| |
| |-
| |
| | vshnet || 0x4E276F38 || sceNpManagerGetSubjectRegion || int sceNpManagerGetSubjectRegion ( int (0), uint8_t subjectRegion[4]
| |
| |-
| |
| | vshnet || 0x58AB86D8 || sceNpManagerGetSubjectStatus || int sceNpManagerGetSubjectStatus ( int (0), uint8_t subjectStatus[4]
| |
| |-
| |
| | vshnet || 0x7A9421D8 || sceNpManagerGetStatusDuration || int sceNpManagerGetStatusDuration ( int (0), uint64_t * statusDuration
| |
| |-
| |
| | vshnet || 0x4216DF9F || sceNpManagerRegisterCallbackExt || int sceNpManagerRegisterCallbackExt ( void * callback, void * arg)
| |
| |-
| |
| | vshnet || 0x572FFDFB || sceNpManagerGetSubHandle || int sceNpManagerGetSubHandle (int (0), uint8_t subHandle[0x34])
| |
| |-
| |
| | vshnet || 0x2C393B42 || sceNpManagerUnregisterCallbackExt || int sceNpManagerUnregisterCallbackExt ()
| |
| |-
| |
| | vshnet || 0x4DD12D0C || sceNpManagerGetUserIconURL || int sceNpManagerGetUserIconURL ( int (0), uint8_t icon[0x80] )
| |
| |-
| |
| | vshnet || 0x99666F31 || sceNpManagerGetEnvnamae || int sceNpManagerGetEnvnamae ( uint8_t envname[0x0F] )
| |
| |-
| |
| | vshnet || 0x319E53BD || sceNpManagerLoadCachedInfo || int sceNpManagerLoadCachedInfo ( int userId, uint8_t cachedInfo[0xF8] )
| |
| |-
| |
| | vshnet || 0x9EF14F7C || sceNpManagerIsPlus || int attr_is_plus sceNpManagerIsPlus ( int (0) )
| |
| |-
| |
| | vshnet || 0xC3417866 || sceNpManagerGetTicketParam ||
| |
| |-
| |
| | vshnet || 0x788759C6 || sceNpManagerGetSigninTicket || sceNpManagerGetSigninTicket ( int (0), uint8_t signinTicketData[], int * signinTicketSize
| |
| |-
| |
| | vshnet || 0x1FA25660 || sceNpManagerSubSignout || int sceNpManagerSubSignout (int (0), uint8_t npId [0x24]
| |
| |-
| |
| | vshnet || 0xB79B2FE0 || sceNpManagerGetNetworkTime || int sceNpManagerGetNetworkTime (int (0), uint8_t casualClock[8])
| |
| |-
| |
| | vshnet || 0xFACC5962 || sceNpManagerGetMyLanguages || int sceNpManagerGetMyLanguages (int (0), uint8_t myLang[0x10]
| |
| |-
| |
| | vshnet || 0xFC7303C5 || sceNpManagerGetNpId || int sceNpManagerGetNpId ( int (0), uint8_t npId[0x24]
| |
| |-
| |
| | vshnet || 0x1D555F5F || sceNpUpdateClockStart||
| |
| |-
| |
| | vshnet || 0x50EE5602 || gets updatelist txt and compares version ||
| |
| |-
| |
| | vshnet || 0x731E546F || prints Firmware version ("%02d.%02d) || int vshnet_731E546F(out: const char*)
| |
| |-
| |
| | vshnet || 0xEBEA23A1 || sceNetHttpXmlConsoleInfoBitOpe || int sceNetHttpXmlConsoleInfoBitOpe(0x190, xml?,1,1)
| |
| |-
| |
| | vshnet || 0xA5E88D4E || checks if hdd has been replaced ||
| |
| |-
| |
| | vshmain || - || - ||
| |
| |-
| |
| | vshmain || 0x624D3AE || returns game process id ||
| |
| |-
| |
| | vshmain || 0xF32CEC81 || loadRegistryNetautoDlFlag || int loadRegistryNetautoDlFlag ( void )
| |
| |-
| |
| | vshmain || 0xB84B751A || saveRegistryNetautoDlFlag || saveRegistryNetautoDlFlag ( uint8 )
| |
| |-
| |
| | vshmain || 0xAE35CF2D || Executes Action based on Input [[Xmb_plugin#Function_23|(More Info: XMB Plugin XMM0 Interface 23)]]
| |
| Example:
| |
| "http://www.psdevwiki.com",0
| |
| "copy:device",1
| |
| "regcam:reg?",1
| |
| || int vshmain_AE35CF2D(char *, int value) | |
| |-
| |
| | vshmain || 0xD609A2F6 || shows up XMB Login? ||
| |
| |-
| |
| | vshmain || 0x85CB2261 || sys_event_port_send using static sys_event_port_t || int vshmain_85CB2261(uint64_t data1, uint64_t data2, uint64_t data3)
| |
| |-
| |
| | vshmain || 0x71EC82E || sys_event_port_send using static sys_event_port_t || int vshmain_71EC82E(uint64_t data1, uint64_t data2, uint64_t data3)
| |
| |-
| |
| | vshmain || 0xF3F75BE || sysutil::BeginService ||
| |
| |-
| |
| | vshmain || 0x505FA917 || cxmlutil::GetFile || int GetFile( const cxml::Element & elm, const char * attrname, cxml::File * file )
| |
| |-
| |
| | vshmain || 0x7606AF6F || VersionFile::Get ||
| |
| |-
| |
| | vshmain || 0x981D7E9F || Gets ScreenShot Flag || int vshmain_981D7E9F()
| |
| |-
| |
| | vshmain || 0x6D5FC398 || Show Ingame XMB || int vshmain_6D5FC398(0 (int dev_type?), 0 (int port_num?), 0 (int intr_type?))
| |
| |-
| |
| | vshmain || 0x5C3E01A1 || End Ingame XMB || void vshmain_5C3E01A1(void)
| |
| |-
| |
| | vshmain || 0xBC00D5EF || cellSysutilSharedMemoryFree || int vshmain_BC00D5EF(0 /*ignored*/, sys_addr_t start_addr, uint64_t mode /* 0x200 (unmap) or 0x400 (unmap and free) */)
| |
| |-
| |
| | vshmain || 0x51E7CC21 || cellSysutilSharedMemoryAlloc ||
| |
| |-
| |
| | vshmain || 0x23DC28E8 || cellSysutilEventPortSend || int vshmain_23DC28E8(uint64_t data1, uint64_t data2, uint64_t data3, bool)
| |
| |-
| |
| | vshmain || 0xCFAD36DE || Clears a [[CXML Containers|cxml]] document for VSH Service/Process Communication [[http://www.psdevwiki.com/ps3/File:Vshmain_CFAD36DE.png]].|| cxml::Document::Clear()
| |
| |-
| |
| | vshmain || 0x2CD62587 || Sets the header magic of a [[CXML Containers|cxml]] Document ||int cxml::Document::SetHeaderMagic( const char buf[4] )
| |
| Example: cxml::Document doc; doc.SetHeaderMagic("NPTR");
| |
| |-
| |
| | vshmain || 0x7907768A || Gets the header magic of a [[CXML Containers|cxml]] Document || void cxml::Document::GetHeaderMagic( char buf[4] )
| |
| Example: char buf[4]; cxml::Document doc; doc.GetHeaderMagic(buf);
| |
| |-
| |
| | vshmain || 0x6BA1D72F || Creates an element on a [[CXML Containers|cxml]] document. || int cxml::Document::CreateElement(const char* name, int attr_num, Element * element)
| |
| Example: cxml::Document doc; doc.CreateElement( "basicPresenceOffline", 0, element );
| |
| |-
| |
| | vshmain || 0xE77FAFB5 || cxmlutil::SetInt || int cxmlutil::SetInt( const cxml::Element & elm, const char * attrname, int i )
| |
| |-
| |
| | vshmain || 0x1C5F3492 || Gets the attribute of a [[CXML Containers|cxml]] element || int cxml::Element::GetAttribute( const char * name, Attribute * attr )
| |
| |-
| |
| | vshmain || 0x58B963E5 || cxml::Element::AppendChild ? || int cxml::Element::AppendChild( Element & child )
| |
| |-
| |
| | vshmain || 0xB172E9CB || cxml::Document::WriteToBuffer || int cxml::Document::WriteToBuffer( void * buf, unsigned int bufsize )
| |
| |-
| |
| | vshmain || 0xB172E9CB || Gets the size of a [[CXML Containers|cxml]] document || int cxml::Document::GetSize()
| |
| |-
| |
| | vshmain || 0xA2720DF2 || (write_packet) ||
| |
| |-
| |
| | vshtask || - || - ||
| |
| |-
| |
| | vshtask || 0x668E3C94 || some RTC Alarm Register || int vshtask_668E3C94(char * app_id?, uint8_t [0x4C])
| |
| |-
| |
| | vshtask || 0x166551C5 || RTC Alarm Unregister || int vshtask_166551C5(char * app_id)
| |
| |-
| |
| | vshtask || 0xA02D46E7 || Displays a notification in XMB || int vshtask_A02D46E7(0 /*ignored*, "your text" ) -> calls vshcommon_A20E43DB with texture "tex_notification_info"
| |
| |-
| |
| | cellHttp || - || - ||
| |
| |-
| |
| | cellHttp || 0x8FC281F7 || cellHttpCookieFlush||
| |
| |-
| |
| | cellHttp || 0xDCDF003A || cellHttpAuthCacheFlush ||
| |
| |- | | |- |
| |} | | |} |
|
| |
|
| To help documenting offsets+exports, you can use [http://www.ps3devwiki.com/index.php?title=Dev_Tools#vsh_dumper this dumper tool for vsh] (actually,no need to dump anymore).
| | ===Loaded Views=== |
| | These Views and prx files are loaded by default and are accessable without further loading, all others need to be loaded. |
| | |
| | ====Regular XMB==== |
|
| |
|
| ===Memory Containers=== | | [[system_plugin]] |
| | [[xmb_plugin]] |
| | [[explore_plugin]] |
| | [[category_setting_plugin]] |
| | [[impose_plugin]] |
| | |
| | ====InGame XMB==== |
| | |
| | [[system_plugin]] |
| | [[xmb_plugin]] |
| | [[explore_plugin]] |
| | [[game_plugin]] |
| | [[impose_plugin]] |
| | |
| | ====InGame==== |
|
| |
|
| id name | | [[game_plugin]] |
| 0 game | | [[impose_plugin]] |
| 1 app
| |
| 2 debug
| |
| 3 fg (foreground, in-game-XMB menu, in-game-osk)
| |
| 4 bg (background - music playback/decode, recording, imejp (service type=1), avc2)
| |
|
| |
|
| ===VSH Service Communication (CXML Header Magic)=== | | ===VSH Service Communication (CXML Header Magic)=== |
|
| |
|
| PARA - System Parameters Utility | | APNT - [[ap_plugin|Access Point Utility]] |
| MSGD - Message Dialog Utility | | ATHD - [[auth_plugin|(Password) Authentication Dialog]] |
| NTCL - netcl Utility | | AVC2 - [[avc2_game_plugin|Audio-Voice/Video Chat Utility 2]] |
| SAVE - Save Data Utility (surf autosave) | | AVCH - [[avc_plugin|Audio-Voice/Video Chat Utility]] |
| USRI - User Information Utility | | BGDL - Background Download Service |
| GAME - Game Utility | | CHAT - [[avc2_game_plugin|System Chat]] |
| GDAT - Game Data Utility | | CMND - |
| GDTL - | | COMB - [[comboplay_plugin|Combo Playing(Cross Controller)]] |
| GDAM - Game Data-Mode Utility
| | DGAM - [[game_plugin|Disc Game-Mode Utility]] |
| GEXE - Game Execution Utility | | DPSN - Decrypt PSN Video Service |
| GPS1 - Game PS1 Rumble | | DTCP - DTCP IP Service |
| OSKD - On Screen Keyboard Utility | | EULA - End User License Agreement |
| NPMG - NP Manager Utility | | GAME - [[game_plugin|Game Utility]] |
| NPMT - NP Matching Utility | | GDAT - [[game_plugin|Game Data Utility]] |
| | GDTL - [[game_plugin|(uses DGAM)]] |
| | GEXE - [[game_plugin|Game Execution Utility]] |
| | GPS1 - [[game_plugin|Game PS1 Rumble]] |
| | GUPD - Game Upate Check |
| | IMEJ - Input Method Engine Japanese |
| | MSGD - [[msgdialog_plugin|Message Dialog Utility]] |
| | MUDE - Music Decode |
| | MUSC - Music Playback |
| NMT2 - NP Matching 2 Utility | | NMT2 - NP Matching 2 Utility |
| NPSN - NP Signaling Utility
| |
| NPBA - NP Basic Utility | | NPBA - NP Basic Utility |
| NPTR - NP Trophy | | NPC2 - NP (Ingame) Commerce 2 Utility |
| | NPCM - NP Commerce Utility |
| | NPCU - NP Custom Menu |
| | NPDR - NP DRM Utility |
| NPFL - NP Friendlist Utility | | NPFL - NP Friendlist Utility |
| NPCU - NP Commerce Registration?
| |
| NPDR - NP DRM Utility
| |
| NPCM - NP Commerce Utility
| |
| NPC2 - NP (Ingame) Commerce 2 Utility
| |
| NPIN - NP Install (Commerce) | | NPIN - NP Install (Commerce) |
| WBRW - [[webbrowser_plugin|WebBrowser Utility]] | | NPLU - NP LookUp |
| SYSC - [[deviceconf_plugin|System (Device/Pad) Configuration]] | | NPMG - NP Manager Utility |
| | NPMT - NP Matching Utility |
| NPRA - NP Score/Ranking Utility | | NPRA - NP Score/Ranking Utility |
| NPLU - NP LookUp | | NPSN - NP Signaling Utility |
| | NPTR - NP Trophy |
| NPUS - NP User Storage | | NPUS - NP User Storage |
| STDT - Data Copy Utility | | NSNS - NP Social Networking Services (Facebook Api) |
| | NTCL - netcl Utility |
| | OSKD - [[osk|On Screen Keyboard Utility]] |
| | PARA - System Parameters Utility |
| | PESM - PKI End to end Secure Module |
| | PHDE - Photo Decode |
| | PHE2 - Photo Export (Utility 2) |
| PHEX - Photo Export | | PHEX - Photo Export |
| PHE2 - Photo Export (Utility 2)
| |
| PHIM - Photo Import | | PHIM - Photo Import |
| PHDE - Photo Decode
| |
| BGDL - Background Download Service
| |
| IMEJ - Input Method Engine Japanese
| |
| MUSC - Music Playback
| |
| MUDE - Music Decode
| |
| VDPL - Video Player
| |
| DTCP - DTCP IP Service
| |
| DPSN - Decrypt PSN Video Service
| |
| SRCH - Search
| |
| PNSU - Photo Network Sharing | | PNSU - Photo Network Sharing |
| PRIN - Printer Utility | | PRIN - Printer Utility |
| AVCH - Audio/Video-Chat | | RECO - [[rec_plugin|Recording Utility]] |
| AVC2 - AVC2 Utility
| | RMTP - [[premo_game_plugin|Remote Play]] |
| RMTP - Remote Playback | | RTCA - [[rtcalarm|RTC Alarm]] |
| SUBD - SubDisplay Utility | | SAVE - Save Data Utility (surf autosave) |
| RECO - Recording Utility | | SRCH - [[cell_search_service|Search]] |
| APNT - (AP Plugin)
| |
| VDUP - Video Upload | |
| GUPD - Game Upate Check
| |
| RTCA - RTC Alarm
| |
| SSHT - ScreenShot | | SSHT - ScreenShot |
| ATHD - Vsh Authentication Dialog | | STDT - Storage Data Copy Utility |
| EULA - | | SUBD - [[premo_game_plugin|SubDisplay Utility]] |
| COMB - [[comboplay_plugin|Combo Playing(Cross Controller)]] | | SYSC - [[deviceconf_plugin|System (Device/Pad) Configuration]] |
| PESM - | | USRI - User Information Utility |
| CHAT - System Chat | | VDPL - Video Player |
| NSNS - Facebook Api | | VDUP - [[upload_util|Video Upload]] |
| | WBRW - [[webbrowser_plugin|WebBrowser Utility]] |
|
| |
|
| ===Notification Window Textures=== | | ===Notification Window Textures=== |
Line 609: |
Line 238: |
| ===Settings=== | | ===Settings=== |
|
| |
|
| VSH contains an array of structs which describe the settings. It includes index, name, default value and some other values. | | VSH contains an array of structs which describes the [[xRegistry.sys]]. (More Information about its access [[Talk:VSH]] ) |
|
| |
|
| struct Setting_s | | struct Setting_s |
Line 636: |
Line 265: |
| .long 4 # type | | .long 4 # type |
| .long 0x28 # unk2 | | .long 0x28 # unk2 |
| | |
| | ===Events=== |
| | |
| | Global Event Queue Id's: |
| | |
| | Polling Service |
| | 0x8006020000000030 |
| | 0x8006020000000010 |
| | 0x8006020000000002 |
| | 0x8006020000000000 |
| | |
| | CMND Service (Connect) |
| | 0x8006010000000100 |
| | 0x8006010000000101 |
| | 0x8006010000000102 |
| | 0x8006010000000103 |
| | |
| | SceNpTusVsh |
| | 0x0800604000000902 |
| | |
| | ===Title IDs=== |
| | |
| | Clears a Memory Container in relation of this game and a camera (disables video chat etc.?) |
| | BLUS20001 Ridge Racer 7 |
| | BCAS20001 Ridge Racer 7 |
| | BLJS10001 Ridge Racer 7 |
| | BCES00009 Ridge Racer 7 |
| | BCKS10001 Ridge Racer 7 |
| | |
| | Circumvents an AudioOut Setting that made the game freeze/black screen |
| | BLUS30264 Afro Samurai |
| | BLES00516 Afro Samurai |
| | NPUB90215 Afro Samurai (Demo) |
| | |
| | BLJM60130 Street Fighter IV |
| | BLUS30265 Street Fighter IV |
| | BLES00481 Street Fighter IV |
| | |
| | BCJB95006 Torne |
| | NPIA00005 PlayStation Home |
| | NPIA00009 |
| | NPIA00010 PlayStation Home |
| | NPIA00011 |
| | NPEA00013 PlayStation Home |
| | |
| | WebBrowser finalize executed without mutex/lock syncs |
| | NPJB00001 Tekken 5: Dark Resurrection |
| | NPUB30009 Tekken 5: Dark Resurrection |
| | |
| | NPJB00023 Crystal Defenders |
| | NPUB30092 Crystal Defenders |
| | |
| | |
|
| |
|
| {{Development}}<noinclude>[[Category:Main]]</noinclude> | | {{Development}}<noinclude>[[Category:Main]]</noinclude> |