User Tools

Site Tools


uic_eeprom_structure

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
uic_eeprom_structure [2025/02/24 09:20] arisoturauic_eeprom_structure [2025/04/18 09:54] (current) arisotura
Line 4: Line 4:
  
 The first 256 bytes are used internally, while the rest is used for user data storage. The first 256 bytes are used internally, while the rest is used for user data storage.
 +
 +https://bitbucket.org/memahaxx/libdrc/src/master/src/device-config.cpp for more info.
  
 ^ Address ^ Length ^ Description ^ ^ Address ^ Length ^ Description ^
Line 30: Line 32:
 | 0x1125  | 64     | Wifi passphrase | | 0x1125  | 64     | Wifi passphrase |
 | 0x1165  | 1      | Wifi passphrase length | | 0x1165  | 1      | Wifi passphrase length |
 +| 0x1166  | 2      | Wifi country code |
 | 0x116B  | 2      | CRC16 over 0x1101..0x116A | | 0x116B  | 2      | CRC16 over 0x1101..0x116A |
 | 0x116D  | 16     | WoWL key | | 0x116D  | 16     | WoWL key |
Line 43: Line 46:
 | 0x1203  | 1      | Region info 1 | | 0x1203  | 1      | Region info 1 |
 | 0x1204  | 2      | CRC16 over 0x1203 | | 0x1204  | 2      | CRC16 over 0x1203 |
 +| 0x1206  | 1      | Board config 1 |
 +| 0x1207  | 2      | CRC16 over 0x1206 |
 | 0x121A  | 2      | Volume calibration 1 | | 0x121A  | 2      | Volume calibration 1 |
 | 0x121C  | 2      | CRC16 over 0x121A..0x121B | | 0x121C  | 2      | CRC16 over 0x121A..0x121B |
Line 58: Line 63:
 | 0x1283  | 1      | Region info 2 | | 0x1283  | 1      | Region info 2 |
 | 0x1284  | 2      | CRC16 over 0x1283 | | 0x1284  | 2      | CRC16 over 0x1283 |
 +| 0x1286  | 1      | Board config 2 |
 +| 0x1287  | 2      | CRC16 over 0x1286 |
 | 0x129A  | 2      | Volume calibration 2 | | 0x129A  | 2      | Volume calibration 2 |
 | 0x129C  | 2      | CRC16 over 0x129A..0x129B | | 0x129C  | 2      | CRC16 over 0x129A..0x129B |
Line 72: Line 79:
 | 0x12FE  | 2      | CRC16 over 0x12FD | | 0x12FE  | 2      | CRC16 over 0x12FD |
 | --      | --     | -- | | --      | --     | -- |
-| 0x1300  | 1      | Language +| 0x1300  | 1      | Language |
-  (0-3 = America) +
-  (4-11 = Europe) +
-  0 = English  +
-  1 = French  +
-  2 = Spanish  +
-  3 = Portuguese  +
-  4 = English  +
-  5 = French  +
-  6 = Spanish +
-  7 = Portuguese +
-  8 = Dutch +
-  9 = Italian +
-  10 = German +
-  11 = Russian +
-  12 = Japanese +
-  13 = Chinese (simplified) +
-  14 = Korean +
-  15 = Chinese (traditional) +
-|+
 | 0x1301  | 2      | CRC16 over 0x1300 | | 0x1301  | 2      | CRC16 over 0x1300 |
 | 0x1303  | 1      | Opening screen index | | 0x1303  | 1      | Opening screen index |
Line 126: Line 114:
 | 0x13FD  | 1      | Layout of page 3 (should be 4) | | 0x13FD  | 1      | Layout of page 3 (should be 4) |
 | 0x13FE  | 2      | CRC16 over 0x13FD | | 0x13FE  | 2      | CRC16 over 0x13FD |
 +| --      | --     | -- |
 +| 0x1400  | 256    | ??? |
 +| 0x1500  | 2      | CRC16 over 0x1400-0x14FF |
 +| --      | --     | -- |
 +| 0x1580  | 256    | ??? |
 +| 0x1680  | 2      | CRC16 over 0x1580-0x167F |
  
 Data is stored in little-endian order. Data is stored in little-endian order.
Line 175: Line 169:
   * 5 = Taiwan   * 5 = Taiwan
   * 6 = Australia   * 6 = Australia
 +
 +
 +===== Board config =====
 +
 +Value is 0x15 for retail boards.
 +
 +If bit0-1 are any value other than 1, the gamepad will enter service mode upon boot.
 +
 +
 +===== Language =====
 +
 +(0-3 = America, 4-11 = Europe)
 +
 +  * 0 = English 
 +  * 1 = French 
 +  * 2 = Spanish 
 +  * 3 = Portuguese 
 +  * 4 = English 
 +  * 5 = French 
 +  * 6 = Spanish
 +  * 7 = Portuguese
 +  * 8 = Dutch
 +  * 9 = Italian
 +  * 10 = German
 +  * 11 = Russian
 +  * 12 = Japanese
 +  * 13 = Chinese (simplified)
 +  * 14 = Korean
 +  * 15 = Chinese (traditional)
  
  
Line 186: Line 209:
  
 TODO: detail how that reading is converted to the final volume setting passed to the audio amplifier TODO: detail how that reading is converted to the final volume setting passed to the audio amplifier
 +
 +
 +===== Gyroscope calibration =====
 +
 +^ Offset ^ Length ^ Description ^
 +| 0x00   | 3      | Zero X |
 +| 0x03   | 3      | Zero Y |
 +| 0x06   | 3      | Zero Z |
 +| 0x09   | 3      | Rotation X |
 +| 0x0C   | 3      | Rotation Y |
 +| 0x0F   | 3      | Rotation Z |
 +| 0x12   | 1      | Speed |
 +
 +
 +===== Accelerometer calibration =====
 +
 +^ Offset ^ Length ^ Description ^
 +| 0x00   | 2      | 0G X |
 +| 0x02   | 2      | 0G Y |
 +| 0x04   | 2      | 0G Z |
 +| 0x06   | 2      | 1G X |
 +| 0x08   | 2      | 1G Y |
 +| 0x0A   | 2      | 1G Z |
 +
 +
 +===== Touchscreen calibration =====
 +
 +^ Offset ^ Length ^ Description ^
 +| 0x00   | 2      | Point 1 screen X |
 +| 0x02   | 2      | Point 1 screen Y |
 +| 0x04   | 2      | Point 2 screen X |
 +| 0x06   | 2      | Point 2 screen Y |
 +| 0x08   | 2      | Point 1 raw X |
 +| 0x0A   | 2      | Point 1 raw Y |
 +| 0x0C   | 2      | Point 2 raw X |
 +| 0x0E   | 2      | Point 2 raw Y |
 +
 +Raw coordinates are 12-bit TSC readings, while screen coordinates are their corresponding values in pixels.
 +
 +Observed screen coordinates are: 53,30 802,451
 +
 +
 +===== LCD brightness levels =====
 +
 +^ Offset ^ Length ^ Description ^
 +| 0x00   | 1      | Level 0 brightness level (setting A) |
 +| 0x01   | 1      | Level 0 frequency (setting B) |
 +| 0x02   | 1      | Level 1 brightness level |
 +| 0x03   | 1      | Level 1 frequency |
 +| 0x04   | 1      | Level 2 brightness level |
 +| 0x05   | 1      | Level 2 frequency |
 +| 0x06   | 1      | Level 3 brightness level |
 +| 0x07   | 1      | Level 3 frequency |
 +| 0x08   | 1      | Level 4 brightness level |
 +| 0x09   | 1      | Level 4 frequency |
 +| 0x0A   | 1      | Level 5 brightness level |
 +| 0x0B   | 1      | Level 5 frequency |
 +| 0x0C   | 1      | Threshold level |
 +
 +This table maps 6 predefined brightness levels to their adequate LCD parameters. See [[LCD#Setting_the_brightness|the LCD page]] for information as to how these settings are used.
  
uic_eeprom_structure.1740388832.txt.gz · Last modified: 2025/02/24 09:20 by arisotura

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki