Ring-Con: Difference between revisions
Line 39: | Line 39: | ||
|- | |- | ||
| [[#0x00020A04]] || 0x4 || 0x14 | | [[#0x00020A04]] || 0x4 || 0x14 | ||
|- | |||
| [[#0x00021104]] || 0x4 || 0x8 | |||
|- | |||
| [[#0x00021204]] || 0x4 || 0x8 | |||
|- | |||
| [[#0x00021304]] || 0x4 || 0x8 | |||
|- | |||
| [[#0x00021A04]] || 0x4 || 0x14 | |||
|- | |- | ||
| [[#0x00023104]] || 0x4 || 0x8 | | [[#0x00023104]] || 0x4 || 0x8 | ||
Line 119: | Line 127: | ||
|- | |- | ||
| 0x10 || 0x2 || 16bit value copied to output_struct+0x6. | | 0x10 || 0x2 || 16bit value copied to output_struct+0x6. | ||
|} | |||
== 0x00021104 == | |||
This is implemented in the app with the cmd to use being specified via an input param. | |||
See [[#0x00021A04]]. | |||
Reply: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x4 || 0x2 || Data, copied to an output struct as an 16bit value. | |||
|- | |||
| 0x6 || 0x1 || [[#CRC]] over the previous 0x3-bytes. | |||
|} | |||
== 0x00021204 == | |||
See [[#0x00021104]]. | |||
== 0x00021304 == | |||
See [[#0x00021104]]. | |||
== 0x00021A04 == | |||
The app uses cmd [[#0x00020000]] first. When u8 reply_x5 from that cmd is >=0x20, it proceeds to use cmd 0x00021A04. Otherwise, the following cmds are used, with the output being written to the output_struct: [[#0x00021104]] (output_struct+0x0), [[#0x00021204]] (output_struct+0x2), [[#0x00021304]] (output_struct+0x4). | |||
Then, if any of the 16bit output fields in output_struct are set to 0xCAFE, a flag is set to 0x2 (same field used for invalid-CRC, which uses value 0x1 for that). Then this returns 0. | |||
Reply: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x4 || 0x2 || 16bit value copied to output_struct+0x0. | |||
|- | |||
| 0x6 || 0x1 || [[#CRC]] over the previous 0x2-bytes. | |||
|- | |||
| 0x7 || 0x1 || Padding. | |||
|- | |||
| 0x8 || 0x2 || 16bit value copied to output_struct+0x2. | |||
|- | |||
| 0xA || 0x1 || [[#CRC]] over the previous 0x2-bytes. | |||
|- | |||
| 0xB || 0x1 || Padding. | |||
|- | |||
| 0xC || 0x2 || 16bit value copied to output_struct+0x4. | |||
|- | |||
| 0xE || 0x1 || [[#CRC]] over the previous 0x2-bytes. | |||
|- | |||
| 0xF || 0x1 || Padding. | |||
|} | |} | ||