User Tools

Site Tools


flash_layout

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
flash_layout [2024/11/19 13:18] arisoturaflash_layout [2025/01/19 20:42] (current) garyodernichts
Line 6: Line 6:
 ===== Memory map ===== ===== Memory map =====
  
-^ Address   ^ Description ^ +^ Address   ^ Internal name ^ Description ^ 
-| 0x0000000 | Second-stage bootloader | +| 0x0000000 | SPL           | Second-stage bootloader | 
-| 0x000E000 | Subsector used to write error data | +| 0x000E000 | ErrorLog      | Subsector used to write error data | 
-| 0x000F000 | Active firmware partition | +| 0x000F000 | Bank          | Active firmware partition | 
-| 0x0100000 | Firmware partition 0 | +| 0x0100000 | Product1      | Firmware partition 0 | 
-| 0x0500000 | Firmware partition 1 | +| 0x0500000 | Product2      | Firmware partition 1 | 
-| 0x0900000 | Language bank partition 0 | +| 0x0900000 | Lang1         | Language bank partition 0 | 
-| 0x1100000 | Language bank partition 1 | +| 0x1100000 | Lang2         | Language bank partition 1 | 
-| 0x1900000 | Unknown (maybe related to IR remote functionality) +| 0x1900000 | TVcode        | Remote control data | 
-| 0x1C00000 | Diagnostics firmware partition |+| 0x1B00000 | Screen1       | ?? | 
 +| 0x1B80000 | Screen2       | ?? 
 +| 0x1C00000 | Service       | Diagnostics firmware partition | 
 +| 0x1FDE000 | InspData      | Diagnostics use | 
 +| 0x1FDF000 | Seq&Conf      | Diagnostics use | 
 +| 0x1FE0000 | InspLog1      | Diagnostics use | 
 +| 0x1FF0000 | InspLog2      | Diagnostics use | 
 + 
 +The internal names come from the diagnostics firmware's FLASH viewer utility.
  
  
Line 34: Line 42:
  
   - If the UIC state is 7, the diagnostics firmware is loaded   - If the UIC state is 7, the diagnostics firmware is loaded
-  - Otherwise, the byte at 0xF000 indicates which firmware partition to load from: 0 = 0x1000000, 1 = 0x5000000+  - Otherwise, the byte at 0xF000 indicates which firmware partition to load from: 0 = 0x100000, 1 = 0x500000
  
  
Line 83: Line 91:
  
 ^ Offset ^ Length ^ Description ^ ^ Offset ^ Length ^ Description ^
-| 0x00        | Resource ID |+| 0x00   2      | Resource type 
 +  Bitmap = 0 
 +  Sound = 1 
 +  Unknown = 2 
 +
 +| 0x02   | 2      | Resource ID |
 | 0x04   | 4      | Data offset (relative to the start of resource data) | | 0x04   | 4      | Data offset (relative to the start of resource data) |
 | 0x08   | 4      | Data length | | 0x08   | 4      | Data length |
-| 0x0C   | 4      | Resource type +| 0x0C   | 12     | Parameters | 
-0x10   | 4      | Parameter 1 + 
-0x14   | 4      | Parameter 2 |+For bitmap data, the following parameters are used: 
 + 
 +^ Offset ^ Length ^ Description ^ 
 +| 0x00   | 4      | ??? (Format / BPP)? Always 8. 
 +0x04   | 4      | Width 
 +0x08   | 4      | Height | 
 + 
 +The data starts with 256 32-bit ARGB palette entries, followed by 8-bit paletted bitmap data. 
 + 
 +For sound data, the following parameters are used: 
 + 
 +^ Offset ^ Length ^ Description ^ 
 +| 0x00        ??? (Format)? | 
 +| 0x02   | 2      | Bits per sample? Always 16. | 
 +| 0x04   | 4      | Channels? Always 1. | 
 +| 0x08   | 4      | Frequency | 
 + 
 +The data itself are PCM samples. 
 + 
 +===== Language bank ===== 
 + 
 +The current language bank partition is selected by UIC configuration data. (TODO: precise which) 
 + 
 +The FLASH might only contain a valid resource table in one of the two partitions. If this doesn't match the UIC configuration data, the firmware will fail to load localized assets, with error 165-8418.
  
-There are two possible resource types: 0x00000008 for bitmap data and 0x00100000 for sound data. 
  
-For bitmap data, parameters 1 and 2 are respectively the width and height of the bitmap. The data starts with 256 32-bit ARGB palette entries, followed by 8-bit paletted bitmap data.+===== Remote control data =====
  
-For sound data, it isn't clear what parameters 1 and 2 mean. Parameter 2 is related to the data length. The data itself seems to be PCM16 samples.+It is not yet known how the remote control data works.
  
flash_layout.1732022327.txt.gz · Last modified: 2024/11/19 13:18 by arisotura

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki