Program Vender Id

From PS3 Developer wiki
Revision as of 16:23, 25 December 2019 by CelesteBlue (talk | contribs) (CelesteBlue moved page PS3 Developer wiki:Program Vender Id to Program Vender Id)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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