Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| controllers [2023/05/29 17:42] – [Flow control] pulkomandy | controllers [2023/06/05 19:59] (current) – [Checksum/keepalive] simer | ||
|---|---|---|---|
| Line 80: | Line 80: | ||
| | Right | C3 80 to C7 80 | C0 80 | | | Right | C3 80 to C7 80 | C0 80 | | ||
| + | The controller also sends Bx values for keepalive (see below). | ||
| ==== Dance mat ==== | ==== Dance mat ==== | ||
| Line 150: | Line 151: | ||
| These are repeated every 20ms. After the controller sends 55 (idle), the game also returns to its idle reply (E6 followed by D6 for example) every 20ms. | These are repeated every 20ms. After the controller sends 55 (idle), the game also returns to its idle reply (E6 followed by D6 for example) every 20ms. | ||
| + | |||
| + | |||
| + | ==== Checksum/ | ||
| + | |||
| + | The console sends 7x commands (where x is a " | ||
| + | |||
| + | The controller response algorithm to compute the correct reply is: | ||
| + | |||
| + | '' | ||
| + | |||
| + | where A and B are the two most recent lower nibbles sent by the console in 7x commands. If only one nibble has been sent, the other nibble in the algorithm will have 0 as its value. The console can also reset the previous state by sending a Bx command instead which otherwise works like a 7x command. | ||
| + | |||
| + | The console must send the 7x commands, even if it ignores all the Bx replies from the controller. Without these commands, the controller eventually shuts down. | ||
| + | |||
