ROM調理・覚え書き

  • ROMファイル (nk.nbf)の展開

perl typhoonnbfdecode.pl -t -x nk.nbf

    • GSM, OS, Splash, IPL, SPLの5つの*.nbファイルが生成される(82040000-OS.nbのようにファイル名にはROM内での番地情報が付与される。リネームしても構わない)
  • OS.nb(82040000-OS.nbからリネーム)の編集
    • HTC Universalと同様にmamaich氏のtoolを使って展開・dump・編集可能、ただしprepare_imgfsやmake_imgfsの実行時にはUniversalと同様に-nosplitオプションを忘れないこと。

prepare_imgfs OS.nb -nosplit
delfile wince.nls // 元のヌルズを削除
addfile wince.nls // 新しいヌルズ(A大元帥のLet'sまたはe-Chnの)を追加
addfile fontname.ttf // もちろん*.ac3も可
make_imgfs OS.nb -nosplit

    • default.hvやuser.hvの差し替え編集も可能だが、rgucompで*.hvを*.rguに変更する際、0409(英語)以外のロケール関連文字列が日本語環境下では文字化けしてしまい、そのままでは*.rguから*.hvに変換する際にエラーが頻発。0409以外はどうせ使わないので削除してしまえばよいのだが、削除すべき箇所が多くて手間がかかるので、現状は行わず。
  • nbファイルからnbfファイルへ
    • nb2nbf_tornado.exe(ftp://xda:xda@xda-developers.com/Uploads/HTC%20Wizard/create_nknbf.zip 、でも例によっていつまでこのURLでDLできるか不明)を用いてGSM, OS, Splash, IPL, SPLを順に登録し「Translate」ボタンをクリックすると、Output File: で指定したフォルダに指定したファイル名(デフォルトはカレントフォルダにnk.nbf)でnbfファイルが作成される。

    • なお、CIDの欄には何も入れないこと。Operator VersionはROMバージョン(元ROMの表記に合わせればよい)、OEM VersionはSettingsのAboutで表示されるものを入れたが、これで正しいのかどうかは不明(でも、これで出力したROMは正しく書き込めた。書き込めなくても、たぶんSPV-Developers ServicesでCID=11111111を入れてやればOKのはず)。


フォントとヌルズをROMに組み込むことで、本体ストレージ(17.95MBしかない)に5MB強の空きが確保できるかと思います。Smartphoneのわずかなストレージに5MBは大きいですよね。
ちなみに今回TornadoのROM調理に挑んだ最大の目的は、A2DP組み込みのためだったのですが(Qtek 9000の最新ROMからbta2dp.dllなどを移植)、残念ながらダメでした(やはりcoredll.dllを差し替えないと不可能なのか…)。
と、いうわけで、例によって、試す人は自己責任で…