Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- This is Apple's iPod 6G SilverDB file format (BIN file)
- Everything LSB first (x86-style), so mac users need to pay extra attention.
- *** Header (28 bytes) ***
- Datatype Description Comment
- -------- -------------------- -------------------------------------------------
- int32 Magic? Format?always 3h
- int32 Character code page? Differs only for Russian language and image packs
- int32 DB Table type? 1h for iamge pack, 2h for language pack
- char[4] DB Table type? "paMB" for image pack, "mTDL" for language pack
- int32 numFiles Number of files in this pack
- int32 Unknown always 1h
- int32 Unknown 1Ch for image pack, 2Ch for language pack
- *** File table format (12 bytes for each file) ***
- (Applies to the image pack (SilverImagesDB.LE.bin) only)
- Datatype Description Comment
- -------- ----------- -----------------------------------------------------
- int32 File serial number
- int32 File offset Starts counting at the address after this table,
- so add 28+12*numFiles to this number for file offset.
- int32 File size
- *** Each image file starts with a fixed header. (32 bytes) ***
- Datatype Description Comment
- -------- --------------- ----------------------------
- int16 Format See next table*
- int16 Unknown always 1h
- int16 Width of sprite (pixels)
- int16 Flags? I've only seen instances with just 1 bit set
- int32 Unused?
- int32 Unused?
- int32 Height of frame (pixels)
- int32 Width of frame (pixels)
- int32 Serial Same as serial in file table
- int32 Size Same as size in file table
- Note that an image describes a frame size and a (possibly smaller) sprite size.
- Only the sprite contains data and what happens to the letterboxing is unknown
- (maybe one of the unknown fields defines it? Where I stumbled upon letterboxing,
- it was supposed to be black)
- *** File format table ***
- Value Description Detail
- ----- ---------------------------------- ---------------------------------------------------------
- 0004h 4 BPP Grayscale, 2 pixels per byte, first pixel in upper nibble
- 0008h 8 BPP Grayscale
- 0565h 16 BPP (RGB565) Byte2:Byte1 = RRRRRGGG:GGGBBBBB
- 1888h 32 BPP (ARGB8888) Byte4:Byte3:Byte2:Byte1 = A:R:G:B
- 0064h 8 BPP Paletted (256 colors max) One int32 for palette size,
- then 4 times that amount of ARGB8888 bytes,
- then 8 BPP image data
- 0065h 16 BPP Paletted (65536 colors max) One int32 for palette size,
- then 4 times that amount of ARGB8888 bytes,
- then 16 BPP image data (LSB first)
- Feel free to update this if you find new information.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement