Well I looked both files and they are completely different....The repacker doesn't work at all or not so good
In the nik1105 repacked file, filenames aren't stored only in the beginning part. This is the main fail cause, I think.
I'll write all the infos about the file format here (that I discovered...when nik releases the source we can improve them...to people are better than one!!)
Sizes are always stored unsigned long, little endian (the first byte is the last hex digit)
::: Header :::
Folder names are always 44 byte long. Unused bytes are NULL.
Each folder block is linked to a file block or another folder block.
Each new folder or fille list (2 or more blocks) begins with 0x40 0x00 x00 x00
- Sysdata main folder -
Begins with "\x01\x00\x00\x00\x00\x00\x00\x00Sysdata", followed by 37 null bytes "\x00" then "\x40\x00\x00\x00" (I finally discovered that this sequence is used when a folder or a file list is beginning.)
Now 4 bytes indicating SySdata.bin file size (it is better to update it at the end of repacking, maybe init it with \xff\xff\xff\xff)-> The repacker has put there a wrong value.
Here 8 null bytes, with unknown functionality.
4 bytes: Number of folders contained in Sysdata\ (not sub-subfolders!)
Other 4 unknown nul bytes
- Folders -
- Files -
Blocks of 52 bytes per file.
Filenames seems to be max 44 chars long. Then 4 byte is the position of the data of the file, the following 4 bytes are the file lenght. Both sizes are stored in unsigned long (little endian)
::: DATA :::
At address 0xfc10 begins the data part (of course not always...only if original repack!)
Last edited by Lorenz092; 03-06-2011 at 04:52 AM.
|r0, rockbox, samsung yp-r0|
|Thread Tools||Search this Thread|
All times are GMT -5. The time now is 01:02 AM.