Program Vender Id: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
(No difference)

Latest revision as of 16:23, 25 December 2019

Temp name was Vendor ID. Official name is program_vender_id.

PS3[edit | edit source]

In geohot's makeself it was used as: set_u32(&(output_self_info_header.i_magic), 0x01000002);.

Not directly related to Authority ID, but for PS3, it seems to have many similarities with it (program_vender_id = 2nd-9th bytes of program_authority_id). It seems also related to SM ; LPAR's and their order suggests hierarchy/permission from high (can do everything) to low (lesser abilities).

program_vender_id Count File type
0x00000000 ? lv0 / lv1 only before SDK 060
0x33000077 ? *ldr / lv0 / lv1 only on SDK 060
0xFF000000 16 lv1.self's
0x07000001 180 iso spu self's
0x05000002 17 lv2_kernel.self's
0x02000003 45 ps2_emu self's
0x01000002 6147 CoreOs / dev_flash files / Games

PSVita[edit | edit source]

On PSVita always 00 00 00 00.

Structure[edit | edit source]

typedef struct program_vender_id {
  uint16_t territory;
  uint16_t guest_os_id;
} program_vender_id;

Note: first byte is territory value, last byte is guest_os_id. ?because of endianness that struct would be wrong then?

Territory[edit | edit source]

To document.

Guest OS ID[edit | edit source]

Guest OS ID Description
0x0000 None
0x0001 PME
0x0002 LV2
0x0003 PS2Emu
0x0004 Linux