Firmware
La taille du firmware
est de 256KB et on y accede via le SPI.Il contient le menu et le
pictochat. Le code d'encryption est decrypté dans le bios lorsqu'il est
copié dans la RAM
Parametres
| FW offset* | RAM address | Bytes | Description |
|---|---|---|---|
| 0x000020 | 2 | user settings offset / 8 (default 0x7FC0 => 0x3FE00) | |
| 0x00002A | 2 | CRC16 (with initial value 0) of 0x2C with config length | |
| 0x00002C | 2 | config length (0x138) | |
| 0x000036 | 6 | MAC address | |
| 0x00003C | 4 | enabled channels | |
| 0x000065 | 1 | ? | |
| 0x000082 | 1 | ? | |
| 0x000100 | 1 | ? | |
| 0x000146 | 14 | ? | |
| 0x000162 | 1 | ? | |
| 0x03Fx00 | 0x023FFC80 | 1 | version (5) |
| 0x03Fx02 | 0x027FFC82 | 1 | favorite color (0-15) |
| 0x03Fx03 | 0x027FFC83 | 1 | birthday month (1-12) |
| 0x03Fx04 | 0x027FFC84 | 1 | birthday day (1-31) |
| 0x03Fx06 | 0x027FFC86 | 20 | name, UTF-16 |
| 0x03Fx1A | 0x027FFC9A | 1/2 | length of name in characters |
| 0x03Fx1C | 0x027FFC9C | 52 | message, UTF-16 |
| 0x03Fx50 | 0x027FFCD0 | 1/2 | length of message in characters |
| 0x03Fx52 | 0x027FFCD2 | 1 | alarm hour |
| 0x03Fx53 | 0x027FFCD3 | 1 | alarm minute |
| 0x03Fx56 | 0x027FFCD6 | 1 | 0x80=enable alarm, bit 0..6=enable? |
| 0x027FFCD8 | 12 | touch-screen calibration | |
| 0x027FFCE4 | bit 0..2 | language | |
| 0x027FFCE4 | bit 3 | GBA mode screen selection. 0=upper, 1=lower | |
| 0x027FFCE4 | bit 6 | auto/manual mode. 0=manual, 1=auto | |
| WIFI power calibration | |||
| 0x03Fx70 | 1/2 | update counter (used to check latest) | |
| 0x03Fx72 | CRC16 of 0x03FF00, 0x70 bytes |
*) Settings are written to alternating addresses: 0x03FFxx and 0x03FExx.
DS does not ask for language when RTC has been cleared except for first use. Could anyone please dump the memory or read out the firmware using a PassMe on a new DS? Autostart overrides the setting screens. Also, erase the firmware and then .
Favorite color
| Value | Color |
|---|---|
| 0 | Gray |
| 1 | Brown |
| 2 | Red |
| 3 | Pink |
| 4 | Orange |
| 5 | Yellow |
| 6 | Lime Green |
| 7 | Green |
| 8 | Dark Green |
| 9 | Sea Green |
| 10 | Turquoise |
| 11 | Blue |
| 12 | Dark Blue |
| 13 | Dark Purple |
| 14 | Violet |
| 15 | Magenta |
Language
| Value | Language |
|---|---|
| 0 | Japanese :) |
| 1 | English |
| 2 | French :( |
| 3 | German |
| 4 | Italian |
| 5 | Spanish |
Touchscreen calibration
The calibration settings are stored as the position of the crosshairs.
It's stored as:
u16 x1, y1; // first calibration point
u8 dx1, dy1; // precision?
u16 x2, y2; // first calibration point
u8 dx2, dy2; // precision?
Voir Ecran Tactile pour voir comment lire l'ecran tactile