flash_layout
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
flash_layout [2024/11/19 13:18] – arisotura | flash_layout [2025/01/19 20:42] (current) – garyodernichts | ||
---|---|---|---|
Line 6: | Line 6: | ||
===== Memory map ===== | ===== Memory map ===== | ||
- | ^ Address | + | ^ Address |
- | | 0x0000000 | Second-stage bootloader | | + | | 0x0000000 |
- | | 0x000E000 | Subsector used to write error data | | + | | 0x000E000 |
- | | 0x000F000 | Active firmware partition | | + | | 0x000F000 |
- | | 0x0100000 | Firmware partition 0 | | + | | 0x0100000 |
- | | 0x0500000 | Firmware partition 1 | | + | | 0x0500000 |
- | | 0x0900000 | Language bank partition 0 | | + | | 0x0900000 |
- | | 0x1100000 | Language bank partition 1 | | + | | 0x1100000 |
- | | 0x1900000 | Unknown (maybe related to IR remote functionality) | + | | 0x1900000 | TVcode |
- | | 0x1C00000 | Diagnostics firmware partition | | + | | 0x1B00000 | Screen1 |
+ | | 0x1B80000 | Screen2 | ||
+ | | 0x1C00000 | ||
+ | | 0x1FDE000 | InspData | ||
+ | | 0x1FDF000 | Seq& | ||
+ | | 0x1FE0000 | InspLog1 | ||
+ | | 0x1FF0000 | InspLog2 | ||
+ | |||
+ | The internal names come from the diagnostics firmware' | ||
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 | + | | 0x00 |
+ | 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 | + | 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 | ||
+ | | 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' | ||
- | There are two possible resource types: 0x00000008 for bitmap data and 0x00100000 for sound data. | ||
- | For bitmap | + | ===== Remote control |
- | 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 |
flash_layout.1732022327.txt.gz · Last modified: 2024/11/19 13:18 by arisotura