Hi Kovid,
Could your term "record 0" and my term "section 0" be talking about different things? I think your record 0 includes everything up to where the my section 0 starts. Mobiunpack numbers sections starting from 0 and does not offset it by 1.
According to mobiunpack for my test case (a randomly chosen epub converted to mobi) my section 0 starts at 2912 (Calibre version) and at 3816 (KindleGen version) which are quite close and both values are greater than your record 0. But the next section does not begin until 3472 for the Calibre versus versus 12484 for the KindleGen version.
Mobiunpack starts to read the code for the extended header 16 bytes inside of section 0 (provided above).
Perhaps the code just references things in different ways? When I talk about section 0, I am talking about where the extended header information is stored in the file. I think that must be record "1" in your code? I will grab the calibre src and take a look to see.
KevinH
|