Editing MechaCon
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 3: | Line 3: | ||
There are two known main variants of it. | There are two known main variants of it. | ||
The earlier one is based on the 16-bit SPC970 CPU core | The earlier one is based on the 16-bit SPC970 CPU core and was used on earlier boards up to GH-022. Chip name starts with "CXP10". GH-014 and earlier motherboards including GH-016 board come with a 100-pin QFP package. GH-017 up to GH-022 motherboards including GH-015 board come with a 136-ball BGA package. | ||
The newer one is ARM-based (Sony SR11 core, 32-bit, ARM7TDMI | The newer one is ARM-based (Sony SR11 core, 32-bit, ARM7TDMI), codenamed "Dragon", and used from GH-023 onwards. Chip name starts with "CXR7". Comes in a 164-ball BGA package. | ||
The "Dragon" variant also fulfills the functions that were undertaken by the separate [[SysCon]] chip on earlier boards up to GH-022, as well as the [[RTC]]+EEPROM chip, which was separate on earlier boards (or dedicated EEPROM and RTC chips on even earlier boards). | The "Dragon" variant also fulfills the functions that were undertaken by the separate [[SysCon]] chip on earlier boards up to GH-022, as well as the [[RTC]]+EEPROM chip, which was separate on earlier boards (or dedicated EEPROM and RTC chips on even earlier boards). | ||
Line 15: | Line 15: | ||
Dragon has the die of the combined Rohm RTC+EEPROM chip inside its own chip package, however, the EEPROM pins are exposed on the package, and the connection between Dragon and the RTC+EEPROM is done externally on the motherboard. | Dragon has the die of the combined Rohm RTC+EEPROM chip inside its own chip package, however, the EEPROM pins are exposed on the package, and the connection between Dragon and the RTC+EEPROM is done externally on the motherboard. | ||
Every MechaCon has a 3.5 V TTL UART interface exposed on test pads that was used by service centers for example to readjust the drive and write calibration data etc. Today it can be used with tools like PMAP (currently only supports consoles with SPC970 MechaCon, support for Dragon is highly experimental) to readjust the drive mechanism after fitting a replacement laser assembly etc. | Every MechaCon has a 3.5 V TTL UART interface exposed on test pads that was used by service centers for example to readjust the drive and write calibration data etc. Today it can be used with tools like PMAP (currently only supports consoles with SPC970 MechaCon, support for Dragon is highly experimental) to readjust the drive mechanism after fitting a replacement laser assembly etc. See [[Test points/MechaCon UART]]. | ||
Additionaly, at least the SPC970-based MechaCon (both, QFP and BGA revisions) provides an I²C interface with SDA and SCL being exposed on test pads next to the MechaCon. | Additionaly, at least the SPC970-based MechaCon (both, QFP and BGA revisions) provides an I²C interface with SDA and SCL being exposed on test pads next to the MechaCon. | ||
Line 31: | Line 31: | ||
==Firmware revisions== | ==Firmware revisions== | ||
Firmware comes in an OTP or mask ROM inside MechaCon. | Firmware comes in an OTP or mask ROM inside MechaCon. | ||
The major version number for SPC970 MechaCon firmware is always <= 3. PS3 emulated mechacon reports itself as 3. | The major version number for SPC970 MechaCon firmware is always <= 3. PS3 emulated mechacon reports itself as 3.9 version. As of 2024, the SPC970 mechacon's firmware has not yet been dumped, unlike Dragon's firmware. | ||
Unlike the later Dragon-MechaCons, which retrieve region parameters from EEPROM and have identical firmware across all regions, the SPC970-MechaCons have region-dependent firmware builds, hence many different chip labels exist for each firmware. | Unlike the later Dragon-MechaCons, which retrieve region parameters from EEPROM and have identical firmware across all regions, the SPC970-MechaCons have region-dependent firmware builds, hence many different chip labels exist for each firmware. | ||
Line 49: | Line 49: | ||
1.03_0 (0x030100) | CXP101064-602R | A-chassis DTL-T10000, DTL-H10000 | 1.03_0 (0x030100) | CXP101064-602R | A-chassis DTL-T10000, DTL-H10000 | ||
---------------------|-----------------|------------------------------------------------------------------------------------- | ---------------------|-----------------|------------------------------------------------------------------------------------- | ||
unknown (0x020027) | CXP102064-651R | All Namco System 246 and 256 arcade systems | |||
1.06_0 (0x060100) | CXP102064-001R | | 1.06_0 (0x060100) | CXP102064-001R | | ||
1.07_0 (0x070100) | CXP102064-003R | A-chassis DTL-T10000 | 1.07_0 (0x070100) | CXP102064-003R | A-chassis DTL-T10000 | ||
1.08_0 (0x080100) | CXP102064-002R | A-chassis SCPH-15000 | 1.08_0 (0x080100) | CXP102064-002R | A-chassis SCPH-15000 | ||
1.09_0 (0x090100) | CXP102064-751R | A-chassis DTL-T10000H | 1.09_0 (0x090100) | CXP102064-751R | A-chassis DTL-T10000H | ||
2.00_0 (0x000200) | CXP102064-004R | | 2.00_0 (0x000200) | CXP102064-004R | | ||
2.02_0 (0x020200) | CXP102064-005R | A+ chassis (GH-003) SCPH-18000 (Japan), AB-chassis (GH-008) SCPH-18000 (Japan) | 2.02_0 (0x020200) | CXP102064-005R | A+ chassis (GH-003) SCPH-18000 (Japan), AB-chassis (GH-008) SCPH-18000 (Japan) | ||
2.04_1 (0x040201) | CXP102064-101R | B and C chassis SCPH-30001 (US) | 2.04_1 (0x040201) | CXP102064-101R | B and C chassis SCPH-30001 (US) | ||
2.04_2 (0x040202) | CXP102064-201R | C-chassis SCPH- | 2.04_2 (0x040202) | CXP102064-201R | C-chassis SCPH-30002/3/4 (AU/NZ/UK/Europe) | ||
2.04_3 (0x040203) | CXP102064-301R | | 2.04_3 (0x040203) | CXP102064-301R | | ||
2.05_0 (0x050200) | CXP102064-702R | B-chassis DTL-H30001, DTL-H30002 | 2.05_0 (0x050200) | CXP102064-702R | B-chassis DTL-H30001, DTL-H30002 | ||
2.06_1 (0x060201) | CXP102064-102R | B/C/D-chassis SCPH-30001 (US) | 2.06_1 (0x060201) | CXP102064-102R | B/C/D-chassis SCPH-30001 (US) | ||
2.06_2 (0x060202) | CXP102064-202R | C/D-chassis SCPH-30003/4 (UK | 2.06_2 (0x060202) | CXP102064-202R | C/D-chassis SCPH-30003/4 (UK + Europe) | ||
2.06_3 (0x060203) | CXP102064-302R | C-chassis SCPH-30002 (AU/NZ) | 2.06_3 (0x060203) | CXP102064-302R | C-chassis SCPH-30002 (AU/NZ) | ||
2.07_0 (0x070200) | CXP102064-703R | B-chassis DTL-H30001, DTL-H30002 | 2.07_0 (0x070200) | CXP102064-703R | B-chassis DTL-H30001, DTL-H30002 | ||
Line 76: | Line 76: | ||
2.14_2 (0x0e0202) | CXP102064-204R | | 2.14_2 (0x0e0202) | CXP102064-204R | | ||
2.14_3 (0x0e0203) | CXP102064-304R | D-chassis SCPH-30002/SCPH-35002 (AU/NZ) | 2.14_3 (0x0e0203) | CXP102064-304R | D-chassis SCPH-30002/SCPH-35002 (AU/NZ) | ||
---------------------|-----------------|------------------------------------------------------------------------------------- | ---------------------|-----------------|------------------------------------------------------------------------------------- | ||
3.00_1 (0x000301) | CXP103049-101GG | F-chassis SCPH-30001 R (USA) with separate EEPROM and RTC | 3.00_1 (0x000301) | CXP103049-101GG | F-chassis SCPH-30001 R (USA) with separate EEPROM and RTC | ||
3.00_2 (0x000302) | CXP103049-201GG | F-chassis SCPH-30003/4 R (UK | 3.00_2 (0x000302) | CXP103049-201GG | F-chassis SCPH-30003/4 R (UK + Europe) with separate EEPROM and RTC | ||
3.00_3 (0x000303) | CXP103049-301GG | F-chassis SCPH-30002 R (AU/NZ) with separate EEPROM and RTC | 3.00_3 (0x000303) | CXP103049-301GG | F-chassis SCPH-30002 R (AU/NZ) with separate EEPROM and RTC | ||
3.02_0 (0x020300) | CXP103049-001GG | F-chassis SCPH-30000 (Japan) with combined EEPROM+RTC | 3.02_0 (0x020300) | CXP103049-001GG | F-chassis SCPH-30000 (Japan) with combined EEPROM+RTC | ||
3.02_1 (0x020301) | CXP103049-102GG | F-chassis SCPH-30001 R (USA) with combined EEPROM+RTC | 3.02_1 (0x020301) | CXP103049-102GG | F-chassis SCPH-30001 R (USA) with combined EEPROM+RTC | ||
3.02_2 (0x020302) | CXP103049-202GG | F-chassis SCPH-30003/4 R (UK | 3.02_2 (0x020302) | CXP103049-202GG | F-chassis SCPH-30003/4 R (UK + Europe) with combined EEPROM+RTC | ||
3.02_3 (0x020303) | CXP103049-302GG | F-chassis SCPH-30002 R (AU/NZ) with combined EEPROM+RTC | 3.02_3 (0x020303) | CXP103049-302GG | F-chassis SCPH-30002 R (AU/NZ) with combined EEPROM+RTC | ||
3.04_4 (0x040304) | CXP103049-401GG | F-chassis SCPH-30005/6/7 R (Asia) with combined EEPROM+RTC | 3.04_4 (0x040304) | CXP103049-401GG | F-chassis SCPH-30005/6/7 R (Asia) with combined EEPROM+RTC | ||
3.06_0 (0x060300) | CXP103049-002GG | G-chassis SCPH-37000/SCPH-39000 (Japan) | 3.06_0 (0x060300) | CXP103049-002GG | G-chassis SCPH-37000/SCPH-39000 (Japan) | ||
3.06_1 (0x060301) | CXP103049-103GG | G-chassis SCPH-39001/39010 (USA/Canada) | 3.06_1 (0x060301) | CXP103049-103GG | G-chassis SCPH-39001/39010 (USA/Canada) | ||
3.06_2 (0x060302) | CXP103049-203GG | G-chassis SCPH-39003/4 (UK | 3.06_2 (0x060302) | CXP103049-203GG | G-chassis SCPH-39003/4 (UK + Europe) | ||
3.06_3 (0x060303) | CXP103049-303GG | G-chassis SCPH-39002 (AU/NZ) | 3.06_3 (0x060303) | CXP103049-303GG | G-chassis SCPH-39002 (AU/NZ) | ||
3.06_4 (0x060304) | CXP103049-402GG | G-chassis SCPH-39005/6/7 (Asia) | 3.06_4 (0x060304) | CXP103049-402GG | G-chassis SCPH-39005/6/7 (Asia) | ||
Line 109: | Line 108: | ||
| 0x010|| ????? || ????||0x020||DVD-ROM Servo | | 0x010|| ????? || ????||0x020||DVD-ROM Servo | ||
|- | |- | ||
|0x0C0||0x0C6||0x0C||0x180||DVD-ROM Tilt (not present on mechacon 1. | |0x0C0||0x0C6||0x0C||0x180||DVD-ROM Tilt (not present on mechacon 1.x) | ||
|- | |- | ||
|0x0D0||0x0C9||0x12||0x1A0||Model Name (not present on mechacon 1. | |0x0D0||0x0C9||0x12||0x1A0||Model Name (not present on mechacon 1.2, 1.3) | ||
|- | |- | ||
|0x0E0||0x0E8 ||0x10 ||0x1C0|| PS2 ID (i.Link id + Console id) | |0x0E0||0x0E8 ||0x10 ||0x1C0|| PS2 ID (i.Link id + Console id) | ||
Line 205: | Line 204: | ||
version | chip label | remarks | version | chip label | remarks | ||
-----------------|-----------------|--------------------------------------------------------------------- | -----------------|-----------------|--------------------------------------------------------------------- | ||
5.00 (0x0500) | CXR706080-101GG | | 5.00 (0x0500) | CXR706080-101GG | very early H-chassis: GH-023 | ||
5.01 (0x0501) | CXR706080-???GG | H-chassis Debug Station (DTL-H5000x) | 5.01 (0x0501) | CXR706080-???GG | H-chassis Debug Station (DTL-H5000x) | ||
5.02 (0x0502) | CXR706080-102GG | | 5.02 (0x0502) | CXR706080-102GG | early H-chassis: GH-023 | ||
5.04 (0x0504) | CXR706080-103GG | | 5.04 (0x0504) | CXR706080-103GG | H-chassis and I-chassis: GH-023 and GH-026 | ||
5.05 (0x0505) | CXR706080-???GG | H-chassis Debug Station (DTL-H5000x) | 5.05 (0x0505) | CXR706080-???GG | H-chassis Debug Station (DTL-H5000x) | ||
5.06 (0x0506) | CXR706080-???GG | | 5.06 (0x0506) | CXR706080-???GG | (Not confirmed) | ||
5.06mx (0x0506) | CXR706080- | 5.06mx (0x0506) | CXR706080-???GG | different from other v5.6 MechaCons, only sold in Mexico | ||
5.08 (0x0508) | CXR706080-???GG | (Not confirmed) | 5.08 (0x0508) | CXR706080-???GG | (Not confirmed) | ||
5.10 (0x050a) | CXR706080-702GG | | 5.10 (0x050a) | CXR706080-702GG | PSX v1 (DESR-x000 and DESR-x100): XPD-001 | ||
5.12 (0x050c) | CXR706080-105GG | | 5.12 (0x050c) | CXR706080-105GG | J-chassis: GH-029; has also been found on a CXR706F080-1GG | ||
5.14 (0x050e) | CXR706080-703GG | | 5.14 (0x050e) | CXR706080-703GG | PSX v2 (DESR-x500 and DESR-x700): XPD-005 | ||
-----------------|-----------------|--------------------------------------------------------------------- | -----------------|-----------------|--------------------------------------------------------------------- | ||
6.00 (0x0600) | CXR716080-101GG | | 6.00 (0x0600) | CXR716080-101GG | very early K-chassis: GH-032, GH-035 | ||
6.02 (0x0602) | CXR716080-102GG | | 6.02 (0x0602) | CXR716080-102GG | early K-chassis: GH-032, GH-035 | ||
6.04 (0x0604) | CXR716080-103GG | | 6.04 (0x0604) | CXR716080-103GG | K-chassis: GH-032, GH-035 | ||
6.06 (0x0606) | CXR716080-104GG | | 6.06 (0x0606) | CXR716080-104GG | L-chassis: GH-036, GH-037, GH-040, GH-041 | ||
6.08 (0x0608) | CXR716080-???GG | (Not confirmed) | 6.08 (0x0608) | CXR716080-???GG | (Not confirmed) | ||
6.10 (0x060a) | CXR716080-106GG | | 6.10 (0x060a) | CXR716080-106GG | M-chassis: GH-051, GH-052 | ||
-----------------|-----------------|--------------------------------------------------------------------- | -----------------|-----------------|--------------------------------------------------------------------- | ||
6.12 (0x060c) | CXR726080-301GB | | 6.12 (0x060c) | CXR726080-301GB | all N, P, R chassis consoles: GH-061, GH-062, GH-070, GH-071, GH-072 | ||
</pre> | </pre> | ||
Line 235: | Line 234: | ||
|0x000||0x030||0x60||0x000|| | |0x000||0x030||0x60||0x000|| | ||
|- | |- | ||
|0x030|| ?????||0x50 on v5 | |0x030|| ?????||0x50 on mechacon v5<br>0x54 on v6.00-v6.10<br>0x56 on v6.12||0x060|| | ||
|- | |- | ||
|0x060|| ?????||0x40 all except DESR<br>0x28 on DESR||0x0C0 ||Thermal (Fan) | |0x060|| ?????||0x40 all except DESR<br>0x28 on DESR||0x0C0 ||Thermal (Fan) | ||
Line 253: | Line 252: | ||
|0x0D8||0x0E1||0x12||0x1B0||Model Name | |0x0D8||0x0E1||0x12||0x1B0||Model Name | ||
|- | |- | ||
|0x0E3 ||0x0E8||0x0A||0x1C6||Region code key seed | |0x0E3 ||0x0E8||0x0A||0x1C6||Region code key seed | ||
|- | |- | ||
|0x0E8||0x0ED||0x0A||0x1D0||Region code ciphertext | |0x0E8||0x0ED||0x0A||0x1D0||Region code ciphertext | ||
Line 281: | Line 280: | ||
! colspan="2" |Offset!!Size!!Description | ! colspan="2" |Offset!!Size!!Description | ||
|- {{cellcolors|lightgrey}} | | |- {{cellcolors|lightgrey}} | | ||
| colspan="2" |0x180||0xF||Various region parameters. Type char. Zero padded. On | | colspan="2" |0x180||0xF||Various region parameters. Type char. Zero padded. On dragon FATs (mechacon v5) filled with FF. Does not have checksum. Normally write-protected by mechacon. | ||
|- | |- | ||
| rowspan="5" |<abbr title="Region params: 0x180-0x18B"><small>Region params</small></abbr>||0x180 ||1||On 70k exists but has no effect. On Deckard will patch rom0:ROMVER (4th byte 0220HD20060905) and rom0. Possible values:<br>"J" - for Japan,<br>"A" - for America and Mexico,<br>"E" - for Europe, Oceania and Russia,<br>"H" - for region Asia, Taiwan, Korea,<br>"C" - for region Mainland China.<br>Each region checks license data in the PS2 titles. "A" region has this check disabled. "H" region untested. | | rowspan="5" |<abbr title="Region params: 0x180-0x18B"><small>Region params</small></abbr>||0x180 ||1||On 70k exists but has no effect. On Deckard will patch rom0:ROMVER (4th byte 0220HD20060905) and rom0. Possible values:<br>"J" - for Japan,<br>"A" - for America and Mexico,<br>"E" - for Europe, Oceania and Russia,<br>"H" - for region Asia, Taiwan, Korea,<br>"C" - for region Mainland China.<br>Each region checks license data in the PS2 titles. "A" region has this check disabled. "H" region untested. | ||
Line 301: | Line 300: | ||
! colspan="2" |Offset!!Size!!Description | ! colspan="2" |Offset!!Size!!Description | ||
|- {{cellcolors|lightgrey}} | | |- {{cellcolors|lightgrey}} | | ||
| colspan="2" |0x198||0x8||48-bit MAC address. On | | colspan="2" |0x198||0x8||48-bit MAC address. On dragon FATs (mechacon v5) filled with FF. On 70k exists but has no effect. | ||
|- | |- | ||
| rowspan="4" |<abbr title="MAC address: 0x198-0x19F"><small>MAC address</small></abbr>||0x198||3||Organizationally unique identifier (OUI). On 70k always 00:04:1F and has no effect. On Deckard units can be 00:13:15, 00:15:C1, 00:19:C5, 00:1D:0D, 00:1F:A7, 00:24:8D, 28:0D:FC, A8:E3:EE. Full list unknown. By OUI registration date, console manufacture date can be partially evaluated. | | rowspan="4" |<abbr title="MAC address: 0x198-0x19F"><small>MAC address</small></abbr>||0x198||3||Organizationally unique identifier (OUI). On 70k always 00:04:1F and has no effect. On Deckard units can be 00:13:15, 00:15:C1, 00:19:C5, 00:1D:0D, 00:1F:A7, 00:24:8D, 28:0D:FC, A8:E3:EE. Full list unknown. By OUI registration date, console manufacture date can be partially evaluated. | ||
Line 410: | Line 409: | ||
| colspan="2" |0x1E0 ||0xA ||i.Link ID | | colspan="2" |0x1E0 ||0xA ||i.Link ID | ||
|- | |- | ||
| rowspan="6" |<abbr title="Console id: 0x1E0-0x1E9"><small>Console id</small></abbr>||0x1E0||1||EMCS ID. Id of plant, where the console was manufactured. Can be restored from the console sticker.<br>0x10 - SKZ (SONY KISARAZU, Japan)<br>0x11 - SKD (SONY KOHDA, Japan)<br>0x18 - S.EMCS (Japan) only seen for PSX DESR<br>0x20 - FOXC (Foxconn, China)<br>0x21 - FOXC (Foxconn, China)<br>0x30 - SZMT (SuZhou MainTek)<br>0x40 - S WUXI, only seen for SCPH-50009.<br>Difference between 0x20 | | rowspan="6" |<abbr title="Console id: 0x1E0-0x1E9"><small>Console id</small></abbr>||0x1E0||1||EMCS ID. Id of plant, where the console was manufactured. Can be restored from the console sticker.<br>0x10 - SKZ (SONY KISARAZU, Japan)<br>0x11 - SKD (SONY KOHDA, Japan)<br>0x18 - S.EMCS (Japan) only seen for PSX DESR<br>0x20 - FOXC (Foxconn, China)<br>0x21 - FOXC (Foxconn, China)<br>0x30 - SZMT (SuZhou MainTek)<br>0x40 - S WUXI, only seen for SCPH-50009.<br>Difference between 0x21 and 0x20 is unknown, 0x21 appeared in 2007 with the 7B datecode. "FOXC" EMCS ID (0x20-0x21) changed somewhere in 77k era, earlier 77k units were still with 0x20, while later 77k units already have 0x21. EMCS ID almost always is printed on sticker - this is first 2-digits in the barcode. | ||
|- | |- | ||
| 0x1E1||3||Model ID. Can be calculated from Console Model ID (0x1F0-0x1F1) = ConsoleModelID + 0x200001 | | 0x1E1||3||Model ID. Can be calculated from Console Model ID (0x1F0-0x1F1) = ConsoleModelID + 0x200001 | ||
Line 438: | Line 437: | ||
|0x1F4||3||Console Serial Number (in dec). Can be restored from the console sticker. | |0x1F4||3||Console Serial Number (in dec). Can be restored from the console sticker. | ||
|- | |- | ||
|0x1F7||1||EMCS ID. Id of plant, where the console was manufactured. Can be restored from the console sticker.<br>0x10 - SKZ (SONY KISARAZU, Japan)<br>0x11 - SKD (SONY KOHDA, Japan)<br>0x18 - S.EMCS (Japan) only seen for PSX DESR<br>0x20 - FOXC (Foxconn, China)<br>0x21 - FOXC (Foxconn, China)<br>0x30 - SZMT (SuZhou MainTek)<br>0x40 - S WUXI, only seen for SCPH-50009.<br>Difference between 0x20 | |0x1F7||1||EMCS ID. Id of plant, where the console was manufactured. Can be restored from the console sticker.<br>0x10 - SKZ (SONY KISARAZU, Japan)<br>0x11 - SKD (SONY KOHDA, Japan)<br>0x18 - S.EMCS (Japan) only seen for PSX DESR<br>0x20 - FOXC (Foxconn, China)<br>0x21 - FOXC (Foxconn, China)<br>0x30 - SZMT (SuZhou MainTek)<br>0x40 - S WUXI, only seen for SCPH-50009.<br>Difference between 0x21 and 0x20 is unknown, 0x21 appeared in 2007 with the 7B datecode. "FOXC" EMCS ID (0x20-0x21) changed somewhere in 77k era, earlier 77k units were still with 0x20, while later 77k units already have 0x21. EMCS ID almost always is printed on sticker - this is first 2-digits in the barcode. | ||
|- | |- | ||
| 0x1F8 || 1||Null. | | 0x1F8 || 1||Null. | ||
Line 456: | Line 455: | ||
| rowspan="16" |<abbr title="Config 0 (EEGS): 0x270-0x2BF"><small>EEGS</small></abbr>|| 0x270||1||Unknown, 0x00 or 0x01 or 0x02, looks like it controls HDD | | rowspan="16" |<abbr title="Config 0 (EEGS): 0x270-0x2BF"><small>EEGS</small></abbr>|| 0x270||1||Unknown, 0x00 or 0x01 or 0x02, looks like it controls HDD | ||
|- | |- | ||
|0x271|| 1||Unknown, 0x03 or 0x00 | |0x271|| 1||Unknown, 0x03 or 0x00 | ||
|- | |- | ||
|0x272||13|| Unknown, always zero | |0x272||13|| Unknown, always zero |