Lotus3: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
|- | |- | ||
| 60 | | 60 | ||
| [[#WriteOperation]] | | [[#WriteOperation|WriteOperation]] | ||
|- | |- | ||
| 61 | | 61 | ||
| [[#FinishOperation]] | | [[#FinishOperation|FinishOperation]] | ||
|- | |- | ||
| 62 | | 62 | ||
| [[#Sleep]] | | [[#Sleep|Sleep]] | ||
|- | |- | ||
| 63 | | 63 | ||
| [[#UpdateKey]] | | [[#UpdateKey|UpdateKey]] | ||
|} | |} | ||
Line 57: | Line 57: | ||
== OperationId == | == OperationId == | ||
The Gamecard ASIC supports a total of 20 operation commands. These commands are passed to the ASIC using the [[#WriteOperation]] MMC command. | The Gamecard ASIC supports a total of 20 operation commands. These commands are passed to the ASIC using the [[#WriteOperation|WriteOperation]] MMC command. | ||
Additional data buffers are then read/written as pages of 0x200 bytes each, using standard MMC read/write commands. | Additional data buffers are then read/written as pages of 0x200 bytes each, using standard MMC read/write commands. | ||
Line 67: | Line 67: | ||
|- | |- | ||
| 0x01 | | 0x01 | ||
| [[#SendFirmware]] | | [[#SendFirmware|SendFirmware]] | ||
|- | |- | ||
| 0x02 | | 0x02 | ||
| [[#ReceiveCertificate]] | | [[#ReceiveCertificate|ReceiveCertificate]] | ||
|- | |- | ||
| 0x03 | | 0x03 | ||
| [[#SendSocCertificate]] | | [[#SendSocCertificate|SendSocCertificate]] | ||
|- | |- | ||
| 0x04 | | 0x04 | ||
| [[#ReceiveRandomValue]] | | [[#ReceiveRandomValue|ReceiveRandomValue]] | ||
|- | |- | ||
| 0x05 | | 0x05 | ||
| [[#SendRandomValue]] | | [[#SendRandomValue|SendRandomValue]] | ||
|- | |- | ||
| 0x06 | | 0x06 | ||
| [[#ReceiveDeviceChallenge]] | | [[#ReceiveDeviceChallenge|ReceiveDeviceChallenge]] | ||
|- | |- | ||
| 0x07 | | 0x07 | ||
| [[#RespondDeviceChallenge]] | | [[#RespondDeviceChallenge|RespondDeviceChallenge]] | ||
|- | |- | ||
| 0x08 | | 0x08 | ||
| [[#SendHostChallenge]] | | [[#SendHostChallenge|SendHostChallenge]] | ||
|- | |- | ||
| 0x09 | | 0x09 | ||
| [[#ReceiveChallengeResponse]] | | [[#ReceiveChallengeResponse|ReceiveChallengeResponse]] | ||
|- | |- | ||
| 0x0A | | 0x0A | ||
| [[#ChangeModeToSecure]] | | [[#ChangeModeToSecure|ChangeModeToSecure]] | ||
|- | |- | ||
| 0x0B | | 0x0B | ||
| [[#WriteRegister]] | | [[#WriteRegister|WriteRegister]] | ||
|- | |- | ||
| 0x0C | | 0x0C | ||
| [[#ReadRegister]] | | [[#ReadRegister|ReadRegister]] | ||
|- | |- | ||
| 0x0D | | 0x0D | ||
| [[#ChangeGcModeToDebug]] | | [[#ChangeGcModeToDebug|ChangeGcModeToDebug]] | ||
|- | |- | ||
| 0x0E | | 0x0E | ||
| [[#GetCardHeader]] | | [[#GetCardHeader|GetCardHeader]] | ||
|- | |- | ||
| 0x0F | | 0x0F | ||
| [[#ChangeGcModeToSecure]] | | [[#ChangeGcModeToSecure|ChangeGcModeToSecure]] | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| [[#SendCardCommand]] | | [[#SendCardCommand|SendCardCommand]] | ||
|- | |- | ||
| 0x11 | | 0x11 | ||
| [[#EnableCardBus]] | | [[#EnableCardBus|EnableCardBus]] | ||
|- | |- | ||
| 0x12 | | 0x12 | ||
| [[#ExchangeRandomValuesInSecureMode]] | | [[#ExchangeRandomValuesInSecureMode|ExchangeRandomValuesInSecureMode]] | ||
|- | |- | ||
| 0x13 | | 0x13 | ||
| [[#ReadRmaInformation]] | | [[#ReadRmaInformation|ReadRmaInformation]] | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
| [9.0.0+] [[#ChallengeCardExistence]] | | [9.0.0+] [[#ChallengeCardExistence|ChallengeCardExistence]] | ||
|} | |} | ||
Line 462: | Line 462: | ||
== CommandId == | == CommandId == | ||
These commands are issued by the Gamecard ASIC to the actual Gamecard using the [[#AsicOperation|OperationData]] passed to [[#SendCardCommand]]. | These commands are issued by the Gamecard ASIC to the actual Gamecard using the [[#AsicOperation|OperationData]] passed to [[#SendCardCommand|SendCardCommand]]. | ||
Additional data buffers are then read/written as pages of 0x200 bytes each, using standard MMC read/write commands. | Additional data buffers are then read/written as pages of 0x200 bytes each, using standard MMC read/write commands. | ||
Line 602: | Line 602: | ||
= AsicFirmware = | = AsicFirmware = | ||
This is the Gamecard ASIC's user firmware (Lotus ASIC Firmware or LAFW) uploaded through the [[#SendFirmware]] operation. | This is the Gamecard ASIC's user firmware (Lotus ASIC Firmware or LAFW) uploaded through the [[#SendFirmware|SendFirmware]] operation. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" |