MOBI を研究するには PDB から始める必要があります。
しかし、MOBI と PalmOS の関係はまだわかりません
原文リンク:https://wiki.mobileread.com/wiki/PDB#Palm_Database_File_Code
PalmOS はすべての RAM ストレージをデータベース形式で保存します。RAM にはファイルシステムがありません。PC に同期すると、これらのデータベースは別々のファイルに保存され、これが拡張子を追加する理由です。デバイスの RAM 内のすべてのファイルは、プログラムであれデータであれ、Palm データベース形式でなければなりません。外部ストレージ用に作成された PDB ファイルはデータファイルであり、任意の内容を含むことができます。
表は問題があるので、画像を見てください
偏移アドレス | バイト数 | 内容 | 注釈 |
---|---|---|---|
0 | 32 | データベース名 | データベース名、0 で終了。PalmOS 上でファイル名として使用されます。電子書籍の場合、一般的には書名で、長さが十分であれば著者名も含まれます |
32 | 2 | 属性 | bit field.(重要ではないので翻訳しません) 0x0002 読み取り専用 0x0004 Dirty AppInfoArea 0x0008 このデータベースをバックアップ(すなわち、コネクタが存在しない) 0x0010(16 進数)PalmPilot に既存のコピーがある場合、新しいものを上書きしてインストールしても良い 0x0020(32 進数)このデータベースがインストールされた後、PalmPilot を強制的にリセットする 0x0040(64 進数)ファイルのコピーを他の Pilot にビーム送信できないようにする。 |
34 | 2 | バージョン | |
36 | 4 | 作成時間 | Unix タイムスタンプ |
40 | 4 | 修正時間 | |
44 | 4 | 最後のバックアップ時間 | |
48 | 4 | 修正番号? | |
52 | 4 | ソフトウェア情報 ID? | ソフトウェア情報の偏移アドレス(存在する場合)または null |
56 | 4 | カテゴリ ID? | カテゴリ情報の偏移アドレス(存在する場合)または null |
60 | 4 | ファイルタイプ | この表を参照 |
64 | 4 | 作成者(ソフトウェア) | この表を参照 |
68 | 4 | ユニーク ID シード? | 内部使用 |
72 | 4 | 次のレコードテーブル ID | PalmOS のメモリ内で使用 |
76 | 2 | レコード数 | このファイルには N 件のレコードがあります |
78 | 8N | リスト、各レコードの情報 | |
各レコードの情報は以下 | N 回繰り返す | ||
4 | レコードデータの偏移アドレス | ファイルヘッダーからのオフセット | |
1 | レコード属性 | bit field. 最下位 4 ビットはカテゴリ値を表すために使用されます。これらは、画面上で表示するためにデータベースを分割するために使用されるカテゴリです。16 のカテゴリのいくつかは事前定義されていますが、ユーザーは独自のカテゴリを追加できます。ユーザーまたはプログラマーが設定していない場合に使用するための未定義のカテゴリがあります。 0x10(16 進数)秘密レコードビット。 0x20(32 進数)使用中のレコード(ビジービット)。 0x40(64 進数)ダーティレコードビット。 0x80(128、符号なし 10 進数)次の HotSync でレコードを削除します。 | |
3 | ユニーク ID | 一般的に 0 から数え始めます | |
レコードの情報の終了 | |||
2? | 区切り | 一般的に 2 つの全 0 バイトです | |
? | レコード | レコードのデータ。。。。。 | |