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
