VSH

From PS3 Developer wiki
Revision as of 09:46, 29 December 2013 by Sandungas (talk | contribs) (→‎Exports: vshtask_A02D46E7 icon ? (erase if wrong))
Jump to navigation Jump to search

VSH is the internal name used by Sony for the VShell aka VirtualShell. It then loads up the XMB you know.XrossMediaBar (XMB). This, is a user space executable (vsh.self), loaded by lv2_kernel/sys_init_osd.

from here several other functions/syscalls to other modules are made, e.g. lv2 (SELF decryption), lv1 (Secure_RTC, Storage_Manager, Gelic_Device, BD_Drive) etc.

not much is documented (yet) about this module. Please fill in where possible.

Modes

possible arguments to pass when executing vsh.self:

  • --mode=gametool
  • --mode=gametool2
  • --arcade=true

Offsets

Function 3.55 3.41 3.15 Notes
- - - - -
sub_308EE4 check_Is_Act_Dat_for_This_Acc_ID

Exports

Export Library Export NID Notes Usage
sys_io - - -
sys_fs - - -
sys_fs_ps2disc 0x8160A811 switches /dev_ps2disc(1) mount?
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
vsh 0xE932A8C0 reboot and show minimum version int vsh_E932A8C0("text whatever you like")
vsh 0xFF4A1633 cellFsUtilMount syscall
sdk 0x5FAFE92B cellCryptoPuSha1Hash
sdk 0xB45387CD AesCbcCfb128Decrypt
paf - -
vshcommon - -
x3 0x11409ED3 xRegistryGetDefaultInstance int xRegistryGetDefaultInstance (1, &handle)
x3 0xCB1D791D Obtains SS Key
x3 0xECACA8AD xRegistry SetValue Example: int SetValue(handle, "/setting/categoryVersion", 0,0,0)
vshnet - -
vshmain 0x981D7E9F Gets ScreenShot Flag int vshmain_981D7E9F()
vshtask 0xA02D46E7 Displays a notification in XMB int vshtask_A02D46E7(0 /*ignored*/, "your text" )

To help documenting offsets+exports, you can use this dumper tool for vsh (actually,no need to dump anymore).

Display Buffers

VSH uses 2 of 8 available display buffers. Information about them can be aquired by vsh plugins using this code snippet: [[1]]
In FW 4.46 DEX the buffer info looks like this (for 1920x1080):

Type This
GCMBUFINFO 0
offset: 0xdc80000
pitch: 0x2000
width: 0x780
height: 0x438

GCMBUFINFO 1
offset: 0xe500000
pitch: 0x2000
width: 0x780
height: 0x438