SanDisk Sansa E200 Firmware Partition
Sansa e200 series has a 20MB hidden firmware partition. It holds both the bootloader and main firmware. This partition is hidden by e200r firmwares.
The partition is 20MB and is at the end of the disk. It doesn't have any partition table, but has files at specific address locations inside it. Each file has a 512B (1 sector) header which has a 4 character string describing its contents, followed by a 32-bit little endian number indicating the length of the file in bytes. There is then a 32 bit number with an unknown purpose.
Addresses are relative to the start of the partition. The partition is divided up into 3 block. The first block is 512KB for the bootloader. The last 5MB of the partition is for the ppfn (image?) data. The remaining space in between is used for the main firmware.
|| Bootloader header - PPBL followed by the bootloader length, followed by 0x10000
|| Main firmware header - PPMI followed by firmware length, followed by 0x20000
|| Main firmware in mi4 format
|| PPPS Non-volatile parameters - used by the OF to save data (eg. current track, database status, etc.) through a power cycle. There appears to be a header here too
|| If this is set to 1, the database is rebuilt on next reboot
|| Unknown data of length 0x200
|| PPID followed by length (0x10), followed by 0x40000
|| ppid data. Unknown purpose. Reads
DF 83 75 C6 F6 FC 1A 44 84 66 45 99 6C E1 DC 70 on Sansa e280
|| PPFN followed by length followed by 0x30000
|| ppfn data. Possibly images or animation used by the bootloader
Copyright © by the contributing authors.