VSH
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 |
---|---|---|
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 |
sdk | 0x5FAFE92B | cellCryptoPuSha1Hash |
sdk | 0xB45387CD | AesCbcCfb128Decrypt |
paf | - | - |
vshcommon | - | - |
vshnet | - | - |
vshmain | - | - |
vshtask | - | - |
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):
GCMBUFINFO 0 offset: 0xdc80000 pitch: 0x2000 width: 0x780 height: 0x438 GCMBUFINFO 1 offset: 0xe500000 pitch: 0x2000 width: 0x780 height: 0x438