Editing Syscon Firmware
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
= Description = | = Description = | ||
The | The system controller firmware (also known as the syscon firmware) is the software stored inside [[Syscon Hardware|syscon]]. Is composed by the base firmware (not updateable in retail syscon models) and a optional patch that is applyed virtually on runtime on top of the base firmware<br> | ||
The syscon | The syscon update packages (also known as syscon patches) for retail PS3 models are distributed in [[PKG_files|PKG]] format inside the [[Update_files.tar]] of the [[Playstation Update Package (PUP)|PS3UPDAT.PUP]]s. Syscon patches appear to always be 5KB (5376 bytes) in size. | ||
= Update procedure = | = Update procedure = | ||
Line 10: | Line 10: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Mullion | |+Mullion | ||
! <abbr title="Syscon firmware build id">SoftID</abbr> !! Firmware version !! Build target !! Build date !! Adds support for [[Platform ID]]s !! Corresponding [[SCEI PS3 SDK|SDK]] | ! <abbr title="Syscon firmware build id">SoftID</abbr> !! Firmware version !! Build target !! Build date !! Adds support for [[Platform ID]]s !! Corresponding [[SCEI PS3 SDK|SDK]] version !! Notes | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| - || v0.4.5_b4 || BACKUP || 2005 || (Cyt1.0), (Cyt1.1), (Cyt2.1), (Cok01) || 0.40 || Only used on the backup bank of flash models | | - || v0.4.5_b4 || BACKUP || 2005 || (Cyt1.0), (Cyt1.1), (Cyt2.1), (Cok01) || 0.40 || Only used on the backup bank of flash models | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 06DA || v0.6.1_c8 || CYTOLOGY || 2006/01/31 || Cyt1.2, Cyt2.0, Cyt2.2, (Cok02), (Cok03) || 0.80 | | 06DA || v0.6.1_c8 || CYTOLOGY || 2006/01/31 || Cyt1.2, Cyt2.0, Cyt2.2, (Cok02), (Cok03) || 0.80 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 073E || v0.6.10_c4 || CYTOLOGY || 2006/03/01 || (Cok05) || 0.81 | | 073E || v0.6.10_c4 || CYTOLOGY || 2006/03/01 || (Cok05) || 0.81 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 07FF || v0.6.11_c4 || CYTOLOGY || 2006/03/27 || Cyt3.0, Cyt3.1, Cyt3.2, (Cok08) || 0.82 | | 07FF || v0.6.11_c4 || CYTOLOGY || 2006/03/27 || Cyt3.0, Cyt3.1, Cyt3.2, (Cok08) || 0.82 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 086C || v0.6.12_c5 || CYTOLOGY || 2006/04/11 || - || 0.83 | | 086C || v0.6.12_c5 || CYTOLOGY || 2006/04/11 || - || 0.83 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 08F1 || v0.6.12_c7 || CYTOLOGY || 2006/04/22 || - || 0.83 || | | 08F1 || v0.6.12_c7 || CYTOLOGY || 2006/04/22 || - || 0.83 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0955 || v0.6.14_c4 || CYTOLOGY || 2006/05/01 || - || 0.84 | | 0955 || v0.6.14_c4 || CYTOLOGY || 2006/05/01 || - || 0.84 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0AF4 || v0.8.4_c8 || CYTOLOGY || 2006/06/23 || (Cok11) || 0.85 | | 0AF4 || v0.8.4_c8 || CYTOLOGY || 2006/06/23 || (Cok11) || 0.85 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0B48 || v0.9.9_c1 || CYTOLOGY || 2006/07/07 || Cyt3.3, Cyt3.4, (Cok12), (Cok13), (Cok14) || 0.90 | | 0B48 || v0.9.9_c1 || CYTOLOGY || 2006/07/07 || Cyt3.3, Cyt3.4, (Cok12), (Cok13), (Cok14) || 0.90 || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0B67 || v0.9.13_k1 || COOKIE || 2006 || - || - || [[COOKIE-13]], [[COK-001_(Prototype)|COK-001(Proto)]], etc... with a [[CXR713F120A]] | | 0B67 || v0.9.13_k1 || COOKIE || 2006 || - || - || [[COOKIE-13]], [[COK-001_(Prototype)|COK-001(Proto)]], etc... with a [[CXR713F120A]] | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0B74 || v0.9.14_c1 || CYTOLOGY || 2006/08/03 || - || 0.91 | | 0B74 || v0.9.14_c1 || CYTOLOGY || 2006/08/03 || - || 0.91 || | ||
|- | |- | ||
| 0B8E || v1.0.0_k1 || COOKIE (201) || 2006 || - || - || | | 0B8E || v1.0.0_k1 || COOKIE (201) || 2006 || - || - || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0B9D || v1.0.1_c1 || CYTOLOGY || 2006/08/31 || - || 0.93 | | 0B9D || v1.0.1_c1 || CYTOLOGY || 2006/08/31 || - || 0.93 || | ||
|- | |- | ||
| 0C16 || v1.1.3_k1 || COOKIE (202) || 2006 || CokB10 || - || | | 0C16 || v1.1.3_k1 || COOKIE (202) || 2006 || CokB10 || - || <span style="background:#ff4444;">not dumped yet</span> | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0C23 || v1.0.3_c1 || CYTOLOGY || 2006/12/04 || - || 1.50 | | 0C23 || v1.0.3_c1 || CYTOLOGY || 2006/12/04 || - || 1.50 || | ||
|- | |- | ||
| 0D52 || v1.2.3_k1 || COOKIE (203) || 2007 || CokC10, CokC11, CokC12 | | 0D52 || v1.2.3_k1 || COOKIE (203) || 2007 || CokC10, CokC11, CokC12 || - || <span style="background:#ff4444;">not dumped yet</span> | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0D79 || v1.0.4_c1 || CYTOLOGY || 2007/06/21 || - || 1.90 | | 0D79 || v1.0.4_c1 || CYTOLOGY || 2007/06/21 || - || 1.90 || | ||
|- | |- | ||
| 0DBF || v1.3.3_k1 || COOKIE (301) || 2007 || | | 0DBF || v1.3.3_k1 || COOKIE (301) || 2007 || CokD10 || - || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0E4E || v1.0.4_c2 || CYTOLOGY || 2007/11/08 || - || 2.40 | | 0E4E || v1.0.4_c2 || CYTOLOGY || 2007/11/08 || - || 2.40 || | ||
|- | |- | ||
| 0E69 || v1.4.4_k2 || COOKIE (302) || 2007 || CokE10, Deb01 || - || | | 0E69 || v1.4.4_k2 || COOKIE (302) || 2007 || CokE10, Deb01 || - || | ||
|- | |- | ||
| 0F29 || v1.5.0_k2 || COOKIE (303) || 2009 || - || - || Removes hardcoding from previous firmware, adds support for 65nm RSX - <span style="background:#ff4444 | | 0F29 || v1.5.0_k2 || COOKIE (303) || 2009 || - || - || Removes hardcoding from previous firmware, adds support for 65nm RSX - <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| 0F38 || v1.5.1_k2 || COOKIE (304) || 2010 || - || - || Adds support for 40nm RSX | | 0F38 || v1.5.1_k2 || COOKIE (304) || 2010 || - || - || Adds support for 40nm RSX | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0F3B || v1.0.5_c1 || CYTOLOGY || 2010/05/12 || - || 3.60 | | 0F3B || v1.0.5_c1 || CYTOLOGY || 2010/05/12 || - || 3.60 || | ||
|} | |} | ||
Line 63: | Line 63: | ||
! <abbr title="Syscon firmware build id">SoftID</abbr> !! Firmware version !! Build target !! Build date !! <abbr title="Not final">Adds support for [[Platform ID]]s</abbr> !! Notes | ! <abbr title="Syscon firmware build id">SoftID</abbr> !! Firmware version !! Build target !! Build date !! <abbr title="Not final">Adds support for [[Platform ID]]s</abbr> !! Notes | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| 0658 || ?.??.? || - || 2008 || CokF10 || <span style="background:#ff4444 | | 0658 || ?.??.? || - || 2008 || CokF10 || [[VERTIGO-02]] <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| 065D || 0.17.0 || SW-301 || 2008 || - || | | 065D || 0.17.0 || SW-301 || 2008 || - || | ||
|- | |- | ||
| ???? || ?.??.? || SW-302 || 2008 || - || <span style="background:#ff4444 | | ???? || ?.??.? || SW-302 || 2008 || - || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| 0832 || 1.11.0 || SW2-301 || 2009 || CokG10, CokG11 || | | 0832 || 1.11.0 || SW2-301 || 2009 || CokG10, CokG11 || | ||
|- | |- | ||
| | | 08A0 || 1.16.0 || SW2-302 || 2009 || CokH10, CokH11 || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| | | 08C2 || 1.21.0 || SW2-303 || 2010 || CokJ13, CokJ20 || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| | | 0918 || 2.3.0 || SW3-301 || 2011 || CokK10 || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| | | 098F || 2.12.0 || SW3-302 || 2012 || CokM20, CokM40, CokN10, CokN30 || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| | | ???? || ?.??.? || SW3-303 || 2013 || - || <span style="background:#ff4444;">not dumped yet</span> | ||
|- | |- | ||
| | | 09A4 || 2.21.0 || SW3-304 || 2013 || - || <span style="background:#ff9000;">partially dumped</span> | ||
|} | |} | ||
= Syscon patches = | = Syscon patches = | ||
These patches are in full Retail/CEX and Debug/DEX firmwares. Are intended to fix some problem in the syscon firmware | These patches are in full Retail/CEX and Debug/DEX firmwares. Are intended to fix some problem in the syscon firmware | ||
* | *Firmware 1.30 (December 6, 2006) Disables UART access to the Syscon EEPROM patch region (not for 0832) | ||
* | *Firmware 1.81 (June 15, 2007) Patch for the HDMI display data channel read function (only for 0B8E and 0C16) | ||
* | *Firmware 3.00 (September 1, 2009) Unknown patch (only for 0832) | ||
* | *Firmware 3.40 (June 29, 2010) Patch for the rtc read function (not for 0832) | ||
*Firmware 3.41 (July 26, 2010) No patch added | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! <abbr title="Syscon ROM Revision">SoftID</abbr> !! sys_con_firmware package !! | ! <abbr title="Syscon ROM Revision">SoftID</abbr> !! sys_con_firmware package !! 1.00-1.30 !! 1.30-1.80 !! 1.81-2.80 !! 3.00-3.30 !! 3.40 !! 3.41-4.75 !! Notes | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
! rowspan=3 | 0B8E | ! rowspan=3 | 0B8E | ||
| SYS_CON_FIRMWARE_01000004.pkg || {{No}} || {{Yes}} | | SYS_CON_FIRMWARE_01000004.pkg || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || Superseded by SYS_CON_FIRMWARE_01000005.pkg | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
| SYS_CON_FIRMWARE_01000005.pkg || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01000005.pkg || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Superseded by SYS_CON_FIRMWARE_01000006.pkg | ||
|- | |- | ||
| SYS_CON_FIRMWARE_01000006.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01000006.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|-{{cellcolors|lightgrey}} | |-{{cellcolors|lightgrey}} | ||
! rowspan=2 | 0C16 | ! rowspan=2 | 0C16 | ||
| SYS_CON_FIRMWARE_01010302.pkg || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01010302.pkg || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Superseded by SYS_CON_FIRMWARE_01010303.pkg | ||
|- | |- | ||
| SYS_CON_FIRMWARE_01010303.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01010303.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|- | |- | ||
! 0D52 | ! 0D52 | ||
| SYS_CON_FIRMWARE_01020302.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01020302.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|- | |- | ||
! 0DBF | ! 0DBF | ||
| SYS_CON_FIRMWARE_01030302.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01030302.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|- | |- | ||
! 0E69 | ! 0E69 | ||
| SYS_CON_FIRMWARE_01040402.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01040402.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|- | |- | ||
! 0F29 | ! 0F29 | ||
| SYS_CON_FIRMWARE_01050002.pkg || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01050002.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || | ||
|- | |- | ||
! 0F38 | ! 0F38 | ||
| SYS_CON_FIRMWARE_01050101.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_01050101.pkg || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}} || | ||
|- | |- | ||
! 0832 | ! 0832 | ||
| SYS_CON_FIRMWARE_S1_00010002083E0832.pkg || {{No}} || {{No}} || {{No}} || | | SYS_CON_FIRMWARE_S1_00010002083E0832.pkg || {{No}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || | ||
|} | |} | ||
<div style="float:right">[[File:MoreSystemInformation_CECHA_with_40nm_RSX.jpg|400px|thumb|left|[[CECHAxx]] Refurbished 40nm RSX / [[COK-001]] / [[CXR714120-304GB]]<br>Syscon firmware '''v1.5.1_k2''' patch '''1''']]<br>[[File:MoreSystemInformation-CECH2004B-270.JPG|400px|thumb|left|[[CECH-20xx]] / [[DYN-001]] / [[SW2-301]]<br>Syscon firmware '''1.11.0''' patch '''1.2.83E.832''']]</div> | |||
The screen [[More System Information]] allows to see some details related with syscon. The syscon firmware version can be derived from the SoftID, and additionally if there is a patch installed the PatchID displayed in the screen contains both, the syscon firmware version and the patch version. Note also that there is a direct relationship in between the PatchID displayed in the screen and the patch filename. The syscon UART commands also displays some info related with the base syscon firmware and the patch | The screen [[More System Information]] allows to see some details related with syscon. The syscon firmware version can be derived from the SoftID, and additionally if there is a patch installed the PatchID displayed in the screen contains both, the syscon firmware version and the patch version. Note also that there is a direct relationship in between the PatchID displayed in the screen and the patch filename. The syscon UART commands also displays some info related with the base syscon firmware and the patch | ||
Line 243: | Line 241: | ||
! Address !! Length !! Value !! Description | ! Address !! Length !! Value !! Description | ||
|- | |- | ||
| 0x00 || 0x4 || 0x3 || | | 0x00 || 0x4 || 0x3 || ConsoleType? 3 (fixed value for all PS3 update packages) | ||
|- | |- | ||
| 0x04 || 0x4 || 0x8 || SoftType? 8 = SC firmware | | 0x04 || 0x4 || 0x8 || SoftType? 8 = SC firmware | ||
Line 249: | Line 247: | ||
| 0x08 || 0x8 || - || SC firmware revision (the high word of it is the SC type) | | 0x08 || 0x8 || - || SC firmware revision (the high word of it is the SC type) | ||
|- | |- | ||
| 0x0C || 0x4 || 0x0B8E(1.30-4.84)<br />0x0C16(1.81-4.84)<br />0x0D52(3.40-4.84)<br />0x0DBF(3.40-4.84)<br />0x0E69(3.40-4.84)<br />0x0F29(3.40-4.84)<br />0x0F38(3.41-4.84)<br />0x0832(3.00-4.84) || 'SoftID' | | 0x0C || 0x4 || 0x0B8E(1.30-4.84)<br />0x0C16(1.81-4.84)<br />0x0D52(3.40-4.84)<br />0x0DBF(3.40-4.84)<br />0x0E69(3.40-4.84)<br />0x0F29(3.40-4.84)<br />0x0F38(3.41-4.84)<br />0x065D<br />0x0832(3.00-4.84)<br />0x08A0<br />0x08C2<br />0x0918 || 'SoftID' | ||
|- | |- | ||
| 0x10 || 0x8 || 0x0001000000000004<br />0x0001000000000005<br />0x0001000000000006<br />0x0001000100030002<br />0x0001000100030003<br />0x0001000200030002<br />0x0001000300030002<br />0x0001000400040002<br />0x0001000500000002<br />0x0001000500010001<br />0x00010002083E0832<br /> || 'PatchID' (official name is "version") | | 0x10 || 0x8 || 0x0001000000000004<br />0x0001000000000005<br />0x0001000000000006<br />0x0001000100030002<br />0x0001000100030003<br />0x0001000200030002<br />0x0001000300030002<br />0x0001000400040002<br />0x0001000500000002<br />0x0001000500010001<br />0x00010002083E0832<br /> || 'PatchID' (official name is "version") | ||
Line 257: | Line 255: | ||
| 0x20 || 0x8 || 0x1000 || '''Content''' Compressed Data Size | | 0x20 || 0x8 || 0x1000 || '''Content''' Compressed Data Size | ||
|- | |- | ||
| 0x28 || | | 0x28 || 0x8 || 0x0 || | ||
|- | |- | ||
| 0x30 || 0x10 || 0x0 || | |||
| 0x30 || | |||
|- | |- | ||
|} | |} | ||
Line 276: | Line 270: | ||
! Address !! Length !! Value !! Description | ! Address !! Length !! Value !! Description | ||
|- | |- | ||
| 0x00 || | | 0x00 || 0x4 || 0x0 || | ||
|- | |- | ||
| | | 0x04 || 0x4 || 0x3 || | ||
|- | |- | ||
| | | 0x08 || 0x8 || 0x40 || Offset/size? | ||
|- | |- | ||
| | | 0x10 || 0x4 || 0x0 || | ||
|- | |- | ||
| | | 0x14 || 0x4 || 0x0 || | ||
|- | |- | ||
| | | 0x18 || 0x8 || 0x1000 || '''Content''' Data Size? | ||
|- | |- | ||
| | | 0x20 || 0x8 || 0x1 || | ||
|- | |- | ||
| | | 0x28 || 0x8 || 0x1 || | ||
|- | |||
| 0x30 || 0x10 || 0x0 || | |||
|- | |- | ||
|} | |} | ||
Line 300: | Line 296: | ||
|- | |- | ||
|- | |- | ||
| 0x0 || 0x1000 || - || ''' | | 0x0 || 0x1000 || - || '''content data''' | ||
|- | |- | ||
|} | |} | ||
=== Content Data | === Content Data header === | ||
The header format is partially unknown at this stage. | The header format is partially unknown at this stage. | ||
All the Firmwares patches are written in little endian. | All the Firmwares patches are written in little endian. | ||
Line 358: | Line 354: | ||
</pre> | </pre> | ||
=== Content Data | === Content Data (encrypted patch) === | ||
Packages can be extracted with the unpkg tool. Extracted content of the updates appears to always be 0x1000 bytes (4KB). | Packages can be extracted with the unpkg tool. Extracted content of the updates appears to always be 0x1000 bytes (4KB). | ||
Line 402: | Line 398: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Offset !! Size !! | !Offset!!Size!!Notes!!Number | ||
|- | |- | ||
| 0x00 || 0x2 || Major Version || 1 | | 0x00 || 0x2 || Major Version || 1 | ||
|- | |- | ||
| 0x02 || 0x2 || Minor Version || 1 | | 0x02 || 0x2 || Minor Version || 1 | ||
|- | |- | ||
| 0x04 || 0x2 || Major Revision || 1 | | 0x04 || 0x2 || Major Revision || 1 | ||
|- | |- | ||
| 0x06 || 0x2 || Minor Revision || 1 | | 0x06 || 0x2 || Minor Revision || 1 | ||
|- | |- | ||
| 0x08 || 0x10 || Patch Addresses || 4*4 | | 0x08 || 0x10 || Patch Addresses || 4*4 | ||
|- | |- | ||
| 0x18 || 0x10 || Patch Instruction / Data || 4*4 | | 0x18 || 0x10 || Patch Instruction / Data || 4*4 | ||
|- | |- | ||
| 0x28 || 0x10 || Patch Jump Instruction Addresses || 4*4 | | 0x28 || 0x10 || Patch Jump Instruction Addresses || 4*4 | ||
|- | |- | ||
| 0x38 || 0x388 || Additional Patch Instructions || 1 | | 0x38 || 0x388 || Additional Patch Instructions || 1 | ||
|- | |- | ||
| 0x3C0 || 0xC00 || HDMI Patch || 1 | | 0x3C0 || 0xC00 || HDMI Patch || 1 | ||
|- | |- | ||
|} | |} | ||
Line 427: | Line 423: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Offset !! Size !! | !Offset!!Size!!Notes!!Number | ||
|- | |- | ||
| 0x00 || 0x4 || Magic || 1 | | 0x00 || 0x4 || Magic || 1 | ||
|- | |- | ||
| 0x04 || 0x2 || Major Version || 1 | | 0x04 || 0x2 || Major Version || 1 | ||
|- | |- | ||
| 0x06 || 0x2 || Minor Version || 1 | | 0x06 || 0x2 || Minor Version || 1 | ||
|- | |- | ||
| 0x08 || 0x2 || Major Revision || 1 | | 0x08 || 0x2 || Major Revision || 1 | ||
|- | |- | ||
| 0x0A || 0x2 || Minor Revision || 1 | | 0x0A || 0x2 || Minor Revision || 1 | ||
|- | |- | ||
| 0x0C || 0x4 || Absolute Table Address || 1 | | 0x0C || 0x4 || Absolute Table Address || 1 | ||
|- | |- | ||
| 0x10 || 0x2 || Data Size || 1 | | 0x10 || 0x2 || Data Size || 1 | ||
|- | |- | ||
| 0x12 || 0x2 || Data Checksum || 1 | | 0x12 || 0x2 || Data Checksum || 1 | ||
|- | |- | ||
| 0x14 || 0x2 || Patch Checksum || 1 | | 0x14 || 0x2 || Patch Checksum || 1 | ||
|- | |- | ||
| 0x16 || 0x2 || Relative Data Address || 1 | | 0x16 || 0x2 || Relative (0x2000) Data Address || 1 | ||
|- | |- | ||
| 0x18 || 0x2 || Relative Table Address || 1 | | 0x18 || 0x2 || Relative (0x2000) Table Address || 1 | ||
|- | |- | ||
| | | ------ || 0x80 || Table with Addresses || 32*4 | ||
|- | |- | ||
| | | ------ || ------ || Data (not parsed on SW) || - | ||
|- | |- | ||
|} | |} | ||
Line 462: | Line 458: | ||
=== External commands === | === External commands === | ||
{| class="wikitable | {| class="wikitable" | ||
! Address !! Command !! Subcommand !! Permission | ! Address !! Command !! Subcommand !! Permission | ||
|- | |- | ||
Line 615: | Line 598: | ||
|- | |- | ||
|duty || 0x9B23 || 0xDD0C0000 || get/getmin/getmax/getinimin/getinimax<br>set/setmin/setmax/setinimin/setinimax || Fan speed | |duty || 0x9B23 || 0xDD0C0000 || get/getmin/getmax/getinimin/getinimax<br>set/setmin/setmax/setinimin/setinimax || Fan speed | ||
|- | |- | ||
|dve || 0x2995D || 0xDC0C0000 || help/set/save/show || DVE chip parameters | |dve || 0x2995D || 0xDC0C0000 || help/set/save/show || DVE chip parameters | ||
Line 636: | Line 615: | ||
|fanconautotype || 0xC075 || 0xDD0C0000|| - || Does nothing | |fanconautotype || 0xC075 || 0xDD0C0000|| - || Does nothing | ||
|- | |- | ||
|fanconmode || 0xBF35 || 0xDD0C0000 || get || Fan control mode | |fanconmode || 0xBF35 || 0xDD0C0000 || get || Fan control mode | ||
|- | |- | ||
|fanconpolicy || 0xBBC9 || 0xDD0C0000 || get/set/getini/setini || Fan control policy | |fanconpolicy || 0xBBC9 || 0xDD0C0000 || get/set/getini/setini || Fan control policy | ||
|- | |- | ||
|fandiag || 0x1E91B || 0xF0000000|| - || Fan Diagnostic (test) | |fandiag || 0x1E91B || 0xF0000000|| - || Fan Diagnostic (test) | ||
Line 656: | Line 627: | ||
|fanservo || 0xBF29 || 0xDD0C0000|| - || Does nothing | |fanservo || 0xBF29 || 0xDD0C0000|| - || Does nothing | ||
|- | |- | ||
|fantbl || 0xC087 || 0xDD0C0000 || get/set/getini/setini/gettable/settable | |fantbl || 0xC087 || 0xDD0C0000 || get/set/getini/setini/gettable/settable || Fan table: get/set - currently in RAM/in use ; getini/setini - stored in EEPROM (!! in COK the chksum does not updated automatically !!) | ||
<pre> | <pre> | ||
fantbl - Fan Table set/get command | |||
Usage: fantbl set fanconNo pNo tempD tempU duty | Usage: fantbl set fanconNo pNo tempD tempU duty | ||
ex. fantbl set 0 p1 0x1400 0x1E40 0xC0 | ex. fantbl set 0 p1 0x1400 0x1E40 0xC0 | ||
Line 705: | Line 677: | ||
|hversion || 0x2422F || 0xDD0C0000|| - || Displays [[Platform ID]] | |hversion || 0x2422F || 0xDD0C0000|| - || Displays [[Platform ID]] | ||
|- | |- | ||
|hyst || 0xAEF5 || 0xDD0C0000 || get/set/getini/setini || This value is stored inside the Thermal Config area, every thermal sensor | |hyst || 0xAEF5 || 0xDD0C0000 || get/set/getini/setini || This value is stored inside the Thermal Config area, every thermal sensor have his own<!--https://en.wikipedia.org/wiki/Hysteresis#Control_systems ?--> | ||
|- | |- | ||
|lasterrlog || 0xB7FF || 0xDD0C0000|| - || Last error from log | |lasterrlog || 0xB7FF || 0xDD0C0000|| - || Last error from log | ||
Line 792: | Line 757: | ||
|task || 0x15005 || 0xDD0C0000|| - || Print tasks | |task || 0x15005 || 0xDD0C0000|| - || Print tasks | ||
|- | |- | ||
|thalttest || 0xD813 || 0x000F0000|| - || | |thalttest || 0xD813 || 0x000F0000|| - || Does nothing | ||
|- | |- | ||
|thermfatalmode || 0xCA3B || 0xDD0C0000 || canboot/cannotboot || Set boot mode | |thermfatalmode || 0xCA3B || 0xDD0C0000 || canboot/cannotboot || Set thermal boot mode | ||
|- | |- | ||
|therrclr || 0xD3E5 || 0xDD0C0000|| - || | |therrclr || 0xD3E5 || 0xDD0C0000|| - || Thermal register clear | ||
|- | |- | ||
|thrm || 0xBF1D || 0xDD0C0000|| - || Does nothing | |thrm || 0xBF1D || 0xDD0C0000|| - || Does nothing | ||
|- | |- | ||
|tmp ||0xAA69 || 0xDD0C0000 || [ | |tmp ||0xAA69 || 0xDD0C0000 || [zone] || Get temperature | ||
|- | |- | ||
|trace || 0xB951 || 0xDD0C0000 || ... || Trace tasks (use help) | |trace || 0xB951 || 0xDD0C0000 || ... || Trace tasks (use help) | ||
Line 816: | Line 777: | ||
</pre> | </pre> | ||
|- | |- | ||
|trp ||0xAB2F || 0xDD0C0000 || get/set/getini/setini || This value is stored inside the Thermal Config area, every thermal sensor | |trp ||0xAB2F || 0xDD0C0000 || get/set/getini/setini || This value is stored inside the Thermal Config area, every thermal sensor have his own<!-- Transient Receptor Potential ? https://en.wikipedia.org/wiki/Thermosensation --> | ||
|- | |- | ||
|tsensor || 0xA279 || 0xDD0C0000 || [ | |tsensor || 0xA279 || 0xDD0C0000 || [sensor] || Get raw temperature | ||
|- | |- | ||
|tshutdown || 0xB2A1 || 0xDD0C0000 || get/set/getini/setini || Thermal shutdown. This value is stored inside the Thermal Config area, every thermal sensor | |tshutdown || 0xB2A1 || 0xDD0C0000 || get/set/getini/setini || Thermal shutdown. This value is stored inside the Thermal Config area, every thermal sensor have his own | ||
|- | |- | ||
|tshutdowntime || 0xC95D || 0xDD0C0000 || | |tshutdowntime || 0xC95D || 0xDD0C0000 || [time] || Thermal shutdown time. This value is stored inside the Thermal Config area, is a single value shared by all thermal sensors | ||
|- | |- | ||
|tzone || 0xB5E1 || 0xDD0C0000|| - || | |tzone || 0xB5E1 || 0xDD0C0000|| - || Show thermal zones | ||
|- | |- | ||
|version || 0xD65F || 0xFFFF0000|| - || Syscon firmware version | |version || 0xD65F || 0xFFFF0000|| - || Syscon firmware version | ||
Line 899: | Line 812: | ||
== Sherwood == | == Sherwood == | ||
Very similar to PS4 southbridge firmware. Only difference here is the string Playstation 3 | |||
* | * A_AUTH = 0x0700 | ||
* | * B_AUTH = 0x0B00 | ||
* | * INT = 0x0300 (Command not available from UART interface. Can be unlocked by patching syscon firmware) | ||
* | * ANY = 0x0F00 | ||
{| class="wikitable sortable | {| class="wikitable sortable" | ||
|+Sherwood Commands | |+Sherwood Commands | ||
! rowspan="2" | Command<br>lowercase/UPPERCASE !! rowspan="2" | <abbr title="Permission">Perms</abbr> !! colspan="3" | Address !! rowspan="2" | Notes | ! rowspan="2" | Command<br>lowercase/UPPERCASE !! rowspan="2" | <abbr title="Permission">Perms</abbr> !! colspan="3" | Address !! rowspan="2" | Notes | ||
Line 973: | Line 886: | ||
| shutdown / HALT || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC1C || 0x39171 || 0x39892 || | | shutdown / HALT || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC1C || 0x39171 || 0x39892 || | ||
|- | |- | ||
| r / R8< | | r / R8 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC9B || 0x391F0 || 0x39911 || | ||
|- | |||
| r16 / R16 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC9B || 0x391F0 || 0x39911 || | |||
|- | |||
| r32 / R32 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC9B || 0x391F0 || 0x39911 || | |||
|- | |||
| r64 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E7BC || 0x39D11 || 0x3A432 || | |||
|- | |||
| r64d || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E7BC || 0x39D11 || 0x3A432 || | |||
|- | |||
| w / W8 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E03B || 0x39590 || 0x39CB1 || | |||
|- | |- | ||
| | | w16 / W16 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E03B || 0x39590 || 0x39CB1 || | ||
|- | |- | ||
| | | w32 / W32 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E03B || 0x39590 || 0x39CB1 || | ||
|- | |- | ||
| w64< | | w64 || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E6C1 || 0x39C16 || 0x3A337 || | ||
|- | |||
| wbe || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E6C1 || 0x39C16 || 0x3A337 || | |||
|- | |- | ||
| BOOTENABLE || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC7B || 0x391D0 || 0x398F1 || | | BOOTENABLE || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2DC7B || 0x391D0 || 0x398F1 || | ||
Line 985: | Line 910: | ||
| EEP || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E8C2 || 0x39E17 || 0x3A538 || | | EEP || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E8C2 || 0x39E17 || 0x3A538 || | ||
|- | |- | ||
| PDAREA< | | PDAREA || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E9B8 || 0x39F0D || 0x3A62E || | ||
|- | |||
| CSAREA || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2E9B8 || 0x39F0D || 0x3A62E || | |||
|- | |- | ||
| portset || {{cellcolors|#ffaaaa}} <abbr title="0x0300">INT</abbr> || 0x2EC36 || 0x3A18B || 0x3A8AC || | | portset || {{cellcolors|#ffaaaa}} <abbr title="0x0300">INT</abbr> || 0x2EC36 || 0x3A18B || 0x3A8AC || | ||
Line 991: | Line 918: | ||
| extend || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2ECF9 || 0x3A24E || 0x3A96F || | | extend || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x2ECF9 || 0x3A24E || 0x3A96F || | ||
|- | |- | ||
| version || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || | | version || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x80D0 || 0xA0F1 || 0xA0FF || | ||
|- | |- | ||
| revision || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || | | revision || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x812B || 0xA14C || 0xA15A || | ||
|- | |- | ||
| setcmdlong / SETCMDLONG || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || | | setcmdlong / SETCMDLONG || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x8251 || 0xA272 || 0xA280 || | ||
|- | |- | ||
| VER || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || | | VER || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x81C3 || 0xA1E4 || 0xA1F2 || | ||
|- | |- | ||
| csum || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || | | csum || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x8356 || 0xA37B || 0xA389 || | ||
|- | |- | ||
| AUTH1 | | AUTH1 || {{cellcolors|#ffffcc}} <abbr title="0x0B00">B_AUTH</abbr> || 0x8555 || 0xA5AF || 0xA5BD || | ||
|- | |- | ||
| AUTHVER || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || | | AUTH2 || {{cellcolors|#ffffcc}} <abbr title="0x0B00">B_AUTH</abbr> || 0x8555 || 0xA5AF || 0xA5BD || | ||
|- | |||
| AUTHVER || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x86FB || 0xA755 || 0xA763 || | |||
|- | |- | ||
| errlog / ERRLOG || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x311DA || 0x3C484 || 0x3CC7D || | | errlog / ERRLOG || {{cellcolors|#ddddff}} <abbr title="0x0F00">ANY</abbr> || 0x311DA || 0x3C484 || 0x3CC7D || | ||
Line 1,019: | Line 948: | ||
| VID || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x33F98 || 0x3FC43 || 0x404D8 || | | VID || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x33F98 || 0x3FC43 || 0x404D8 || | ||
|- | |- | ||
| CID< | | CID || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x340BF || 0x3FD6A || 0x405FF || | ||
|- | |||
| ECID || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x340BF || 0x3FD6A || 0x405FF || | |||
|- | |- | ||
| SPU || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x34211 || 0x3FEBC || 0x40751 || | | SPU || {{cellcolors|#ccffcc}} <abbr title="0x0700">A_AUTH</abbr> || 0x34211 || 0x3FEBC || 0x40751 || |