Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Formats > Other formats

Notices

Reply
 
Thread Tools Search this Thread
Old 04-28-2009, 08:51 PM   #16
DaleDe
Grand Sorcerer
DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.DaleDe ought to be getting tired of karma fortunes by now.
 
DaleDe's Avatar
 
Posts: 11,470
Karma: 13095790
Join Date: Aug 2007
Location: Grass Valley, CA
Device: EB 1150, EZ Reader, Literati, iPad 2 & Air 2, iPhone 7
Quote:
Originally Posted by user_none View Post
The pdb header is documented on the wiki. Within the pdb container is the a header for the ereader format. It is record 0 of the pdb file. The ereader header is a 132 byte package that defines certain values regarding to the ereader format within the pdb container. The 132 byte ereader header is not defined in the wiki and I have not been able to find it defined fully anywhere.
I think it starts out as a PalmDOC file and that header is defined in the wiki. Perhaps that will get you started. Almost all Palm reader programs have their roots in PalmDOC.

Once you figure it out please add it to the wiki.

Dale
DaleDe is offline   Reply With Quote
Old 04-28-2009, 09:26 PM   #17
nrapallo
GuteBook/Mobi2IMP Creator
nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.
 
nrapallo's Avatar
 
Posts: 2,958
Karma: 2530691
Join Date: Dec 2007
Location: Toronto, Canada
Device: REB1200 EBW1150 Device: T1 NSTG iLiad_v2 NC Device: Asus_TF Next1 WPDN
Quote:
Originally Posted by user_none View Post
The pdb header is documented on the wiki. Within the pdb container is the a header for the ereader format. It is record 0 of the pdb file. The ereader header is a 132 byte package that defines certain values regarding to the ereader format within the pdb container. The 132 byte ereader header is not defined in the wiki and I have not been able to find it defined fully anywhere.
If you know how to read Perl code, this may help http://cpansearch.perl.org/src/AZED/...ols/EReader.pm . It is part of EBook-Tools by Zed Pobre.

Here is an excerpt of the ParseRecord0 code:
Code:
    my $version;     # EReader version
                     # Expected values are:
                     # 02 - PalmDoc Compression
                     # 10 - Inflate Compression
                     # >255 - data is in Record 1
    my $headerdata;  # used for holding temporary data segments
    my $offset;
    my %header;
    my @list;

    debug(1,"DEBUG: EReader Record 0 is ",length($data)," bytes");
    $headerdata = substr($data,0,16);
    @list = unpack('nnNnnnn',$headerdata);
    $header{version}        = $list[0]; # Bytes 0-1
    $header{unknown2}       = $list[1]; # Bytes 2-3
    $header{unknown4}       = $list[2]; # Bytes 4-7
    $header{unknown8}       = $list[3]; # Bytes 8-9
    $header{unknown10}      = $list[4]; # Bytes 10-11
    $header{nontextoffset}  = $list[5]; # Bytes 12-13
    $header{nontextoffset2} = $list[5]; # Bytes 14-15

    $headerdata = substr($data,16,16);
    @list = unpack('nnNnnnn',$headerdata);
    $header{unknown16}    = $list[0];
    $header{unknown18}    = $list[1];
    $header{unknown20}    = $list[2];
    $header{unknown22}    = $list[3];
    $header{unknown24}    = $list[4];
    $header{footnoterecs} = $list[5];
    $header{sidebarrecs}  = $list[6];

    $headerdata = substr($data,32,24);
    @list = unpack('nnnnnnnnnnnn',$headerdata);
    $header{bookmarkoffset}   = $list[0];
    $header{unknown34}        = $list[1];
    $header{nontextoffset3}   = $list[2];
    $header{unknown38}        = $list[3];
    $header{imagedataoffset}  = $list[4];
    $header{imagedataoffset2} = $list[5];
    $header{metadataoffset}   = $list[6];
    $header{metadataoffset2}  = $list[7];
    $header{footnoteoffset}   = $list[8];
    $header{sidebaroffset}    = $list[9];
    $header{lastdataoffset}   = $list[10];
    $header{unknown54}        = $list[11];

Last edited by nrapallo; 04-28-2009 at 09:30 PM.
nrapallo is offline   Reply With Quote
Advert
Old 04-29-2009, 06:36 PM   #18
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
Quote:
Originally Posted by nrapallo View Post
If you know how to read Perl code, this may help http://cpansearch.perl.org/src/AZED/...ols/EReader.pm . It is part of EBook-Tools by Zed Pobre.

Here is an excerpt of the ParseRecord0 code:
...
I have seen this. The issue is it only goes up to 54 bytes. There are records in the header after 54. the record 0 header totals 132 bytes. While most of the bytes after 54 are 0 two are not. Also, a number of those unknown sections have to have the right value. My first try at a writer only implemented the marked sections (they are all that's needed for reading) and it didn't work. Some of the unknown sections look to have the same value across files but a number have unique values. Thanks for your help though.
user_none is offline   Reply With Quote
Old 04-30-2009, 08:00 AM   #19
wallcraft
reader
wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.
 
wallcraft's Avatar
 
Posts: 6,975
Karma: 5183568
Join Date: Mar 2006
Location: Mississippi, USA
Device: Kindle 3, Kobo Glo HD
It won't work for Linux users, unless the limitations of MakeBook are acceptable (or can Wine be used with DropBook?), but a simple work around for eReader output is to write out PML and let DropBook do this rest. This is the approach taken in ereader2ereader in two steps. There are other advantages of doing this, such as simplifying debugging of conversion issues (experts on PML can see the document source). Also, what Calibre's eReader output should look like is either identically PML -> DropBook or that plus some extra frills. So developing direct eReader output will be simplified if the PML option is in place.
wallcraft is offline   Reply With Quote
Old 04-30-2009, 03:48 PM   #20
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
Quote:
Originally Posted by wallcraft View Post
It won't work for Linux users, unless the limitations of MakeBook are acceptable (or can Wine be used with DropBook?), but a simple work around for eReader output is to write out PML and let DropBook do this rest. This is the approach taken in ereader2ereader in two steps. There are other advantages of doing this, such as simplifying debugging of conversion issues (experts on PML can see the document source). Also, what Calibre's eReader output should look like is either identically PML -> DropBook or that plus some extra frills. So developing direct eReader output will be simplified if the PML option is in place.
Bundling MakeBook would not be acceptable. It is are written using Java and would require Calibre to bundle the JVM in addition to the Python VM. DropBook would be even worse because it would require testing against Wine, and bundling Wine in addition to the Windows JVM.

The conversion framework for 0.6 is Input -> OEB -> output. The eReader output would be Input -> OEB -> (html -> pml -> complied into an eReader formatted pdb file). Everything except the last step of the output is working. Since the OEB -> pml is working I'm going to modify it to be an output format (at some point before the 0.6 release). So you will be able to create an eReader file using DropBook from another input format with the help of Calibre. However, you will have to do that step manually.
user_none is offline   Reply With Quote
Advert
Old 04-30-2009, 04:16 PM   #21
wallcraft
reader
wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.wallcraft ought to be getting tired of karma fortunes by now.
 
wallcraft's Avatar
 
Posts: 6,975
Karma: 5183568
Join Date: Mar 2006
Location: Mississippi, USA
Device: Kindle 3, Kobo Glo HD
Quote:
Originally Posted by user_none View Post
Since the OEB -> pml is working I'm going to modify it to be an output format (at some point before the 0.6 release). So you will be able to create an eReader file using DropBook from another input format with the help of Calibre. However, you will have to do that step manually.
Thanks - this was what I was asking for. I understand that it isn't a good idea to bundle MakeBook or DropBook into Calibre.

Having already imposed on you for PML output, recall that =X= asked for PML input:
Quote:
Originally Posted by =X= View Post
On an aside, it would be nice if the tool could convert a zip file containing the (PML source and images) to any format.
It isn't your job, necessarily, to make life easier for DRM circumvention, but if DRM-free eReader .pdb's are added as input to Calibre the process for makeing an ePub will be DRM-ed eReader -> PML (ereader2pml.py) -> DRM-free eReader (DropBook) -> ePub (Calibre). If Calibre supported PML input then the DropBook step could be skipped for input.
wallcraft is offline   Reply With Quote
Old 04-30-2009, 04:34 PM   #22
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
Quote:
Originally Posted by wallcraft View Post
Having already imposed on you for PML output, recall that =X= asked for PML input...
I haven't forgotten and it is on my todo list once I finish turning all of the device drivers into plugins. The main thing I need look into for PML input is how to best support images. I'm thinking of making it a sub-type of the zip input where images and PML files will be required to be in a zip file. While this is a bit more cumbersome than just feeding it the PML file it would allow for more flexibility (multiple pml files making up one book for instance).
user_none is offline   Reply With Quote
Old 05-10-2009, 10:02 AM   #23
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
I just wanted to let every one know about the progress I've made with pml and ereader output.

PML input and output are both supported in 0.6. A zip file with the extension pmlz with pml and images is produced with output. A zip file with the extension pmlz can be used for input as well as a stand alone pml file. However, a stand alone pml file will have referenced images ignored. Use pmlz if you want images included.

The big news is, I can create working text based ereader books. Images are not yet working but I hope to have that fixed by the end of today. Once I get everything working I will be adding the format information I've figured out to the wiki.

The plan is to get a beta for 0.6 out later this month once it's released testing would be much appreciated.
user_none is offline   Reply With Quote
Old 05-10-2009, 01:15 PM   #24
user_none
Sigil & calibre developer
user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.user_none ought to be getting tired of karma fortunes by now.
 
user_none's Avatar
 
Posts: 2,488
Karma: 1063785
Join Date: Jan 2009
Location: Florida, USA
Device: Nook STR
eReader output is finished and working. I've put the information regarding the file format on the wiki under the eReader section.
user_none is offline   Reply With Quote
Old 05-11-2009, 12:00 AM   #25
=X=
Wizard
=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.=X= ought to be getting tired of karma fortunes by now.
 
=X='s Avatar
 
Posts: 3,671
Karma: 12205348
Join Date: Mar 2008
Device: Galaxy S, Nook w/CM7
Very cool thank you for the update. Let me know when/if you need some testers.

=X=
=X= is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Classic G:RSS: Optimized Google Reader (RSS) for the Nook [BETA Testers needed] Fmstrat Barnes & Noble NOOK 24 12-28-2010 12:22 PM
Ereader needed for my holiday chickentaste Which one should I buy? 4 08-02-2010 10:12 AM
eReader output SERIOUSLY flawed JSWolf Calibre 16 03-21-2010 07:50 AM
eReader output (pdb) has too much space on my iPhone bthoven Calibre 7 10-27-2009 07:43 AM
Web Browsing from the Ebw-1150 - BETA Testers needed Nate the great Fictionwise eBookwise 26 09-21-2008 11:52 PM


All times are GMT -4. The time now is 07:24 AM.


MobileRead.com is a privately owned, operated and funded community.