Program Vender Id: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 1: Line 1:
Located at SELF offset 0x78.
For some reason it was named program_vendor_id.


For some reason it was named [[SELF_File_Format_and_Decryption#App_Info|vendor_id]] there.
== PS3 ==


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


Not directly related to [[Authority ID]], but seems to have many simularities with it (vendorid=2nd-9th bytes of authid), seems also related to [[Hypervisor_Reverse_Engineering#Active_System_Managers_in_HV_dump_3.15|SM ; LPAR's]] and their order suggests hierarchy/permission from high (can do everything) to low (lesser abilities).
Not directly related to [[Authority ID]], but seems to have many similarities with it (vendorid = 2nd-9th bytes of authid). It seems also related to [[Hypervisor_Reverse_Engineering#Active_System_Managers_in_HV_dump_3.15|SM ; LPAR's]] and their order suggests hierarchy/permission from high (can do everything) to low (lesser abilities).


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 24: Line 24:
|-
|-
| 0x01000002 || 6147 || CoreOs / dev_flash files / Games
| 0x01000002 || 6147 || CoreOs / dev_flash files / Games
|-
|}
|}
== PSVita ==
On PSVita always 00 00 00 00.
== Structure ==
<source lang="C">
typedef struct program_vendor_id {
  uint16_t territory;
  uint16_t guest_os_id;
} program_vendor_id;
</source>


Note: first byte is territory value, last byte is guest_os_id.
Note: first byte is territory value, last byte is guest_os_id.
=== Territory ===
=== Guest OS ID ===


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 37: Line 53:
| 0x0001 || PME
| 0x0001 || PME
|-
|-
| 0x0002 || Lv2
| 0x0002 || LV2
|-
|-
| 0x0003 || PS2Emu
| 0x0003 || PS2Emu
|-
|-
| 0x0004 || Linux
| 0x0004 || Linux
|-
|}
|}


{{Development}}<noinclude>[[Category:Main]]</noinclude>
{{Development}}<noinclude>[[Category:Main]]</noinclude>

Revision as of 20:15, 23 December 2019

For some reason it was named program_vendor_id.

PS3

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

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

VendorID count filetype
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

On PSVita always 00 00 00 00.

Structure

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

Note: first byte is territory value, last byte is guest_os_id.

Territory

Guest OS ID

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