ROMのバックアップ2 | objective-cをちょい研究!ブログ

objective-cをちょい研究!ブログ

WILLCOMを卒業してiOS開発者に転身しました。。
コメント&トラックバック大歓迎です。

esのサービスメニューからSYSNA_C2.DBKというファイルができた。
こんなフォーマットらしい。
http://wiki.osdev.info/index.php?W-ZERO3%2FNAND
W-ZERO3/NAND


DBKでぐぐると、DBKというファイル自体はZero3独自ではなくて、
ザウルス時代から受け継いでいるものらしい。
PC98シリーズのディスクイメージうんぬんとかも出てくるので、
フォーマットは違うっぽいけどディスクバックアップ(Disk BacKup)の
略とかそんな感じなのかな。


さて実際の中身ですが、メモリ(NAND型フラッシュ)ダンブにヘッダーと
チェックサムを追加したものってところでしょうか。
そのヘッダーとチェックサムを除いたものをIMGFSというらしい。


IMGFSを抽出するCソースがあったのでビルドして実行。
DBKから抽出できたファイルサイズがぴったり128MB。


//IMGFSを1024分割して、ヘッダと分割毎にチェックサム(4KB)を付加
DBK = ヘッダ(144Byte)
   + IMGFS1(128KB) + チェックサム1(4KB)
   + IMGFS2(128KB) + チェックサム2(4KB) …
   + IMGFS1024(128KB) + チェックサム1024(4KB)


このあとIMGFSイメージの展開にも挑戦してみたが、結論から言うと失敗。さっぱりわからん・・・。
http://d.hatena.ne.jp/Gzh/20060106
ROM作成 (英国だったじぃ様)


海外のサイトより英語がわからないので不安ながらに、imgfs_toolsをダウンロード。

prepare_imgfsすると、imgfs_raw_data.binというファイルができる。
prepare_imgfs [IMGFS抽出したファイル] -nosplit
-nosplitは分割しないオプション?で、付けないと一部データがimgfs_removed_data.binというファイルに分割されてしまう。


その生成ファイルをviewimgfsにかけてみる。ファイル展開するコマンド。
IMGFSの検出には成功したみたいだが、「Unknown header type, FS_DATA_TABLE??」と表示されてファイルタイプの判別に失敗したらしい???
viewimgfs imgfs_raw_data.bin -nosplit