Talk:Platform ID: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Lv2 Platform identifier in Syscon firmware ==
== Platform ID of COOKIE prototypes ==
This is a collection of the platform ids with their internal id which can be found in the syscon firmware
Can't be proven atm, <b>only for the COOKIE prototypes leading to the CECHAxx</b>.
 
I would like to suggest to keep this list clean, avoiding adding any association with motherboards or PS3 models, to help keeping open mind, and trying to not bringing here posible "mistakes" from other wiki pages or any internet source to avoid taking things as "facts". Also, consider sony itself could have made some "mistake" or breking his own naming convention, as example labeling a prototype with a sticker telling "cytology" but returning "shreck" in the syscall that shows the platform_id. If someone wants to add some speculation crete a section at bottom of this page and post it there --[[User:Sandungas|Sandungas]] ([[User talk:Sandungas|talk]]) 16:52, 22 August 2018 (UTC)
 
<pre>
Mullion
0x10            Shr1.0
0x11            Shr1.1
0x12            Shr1.2
0x13            Shr-4D
0x14            Shr1.3
0x15            Shr-LC
0x16            Shr1.4
0x17            Shr1.5
0x20            Shr2.0
0x21            Shr2.1
0x22            Shr2.2
0x23            Shr2.3
0x24            Shr2.4
0x25            Shr2.5
0x26            Shr2.6
0x30            Shr3.0
0x31            Shr3.1
0x32            Shr3.2-4
0x33            Shr3.2
0x34            Shr3.3
0x40            Shr4.0
 
0x10000010      Cok01
0x10000020      Cok02
0x10000030      Cok03
0x10000050      Cok05
0x10000080      Cok08
0x100000B0      Cok11
0x100000C0      Cok12
0x100000D0      Cok13
0x100000E0      Cok14
0x10000100      CokB10
0x10000200      CokC10
0x10000201      CokC11
0x10000202      CokC12
0x10000300      CokD10
0x10000301      CokE10
0x10000301      Deb01        hardcoded
 
0x20000010      Cyt1.0
0x20000011      Cyt1.1
0x20000012      Cyt1.2
0x20000020      Cyt2.0
0x20000021      Cyt2.1
0x20000022      Cyt2.2
0x20000030      Cyt3.0
0x20000031      Cyt3.1
0x20000032      Cyt3.2
0x20000033      Cyt3.3
0x20000034      Cyt3.4
 
 
Sherwood
0x01            Cok11
0x02            Cok12
0x03            Cok13
0x04            Cok14
0x10            CokB10
0x20            CokC10
0x21            CokC11
0x22            CokC12
0x30            CokD10
0x40            CokE10
0x40            Deb01        hardcoded
0x50            CokF10
0x60            CokG10
0x61            CokG11
0x70            CokH10
0x71            CokH11
0x80            CokJ13
0x80            CokJ20      hardcoded
0x90            CokK10
 
0xA0            CokN10
0xA0            CokN20      hardcoded - speculation
0xA8            CokN30
0xA8            CokN40      hardcoded - speculation
0xB0            CokM10      hardcoded
0xB0            CokM20
0xB8            CokM30      hardcoded     
0xB8            CokM40
0xC0            CokP10      hardcoded
0xC0            CokP20      hardcoded - speculation
0xC8            CokP30      hardcoded - speculation
0xC8            CokP40      hardcoded - needs to be confirmed   
0xD0            CokR10      hardcoded - speculation
0xD0            CokR20      hardcoded - speculation
0xD8            CokR30      hardcoded - needs to be confirmed
0xD8            CokR40      hardcoded
</pre>


== Speculation ==
DEH-H100?-<b>B</b> -> 0xB = 11 -> {{unk|Cok11}} = {{unk|COOKIE-11}}<br>
Can't be proven atm, <b>only for the COOKIE prototypes leading to the CECHAxx</b>.
DEH-H100?-<b>C</b> -> 0xC = 12 -> {{unk|Cok12}} = {{unk|COOKIE-12}}<br>


DEH-H1001-<b>D</b> -> 0xD = 13 -> {{unk|Cok13}} = COOKIE-13<br>
DEH-H1001-<b>D</b> -> 0xD = 13 -> {{unk|Cok13}} = COOKIE-13<br>
DEH-H1000A-<b>E</b> -> 0xE = 14 -> Cok14 = COK-001 Prototype {{unk|(COOKIE-14)}}
DEH-H1000A-<b>E</b> -> 0xE = 14 -> Cok14 = COK-001 Prototype {{unk|(COOKIE-14)}}


==Theory 1==
== Other speculations ==
 
=== Theory 1 ===
* Shr = Shreck (CEB-10XX)
* Shr = Shreck (CEB-10XX)
* Cyt = Cytology (CEB-20XX, DEH-R10XX, DECR-1000X)
* Cyt = Cytology (CEB-20XX, DEH-R10XX, DECR-1000X)
* Cok = Cookie (DEH-H10XX, CBEH-10XX, DECHA, CECHA)
* Cok = Cookie (DEH-H10XX, CBEH-10XX, DECHA, CECHA)


*Cyt2.2 = DEH-R100X / DEH-R101X / DEH-R102X
*Cyt2.2 = DEH-R100X / DEH-R101X / DEH-R102X
Line 116: Line 22:
*Cok14 = DEH-H1000X / CECHA
*Cok14 = DEH-H1000X / CECHA


==Theory 2==
=== Theory 2 (the shreck conspiracy) ===
There is an interesting coincidence in some of the platform_id version numbers and the numbers used in prototypes PS3 models, crosscheck with: [[SKU_Models_Nonretail#Prototype_models|Prototype models]]
There is an interesting coincidence in some of the platform_id version numbers and the numbers used in prototypes PS3 models, crosscheck with: [[SKU_Models_Nonretail#Prototype_models|Prototype models]]


Line 194: Line 100:
The minimum support firmware (excluding the metldr enforced one) can be seen [[Motherboard_Revisions#Product_Sub_Code|here]] and also the mapping to the Chassis ID.<br>
The minimum support firmware (excluding the metldr enforced one) can be seen [[Motherboard_Revisions#Product_Sub_Code|here]] and also the mapping to the Chassis ID.<br>
There seem to be only 4 groups (4.15, 4.20, 4.40 and 4.50).
There seem to be only 4 groups (4.15, 4.20, 4.40 and 4.50).
== SW "EEPROM" ([[Special:Diff/63500/63501|diff]]) ==
The platform ID (hex and/or string) doesn't have to be at 0x60000 (SW) or 0xA0000 (SW2/3). That's where the eeprom emulation space starts.<br>
At least from what I know now, the eeprom emulation can mark blocks as invalid.<br>
That means if the block size is set to 16 bit, every 16 bit can be replaced by a different block and the old one just gets marked "invalid" (the data stays there).<br>
It also does wear leveling so if you change some data multiple times, the location will change but the old data won't (and maybe only some words will be remapped).<br>
I would rather not list that else someone could think they can read the values directly from the flash image, but that might lead to problems.<br>
Or maybe add a disclaimer that under normal circumstances you can read some things from there but you can't trust it 100%. (you can trust r 0 8 though)
*I tryed to improve the descriptions in [[Special:Diff/63503/63511|this edit]], there are still many details i dont understand fully, btw if we dont count the block remapping and wear leveling features the emulated EEPROm should be always located in that offsets, right ?, in other words... in the worst scenario posible the only relocated data we are going to find are just some blocks "here and there" (in other words, a couple of bytes here and there) but finding a big chunks of relocated data (lets say 20 consecutive blocks relocated) is not much probable, right ?. In the practise... if we take a look at 0x60000 (SW) or 0xA0000 (SW2/3) there is a huge probability to find some of the original data, right ?, im just asking for the purpose of identifying where the regions starts and ends. Im also asking because [[Special:Diff/63501/63503|this sample]] surprised me a bit, how is posible to be completly empty after the first 0x40 bytes ?, in all the other samples i have this area of 0x250 bytes seems to have at least 4 or 5 different "chunks" of data, maybe is because the dumper tools are not "rebuilding" it properlly ?. Last btw... i been using the concept of "overriding" data chunks because i was thking there was 2 copies of the data chunks (one of them "read only" and the other "read/write" in the emulated EEPROM), but right now i have doubts, it makes sense to keep only 1 copy, but the first 0x250 bytes in the emulated EEPROM of the SW3-302 full dump sample we have that is almost filled completly with FF's doesnt makes sense
**The emulated EEPROM has no real offset. The data at 0x60000 or 0xA0000 (length 0x20000) is used to emulate the EEPROM, it's not the emulated EEPROM. The only way to access that is to use the dedicated read/write functions. Or reverse them and then you can extract the data from the flash image.

Latest revision as of 12:11, 1 December 2021

Platform ID of COOKIE prototypes[edit source]

Can't be proven atm, only for the COOKIE prototypes leading to the CECHAxx.

DEH-H100?-B -> 0xB = 11 -> ?Cok11? = ?COOKIE-11?
DEH-H100?-C -> 0xC = 12 -> ?Cok12? = ?COOKIE-12?

DEH-H1001-D -> 0xD = 13 -> ?Cok13? = COOKIE-13
DEH-H1000A-E -> 0xE = 14 -> Cok14 = COK-001 Prototype ?(COOKIE-14)?

Other speculations[edit source]

Theory 1[edit source]

  • Shr = Shreck (CEB-10XX)
  • Cyt = Cytology (CEB-20XX, DEH-R10XX, DECR-1000X)
  • Cok = Cookie (DEH-H10XX, CBEH-10XX, DECHA, CECHA)
  • Cyt2.2 = DEH-R100X / DEH-R101X / DEH-R102X
  • Cyt3.1 = DEH-R103X
  • Cyt3.2 = DEH-R104X / DECR-1000X
  • Cok14 = DEH-H1000X / CECHA

Theory 2 (the shreck conspiracy)[edit source]

There is an interesting coincidence in some of the platform_id version numbers and the numbers used in prototypes PS3 models, crosscheck with: Prototype models

  • SHRECK V1 series ? (Motherboard MPU-500 ?)
    • Shr1.0 -> CEB-1000 ?
    • Shr1.1 -> undocumented / never found (theorethically a CEB-1010)
    • Shr1.2 -> CEB-1020 ?
    • Shr-4D -> ?
    • Shr1.3 -> undocumented / never found (theorethically a CEB-1030)
    • Shr-LC -> ?
    • Shr1.4 -> undocumented / never found (theorethically a CEB-1040)
    • Shr1.5 -> undocumented / never found (theorethically a CEB-1050)
  • SHRECK V2 series ? (Motherboard MPU-501 ?)
  • SHRECK V3 series ? (Motherboard MPU-502 ?)
    • Shr3.0 -> ?
    • Shr3.1 -> ?
    • Shr3.2-4 -> ?
    • Shr3.2 -> ?
    • Shr3.3 -> ?
  • SHRECK V4 series ? (Motherboard MPU-503 ?)
    • Shr4.0 -> ?

Super Slims NOR vs eMMC[edit source]

As explained here the circuit design of all superslim motherboards (7 motherboard models documented so far) allows to install either a NOR or a eMMC flash. If we assume the Platform ID of a specific motherboard changes based in his flash type (NOR or eMMC) we have a theoretical amount of 14 posible platform ID's for superslims
But... the fact that all the superslims allows to install a eMMC doesnt means that sony did in retail production in all them (the existence of a MSX-001 motherboard with a eMMC flash is doubtful). Anyway... in the meantime im going to make a list with all the posible combinations to keep a record of which ones has been found to be real
Is relativelly easy to do if we find photos of them, even if the photo is blurry or have s small size, we just need to check the motherboard name and the presence of the NOR chip located next to the HDD connector (rectangled chip=NOR, squared chip=eMMC), if some of you find a photo or any other proof of the existence of them just post the link in this list

Some thoughts[edit source]

Sony doesn't have all the platform ids inside the syscon firmware, sometimes they just overwrite the platform id using the "eeprom".
That's denoted as "hardcoded" here, which means that e.g. Syscon makes no difference between the CokE10 and Deb01 or CokJ13 and Cok20.
Also the last platform id which can be found in the latest syscon SW3-304, ends at CokN30 which means all later boards are handled the same by Syscon and the platform id is just overwritten.

CokM10    Dumped unknown motherboard
CokM20    Inside Syscon firmware
CokM30    Dumped MPX-001 eMMC
CokM40    Inside Syscon firmware
CokN10    Inside Syscon firmware
CokN30    Inside Syscon firmware
CokP10    Dumped PQX-001 NOR
CokP40    Dumped PPX-001 eMMC
CokR30    Dumped unknown motherboard
CokR40    Dumped REX-001 eMMC

so CokX10, CokX20, CokX30, CokX40 ?

You can also see that there're 8 different Product Sub Codes for the Superslim: 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14 - but only 7 boards?
The minimum support firmware (excluding the metldr enforced one) can be seen here and also the mapping to the Chassis ID.
There seem to be only 4 groups (4.15, 4.20, 4.40 and 4.50).

SW "EEPROM" (diff)[edit source]

The platform ID (hex and/or string) doesn't have to be at 0x60000 (SW) or 0xA0000 (SW2/3). That's where the eeprom emulation space starts.
At least from what I know now, the eeprom emulation can mark blocks as invalid.
That means if the block size is set to 16 bit, every 16 bit can be replaced by a different block and the old one just gets marked "invalid" (the data stays there).
It also does wear leveling so if you change some data multiple times, the location will change but the old data won't (and maybe only some words will be remapped).
I would rather not list that else someone could think they can read the values directly from the flash image, but that might lead to problems.
Or maybe add a disclaimer that under normal circumstances you can read some things from there but you can't trust it 100%. (you can trust r 0 8 though)

  • I tryed to improve the descriptions in this edit, there are still many details i dont understand fully, btw if we dont count the block remapping and wear leveling features the emulated EEPROm should be always located in that offsets, right ?, in other words... in the worst scenario posible the only relocated data we are going to find are just some blocks "here and there" (in other words, a couple of bytes here and there) but finding a big chunks of relocated data (lets say 20 consecutive blocks relocated) is not much probable, right ?. In the practise... if we take a look at 0x60000 (SW) or 0xA0000 (SW2/3) there is a huge probability to find some of the original data, right ?, im just asking for the purpose of identifying where the regions starts and ends. Im also asking because this sample surprised me a bit, how is posible to be completly empty after the first 0x40 bytes ?, in all the other samples i have this area of 0x250 bytes seems to have at least 4 or 5 different "chunks" of data, maybe is because the dumper tools are not "rebuilding" it properlly ?. Last btw... i been using the concept of "overriding" data chunks because i was thking there was 2 copies of the data chunks (one of them "read only" and the other "read/write" in the emulated EEPROM), but right now i have doubts, it makes sense to keep only 1 copy, but the first 0x250 bytes in the emulated EEPROM of the SW3-302 full dump sample we have that is almost filled completly with FF's doesnt makes sense
    • The emulated EEPROM has no real offset. The data at 0x60000 or 0xA0000 (length 0x20000) is used to emulate the EEPROM, it's not the emulated EEPROM. The only way to access that is to use the dedicated read/write functions. Or reverse them and then you can extract the data from the flash image.