Program Vender Id: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) m (CelesteBlue moved page PS3 Developer wiki:Program Vender Id to Program Vender Id) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
Temp name was Vendor ID. Official name is program_vender_id. | |||
== 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 [[ | 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 [[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" | ||
|- | |- | ||
! | ! program_vender_id !! Count !! File type | ||
|- | |- | ||
| 0x33000077 || ? || ldr/lv0/lv1 on | | 0x00000000 || ? || lv0 / lv1 only before SDK 060 | ||
|- | |||
| 0x33000077 || ? || *ldr / lv0 / lv1 only on SDK 060 | |||
|- | |- | ||
| 0xFF000000 || 16 || lv1.self's | | 0xFF000000 || 16 || lv1.self's | ||
Line 22: | 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_vender_id { | |||
uint16_t territory; | |||
uint16_t guest_os_id; | |||
} program_vender_id; | |||
</source> | |||
Note: first byte is territory value, last byte is guest_os_id. ?because of endianness that struct would be wrong then? | |||
=== Territory === | |||
To document. | |||
=== Guest OS ID === | |||
{| class="wikitable sortable" | |||
|- | |||
! Guest OS ID !! Description | |||
|- | |||
| 0x0000 || None | |||
|- | |||
| 0x0001 || PME | |||
|- | |||
| 0x0002 || LV2 | |||
|- | |||
| 0x0003 || PS2Emu | |||
|- | |- | ||
| 0x0004 || Linux | |||
|} | |} | ||
{{Development}}<noinclude>[[Category:Main]]</noinclude> | {{Development}}<noinclude>[[Category:Main]]</noinclude> |
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 |