MechaCon/UART commands/SPC970: Difference between revisions

From PS2 Developer wiki
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 2: Line 2:
See [[MechaCon]] and [[MechaCon/UART commands]] for basic information.
See [[MechaCon]] and [[MechaCon/UART commands]] for basic information.
= Command list =
= Command list =
'''Note: This is subject to ongoing research and partially inaccurate'''
'''Note: This is subject to ongoing research and partially inaccurate'''<br/>
'''All communication uses ASCII-encoded Hex-values.'''


''Not all of these commands are available on every MechaCon version''
''Not all of these commands are available on every MechaCon version''
Line 141: Line 142:
| 0xcdf || MECHA_CMD_DSP_ERROR_RATE ||  ||  ||
| 0xcdf || MECHA_CMD_DSP_ERROR_RATE ||  ||  ||
|-
|-
| 0xce0 || MECHA_CMD_EEPROM_WRITE || aaaadddd || || ce0aaaadddd    (a = address, d = data)
| 0xce0 || MECHA_CMD_EEPROM_WRITE || aaaadddd || 0aaaadddd (returns written data, not previous data)|| ce0aaaadddd    (a = address, d = data)
|-
|-
| 0xce1 || MECHA_CMD_EEPROM_READ || aaaa || || ce1aaaa    (a = address)
| 0xce1 || MECHA_CMD_EEPROM_READ || aaaa || 0aaaadddd || ce1aaaa    (a = address)
|-
|-
| 0xce4 || MECHA_CMD_RTC_READ ||  ||  ||
| 0xce4 || MECHA_CMD_RTC_READ ||  ||  ||
Line 158: Line 159:
|-
|-
| 0xcf2 || MECHA_CMD_FOCUS_JUMP_NEW ||  ||  ||
| 0xcf2 || MECHA_CMD_FOCUS_JUMP_NEW ||  ||  ||
|-
| 0xcf4 || MECHA_CMD_WRITE_1A6 || dddddddddddddddd ||  || cf4dddddddddddddddd    (d = data)
|-
| 0xcf5 || MECHA_CMD_READ_1A6 ||  || sssdddddddddddddddd || (s = status, d = data)
|-
| 0xcf6 || MECHA_CMD_READ_1EA_1FA ||  || sdddddddddddddddd || (s = status, d = data)
|-
| 0xcf7 || MECHA_CMD_WRITE_1EA_1FA || dddddddddddddddd ||  || cf7dddddddddddddddd    (d = data)
|-
| 0xcfa || MECHA_CMD_WRITECONFIG || aadddddddddddddddd ||  || cfaAAdddddddddddddddd    (A = address, d = data)
|-
| 0xcfb || MECHA_CMD_READCONFIG || aa ||  || cfbaa    (a = address)
|-
|-
| 0xcfc || MECHA_CMD_READ_MODEL_2 ||  ||  ||
| 0xcfc || MECHA_CMD_READ_MODEL_2 ||  ||  ||
|-
|-
| 0xcfd || MECHA_CMD_READ_MODEL ||  || ||
| 0xcfd || MECHA_CMD_READ_MODEL ||  || vvvvrr (v = [[MechaCon#Firmware_revisions|version]], r = [[MechaCon#Bits|region]]) ||
|-
|-
| 0xcfe || MECHA_CMD_EEPROM_ERASE ||  ||  ||
| 0xcfe || MECHA_CMD_EEPROM_ERASE ||  ||  ||
Line 182: Line 171:
= Command documentation =
= Command documentation =
''To do: document more complex commands here''
''To do: document more complex commands here''
= Error codes =
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"
|- bgcolor="#cccccc"
! Code !! Description
|-
| 0x2A0 || Rx-command error
|-
| 0x2A1 || Rx-command invalid argument count error
|-
| 0x2A2 || Rx-command invalid argument error
|-
|}

Latest revision as of 00:16, 19 October 2024

Overview[edit | edit source]

See MechaCon and MechaCon/UART commands for basic information.

Command list[edit | edit source]

Note: This is subject to ongoing research and partially inaccurate
All communication uses ASCII-encoded Hex-values.

Not all of these commands are available on every MechaCon version

Command Description Parameters Return values Usage/Remarks
0xc00 MECHA_CMD_INIT_SHIMUKE
0xc01 MECHA_CMD_INIT_MECHACON
0xc10 MECHA_CMD_DISC_MODE_CD_8
0xc11 MECHA_CMD_DISC_MODE_CD_12
0xc12 MECHA_CMD_DISC_MODE_DVDSL_8
0xc13 MECHA_CMD_DISC_MODE_DVDDL_8
0xc14 MECHA_CMD_DISC_MODE_DVDSL_12
0xc15 MECHA_CMD_DISC_MODE_DVDDL_12
0xc16 MECHA_CMD_DISC_DETECT
0xc20 MECHA_CMD_LASER_DIODE
0xc22 MECHA_CMD_FOCUS_UPDOWN
0xc23 MECHA_CMD_FOCUS_AUTO_START
0xc24 MECHA_CMD_FOCUS_AUTO_STOP
0xc25 MECHA_CMD_FCS_SEARCH_CHECK
0xc30 MECHA_CMD_TRACKING
0xc41 MECHA_CMD_SLED_CTL_MICRO
0xc42 MECHA_CMD_SLED_CTL_BIPHS
0xc43 MECHA_CMD_SLED_CTL_POS
0xc44 MECHA_CMD_SLED_POS_HOME
0xc45 MECHA_CMD_SLED_IN_SW
0xc50 MECHA_CMD_SP_CTL
0xc51 MECHA_CMD_SP_CLV_S
0xc52 MECHA_CMD_SP_CLV_A
0xc60 MECHA_CMD_TRAY
0xc61 MECHA_CMD_TRAY_SW
0xc8d MECHA_CMD_CLEAR_CONF
0xc8e MECHA_CMD_UPLOAD_NEW 00
0xc93 MECHA_CMD_UPLOAD_TO_RAM
0xc97 MECHA_CMD_DETECT_ADJ
0xc99 MECHA_CMD_WRITE_CHECKSUM
0xc9a MECHA_CMD_READ_CHECKSUM
0xc9b MECHA_CMD_SETUP_OSD 00 = NTSC, 01 = PAL, presumed to be supported by DEX B and later
0xc9e MECHA_CMD_SETUP_SANYO
0xca1 MECHA_CMD_AUTO_ADJ_ST_1
0xca2 MECHA_CMD_AUTO_ADJ_ST_2
0xca3 MECHA_CMD_AUTO_ADJ_ST_12
0xca4 MECHA_CMD_AUTO_ADJ_ST_2MD Performed during skew adjustment initialization
0xca5 MECHA_CMD_AUTO_ADJ_FIX_GAIN
0xca7 MECHA_CMD_RFDC_LEVEL
0xca8 MECHA_CMD_TPP
0xcaa MECHA_CMD_MIRR_CHECK
0xcab MECHA_CMD_FE_OFFSET
0xcb0 MECHA_CMD_CD_PLAY_1 1x CLV
0xcb1 MECHA_CMD_CD_PLAY_2 2x CLV
0xcb2 MECHA_CMD_CD_PLAY_3 4x CLV
0xcb3 MECHA_CMD_CD_PLAY_4 5-12x CAV
0xcb4 MECHA_CMD_CD_STOP
0xcb5 MECHA_CMD_CD_PAUSE
0xcb6 MECHA_CMD_CD_TRACK_CTL
0xcb8 MECHA_CMD_CD_TRACK_LONG_CTL
0xcb9 MECHA_CMD_CD_PLAY_5 10-24x CAV
0xcc0 MECHA_CMD_DVD_PLAY_1 1x CLV
0xcc1 MECHA_CMD_DVD_PLAY_2 1.6x CLV
0xcc2 MECHA_CMD_DVD_PLAY_3 1.6-4x CAV
0xcc3 MECHA_CMD_DVD_STOP
0xcc4 MECHA_CMD_DVD_PAUSE
0xcc5 MECHA_CMD_DVD_TRACK_CTL
0xcc7 MECHA_CMD_DVD_TRACK_LONG_CTL
0xcc8 MECHA_CMD_FOCUS_JUMP
0xcca MECHA_CMD_ADJ_AUTO_TILT
0xccb MECHA_CMD_INIT_AUTO_TILT
0xccd MECHA_CMD_MOV_AUTO_TILT
0xcd1 MECHA_CMD_SET_DSP
0xcd3 MECHA_CMD_GAIN
0xcde MECHA_CMD_DSP_ERROR_RATE_CTL
0xcdf MECHA_CMD_DSP_ERROR_RATE
0xce0 MECHA_CMD_EEPROM_WRITE aaaadddd 0aaaadddd (returns written data, not previous data) ce0aaaadddd (a = address, d = data)
0xce1 MECHA_CMD_EEPROM_READ aaaa 0aaaadddd ce1aaaa (a = address)
0xce4 MECHA_CMD_RTC_READ
0xce5 MECHA_CMD_RTC_WRITE
0xce6 MECHA_CMD_ECR_READ
0xce7 MECHA_CMD_ECR_WRITE
0xce8 MECHA_CMD_CD_ERROR
0xce9 MECHA_CMD_JITTER
0xcf2 MECHA_CMD_FOCUS_JUMP_NEW
0xcfc MECHA_CMD_READ_MODEL_2
0xcfd MECHA_CMD_READ_MODEL vvvvrr (v = version, r = region)
0xcfe MECHA_CMD_EEPROM_ERASE

Command documentation[edit | edit source]

To do: document more complex commands here

Error codes[edit | edit source]

Code Description
0x2A0 Rx-command error
0x2A1 Rx-command invalid argument count error
0x2A2 Rx-command invalid argument error