Wednesday, September 17, 2008

Memoria que tiene abordo el wiimote

Memoria Flash: En un Wiimote que está en blanco, es decir uno que se haya comprado por separado del Wii, y que nunca se haya conectado a el. La memoria, estará estructurada de la siguiente manera:
Direcciones 0x0000 a la 0x003F:


A1 AA 8B 99 AE 9E 78 30 A7 74 D3 1 AA 8B 99 AE
9E 78 30 A7 74 D3 82 82 82 15 9C 9C 9E 38 40 3E
82 82 82 15 9C 9C 9E 38 40 3E 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Estas son basicamente dos secuencias, cada una repetida dos veces:
A1 AA 8B 99 AE 9E 78 30 A7 74 D3
A1 AA 8B 99 AE 9E 78 30 A7 74 D3
82 82 82 15 9C 9C 9E 38 40 3E
82 82 82 15 9C 9C 9E 38 40 3E
Los tres bytes empezando en 0x16 y 0x20 (Los tres primeros bytes de la tercera y cuarta linea ) guardan la los offsets de los zeros calibrados del accelerometro.
Se cree que el 9C 9C 9E guardan la fuerza de gravedad que hay en esos ejes.
Direcciones 0x0040 a 0x0FC9: Todos estan en ceros en un Wiimote recien comprado Direcciones 0x0FCA a 0x12B9: Es el bloque 1 Mii Data , esta todo en ceros en un Wiimote recien comprado.
Direcciones 0x12BA a 0x15A9: Mii Data bloque 2 , esta todo en ceros en un Wiimote recien comprado.
Direcciones 0x15AA a 0x15FF: esta todo en ceros en un Wiimote recien comprado.
Direcciones 0x1600 a 0xFFFF: No existen, se regresa un error, si uno trata de leer de ellas. Aunque no se obtendrá el error, si uno empeiza a leer antes o en la dirección límite 0x15FF. En ese caso, Sólo se obtendrán ceros , para los bytes invalidos

Para la memoria Flash, la dirección está hecha de sólo 2 bytes. Entonces, la dirección 0x010000 se trata de la misma manera que la dirección 0x0000. Esto se cumple hasta la dirección 0xFF0000. Ese Byte (0x00FF0000) siempre se ignora, a menos que el byte mas significativo (0xFF000000) tenga un 2 (0x04) puesto





Con respecto a la memoria EEPROM, que posee también el dispositivo, parece ser, que la porción leible por el Bluetooth, empieza en la dirección 0x0070.

Leer y Escribir: Se pueden leer datos con el siguiente comando: (52) 17 FF FF FF FF SS SS

No comments: