Rockbox Development > New Ports
SanDisk Sansa c200v2, m200v4, clipv1, clipv2, clip+, and fuzev2
Bagder:
Some initial trivial findings on the .bin format:
The first 0x400 bytes is clearly some kind of header,
The header data at 0x0 is about 0x20 long and is repeated (almost) verbatim at 0x200, and between those the bytes are all 0xff... At 0x400 you can clearly see the ARM exception vectors.
At index 0x0 there's 32 bit 0, at index 0200 there's a 32 bit 1.
I would expect the numbers at 0x4 and/or 0xc to be some kind of checksum.
The bin files are all exactly 0x500400 bytes large except the e200v2 one, but I'm not sure that image is correctly saved/dumped/extracted.
Bagder:
index description (value is 32bit unless otherwise noted)
0x0 0
0x4 checksum?
0x8 type? (e4/e8/ed/ea)
0xc some kind of value that is hardly a checksum as the value differ in
the four files only between 0x01c6ac and 0x01d854. Possibly it is a
16 bit value with 0x0e being another 16bit value always set to 0x01!
0x10 0x03
0x14 16 bit checksum3 ?
Interesting detail about the byte at 0x15: it is 0x22, 0x23, 0x24 and
0x25 in the files we have...
0x16 16 bit zero
0x18 0x40
0x1c 0x01
0x3c 0x5000 (in the e200 alone)
0x200 0x01
0x204-0x021f same as 0x04-0x1f
0x023c same as 0x3c (in the e200 alone)
0x400 ARM exception vector and code following
(at the end of the image there are nice "de ad be ef" paddings! :-)
dan_a:
--- Quote from: Bagder on December 03, 2007, 05:37:31 PM ---(at the end of the image there are nice "de ad be ef" paddings! :-)
--- End quote ---
With 4 bytes at the very end - another checksum?
Bagder:
--- Quote from: dan_a on December 03, 2007, 05:51:18 PM ---With 4 bytes at the very end - another checksum?
--- End quote ---
Weirdly enough, the m200 and c200 images don't have those extra 4 bytes
Bagder:
I figured out the checksum on index 4 and it also uses the value at index 0x0c (I wrote a small tool that can reproduce the value). See my description in-progress:
http://daniel.haxx.se/sansa/v2.html
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version