VSH: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 23: Line 23:
=== Exports ===
=== Exports ===
{| class="wikitable"
{| class="wikitable"
! Export Library !! Export NID !! Notes
! Export Library !! Export NID !! Notes !! Usage
|-
|-
| sys_io || - || -  
| sys_io || - || - || -
|-
|-
| sys_fs || - || -
| sys_fs || - || - || -
|-
|-
| sys_fs_ps2disc || 0x8160A811|| switches /dev_ps2disc(1) mount?
| sys_fs_ps2disc || 0x8160A811|| switches /dev_ps2disc(1) mount? ||
|-
|-
| vsh || 0xF48562D || cellSsAimIsCEX
| vsh || 0xF48562D || cellSsAimIsCEX ||
|-
|-
| vsh || 0x145991B4|| cellSsAimIsArcade
| vsh || 0x145991B4|| cellSsAimIsArcade ||
|-
|-
| vsh || 0x172B05CD|| update_mgr_write_eprom syscall
| vsh || 0x172B05CD|| update_mgr_write_eprom syscall ||
|-
|-
| vsh || 0x1B890AD2|| update_mgr_get_token_seed syscall
| vsh || 0x1B890AD2|| update_mgr_get_token_seed syscall ||
|-
|-
| vsh || 0x1F80E287|| cellSsAimIsTool
| vsh || 0x1F80E287|| cellSsAimIsTool ||
|-
|-
| vsh || 0x2C563C92|| update_mgr_read_eprom syscall
| vsh || 0x2C563C92|| update_mgr_read_eprom syscall ||
|-
|-
| vsh || 0x3231E012|| vtrm_Decrypt_Master syscall
| vsh || 0x3231E012|| vtrm_Decrypt_Master syscall ||
|-
|-
| vsh || 0x349F1535|| update_mgr_set_token syscall
| vsh || 0x349F1535|| update_mgr_set_token syscall ||
|-
|-
| vsh || 0x3B4A1AC4|| AIM GetDeviceId syscall
| vsh || 0x3B4A1AC4|| AIM GetDeviceId syscall ||
|-
|-
| vsh || 0x3F062337|| AIM GetPsCode syscall
| vsh || 0x3F062337|| AIM GetPsCode syscall ||
|-
|-
| vsh || 0xE44F29F4|| cellFsUtilMount syscall
| vsh || 0xE44F29F4|| cellFsUtilMount syscall ||
|-
|-
| vsh || 0xE932A8C0|| reboot and show minimum version
| vsh || 0xE932A8C0|| reboot and show minimum version || int vsh_E932A8C0("text whatever you like")
|-
|-
| vsh || 0xFF4A1633|| cellFsUtilMount syscall
| vsh || 0xFF4A1633|| cellFsUtilMount syscall ||
|-
|-
| sdk || 0x5FAFE92B|| cellCryptoPuSha1Hash
| sdk || 0x5FAFE92B|| cellCryptoPuSha1Hash ||
|-
|-
| sdk || 0xB45387CD|| AesCbcCfb128Decrypt
| sdk || 0xB45387CD|| AesCbcCfb128Decrypt ||
|-
|-
| paf || - || -
| paf || - || - ||
|-
|-
| vshcommon || - || -
| vshcommon || - || - ||
|-
|-
| vshnet || - || -
| vshnet || - || - ||
|-
|-
| vshmain || 0x981D7E9F || Gets ScreenShot Flag
| vshmain || 0x981D7E9F || Gets ScreenShot Flag || int vshmain_981D7E9F()
|-
|-
| vshtask || - || -
| vshtask || 0xA02D46E7 || Displays a notification in XMB || int vshtask_A02D46E7(0 /*ignored*/, "your text" )
|-
|-
|}
|}

Revision as of 04:34, 26 December 2013

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