Uni向けATOK入り日本語入力/表示可能ROMイメージクッキングの方法

です。編集突っ込み歓迎。

ROMの入手

ROMの入手方法については、近頃は公開者が様々なアップロード手段を取るようになったため、一概に説明できなくなっています。xda-developers FTPもデリられることが多くなったし…。(誰か補足プリーズ)

ROMイメージは、以下のファイルを含んでいます。
nk.nbf : Windows Mobileが入っているROMイメージ
ms_.nbf : Extended ROMが入っているROMイメージ
radio.nbf : Radio ROM(無線機能の制御プログラム)が入っているROMイメージ
(ms_.nkfとradio.nbfはパッケージにより入っていない場合あり。無くても焦らないこと)
ここでは、ROM入手後の作業についてまとめます。以下の2通りのパターンがあります。

exeファイルとして入手した場合

exeファイルの中にROMイメージファイルが埋め込まれています。この場合、一旦exeを実行して、一時ファイルとして展開されたファイルを取り出す必要があります。

  1. exeファイルを実行
  2. いろいろ画面表示が変わり、最後に横長のWizard画面が表示されて止まる
  3. この状態で、エクスプローラのアドレスバーに"%USERPROFILE%\Local Settings\Temp"と入力
  4. 表示されたエクスプローラから、"*.nbf"というファイル名で検索
見つかったら、そのファイルを含むフォルダがROMイメージファイルを含むフォルダです。別の場所にフォルダまるごとコピーしておいてください。

圧縮ファイルとして入手した場合

圧縮ファイルをそのまま展開すればOK。

準備

以下のツールおよびファイルを用意します。

Mamaich氏作 ROM編集Tool(ユーザ登録とログオンが必要)
imgfs_tools_182.rar をダウンロードしてください。

Multibyte対応Registory Tool(ユーザ登録とログオンが必要)
rgucomp_cn.rarをダウンロードしてください。

bal666氏作 HTC64 Extended ROM Tool(ユーザ登録とログオンが必要)
HTC64_Extended_ROM_Tool_v1.1.zip をダウンロードしてください。

空のExtended ROMイメージ(MaUpgradeUt_noID.exe入り)
MaUpgradeUt_noID.exeは他でも見つかりますが、Extended ROMクッキングにはこれもあると便利です。uni_empty_extendedrom.zip。MaUpgradeUt_noID.exeは、このアーカイブの"Countory_ID_Error"フォルダ内に入ってます。

ATOK for PocketPC
オンライン購入できます。

日本語フォントファイルとwince.nls
Asukal師のページから以下のいずれかをチョイス。
  • Lets Japan No.5(日本語)
  • e-china No5(日本語/中国語)
  • Hangul No.5 for WM5 Device(日本語/中国語/韓国語)
  • Korechiathai No5 (CJK+Thailanguage)(日本語/中国語/韓国語/タイ語)
(この文書ではKorechiathai No5を使用します。)

FileDisk
Extended ROMの内容を編集する際に必要。

秀丸
UTF-16フォーマットでテキストファイルを保存するために使います。もちろん他のエディタでも可。

下ごしらえ

ROMに入れるファイルを入手しましょう。

UniversalをPCと同期

ActiveSyncの設定を行い、PCからUniversal上のファイルを参照できるようにしておきます。
ハードリセットしておくのがベストでしょう。(どーせROMを焼くんだから身綺麗から始めましょう)

wince.nlsとフォント

Korechiathai No5をUniversalにインストールします。再起動後、以下のファイルをPCへコピーしておきます。
\Temp\wince.nls
\Windows\TrskU.ttf

ATOK

ATOK for PocketPCをUniversalにインストールし、*再起動せず*に以下のファイルをPCへコピーしておきます。
ATOKIMM.DLL
ATOKP.CPL
ATOKP.DIC
ATOKPCE.DLL
ATOKPFI.DIC
ATOKPRE.DAT
ATOKPSIP.DLL
ATOKPTE.EXE
ATOKPTKJ.DIC
ATOKPTMP.DAT
ATOKPUT.EXE
ATOKPW.DLL
このまま再起動すると立ち上がらなくなってしまうので注意。

ツールの解凍

以下のアーカイブを展開します。
imgfs_tools_182.rar
rgucomp_cn.rar
HTC64_Extended_ROM_Tool_v1.1.zip
uni_empty_extendedrom.zip

作業フォルダ作成

作業フォルダを作成します。以下の点に注意してください。
  • 英数1バイト文字のみのフォルダにすべき
  • なるべく短いパスで
  • 例)C:\Uni_ROM\WM6
そして、ここまでで入手したすべてのファイルを作業フォルダに入れてください。

バッチファイル他

実際の操作はコンソールプログラムを動かすことが多いため、バッチファイルを用意しました。ここからダウンロードしてください。

内容物

内容物は以下の通り。
01_prepare.bat : イメージファイル準備
02_del.bat : イメージファイルからのファイル削除
03_add.bat : イメージファイルへのファイル追加
04_dumpreg.bat : イメージダンプとレジストリファイルの変換
05_compreg.bat : レジストリファイルの処理とイメージファイルへの追加
06_finish.bat : イメージファイル後処理
DEFAULT-add.txt : DEFAULT.RGUに対する追加編集内容
USER-add.txt : USER.RGUに対する追加編集内容

修正

04_dumpreg.batと05_compreg.batには、作業フォルダのパスが必要です。
以下の行に、作業フォルダのフルパスを書き込んでください。
set _FLATRELEASEDIR=

コピー

すべてのファイルを作業フォルダにコピーしてください。

調理

では始めましょう。

ROMイメージファイルの展開

  • 作業フォルダをエクスプローラで開く
  • HTC64 Extended ROM Tool.exeをダブルクリックして実行
  • 画面上の"Decode"ボタンを押す
  • 次に表示される画面のうち、"Extended ROM file"の指定でNB.NKFを選択
  • "Next->"ボタンを押す
  • 詳細情報の表示画面が表示されるので、何もさわらずに"Decode"ボタンを押す
  • NK.PRJ, NK.FATの2つのファイルができたら成功

削除するファイルの選定

ATOKの辞書やフォントファイルなどの大きなファイルをROMイメージに追加するので、少しでもROMイメージの空き容量を開けておいた方がいいです。
でも、削除しすぎると動作に支障が出る諸刃の剣。素人にはお勧めできない。ので飛ばしてもかまいません。

ROMダンプ

作業フォルダ上の 01_prepare.bat と 04_dumpreg.bat を順番に実行してください。DOS窓が消え、実行完了するまでじっと我慢。
終了すると、作業フォルダに"dump"というフォルダができます。

削除ファイルのリスト作成

削除するファイルを選定します。たとえば、ヘルプのhtmファイルを削除する場合は、dumpフォルダで
dir /a *.htm >..\ listhtm.txt
等と実行し、出力されるテキストファイルからファイル名一覧を取得します。(ただしWM6の場合はread_*.htmとcompose_*.htmを削除すると、メッセージの表示と編集ができなくなるので注意。)
そのほか、PowerPointイラネ、デフォで入ってるゲームなんざイラネ、など、いろいろ削除候補はあるんじゃないかと思います。ここは試行錯誤あるのみ。

削除候補探しのために、調理前のROMを焼いて動作確認をすることをお勧めします。

削除バッチファイルの編集

作成した削除ファイルリストを、02_del.batに以下のように追加します。
削除リストが
A.htm
B.exe
C.dll
だったら、
delfile.exe A.htm
delfile.exe B.exe
delfile.exe C.dll
のようにしてください。

終わったら

終わったら、念のため作業フォルダ内のdumpフォルダを削除しておいてください。

ファイルの削除と追加

作業フォルダ上の 01_prepare.bat、02_del.bat と 03_add.bat を順番に実行してください。DOS窓が消え実行完了するまでじっと我慢。
正しくファイルの追加と削除ができているなら、DOS窓が消えた後は何も表示されません。

もし、03_add.batを実行しているときに、DOS窓が表示されたままでaddfile.exeのアプリケーションエラーが表示された場合は、以下の可能性が考えられます。
  • 必要なファイルがそろっていないのにバッチを実行した → ファイル準備のやり直し
  • ROMイメージの空き容量が足りずにファイル追加に失敗している → 前項「削除するファイルの選定」もしくはあきらめる

レジストリファイルの抽出

作業フォルダ上の 04_dumpreg.bat を実行してください。DOS窓が消え実行完了するまでじっと我慢。

DOS窓が消えた後、作業フォルダに以下の2つのファイルができているはずです。
DEFAULT.RGU
USER.RGU

レジストリファイルの編集

DEFAULT.RGUを以下のように編集します。
  1. DEFAULT.RGUとDEFAULT-add.txtを秀丸で開く
  2. 先頭の空行に"REGEDIT4"と追記
  3. DEFAULT-add.txtの内容をDEFAULT.RGUに入れ込む(すでにあるレジストリエントリは重複させないこと)
  4. 名前を"DEFAULT-mod.RGU"、形式をUTF-16(BOM付き)にして別名保存

USER.RGUを以下のように編集します。
  1. USER.RGUとUSER-add.txtを秀丸で開く
  2. 先頭の空行に"REGEDIT4"と追記
  3. USER-add.txtの内容をUSER.RGUに入れ込む(すでにあるレジストリエントリは重複させないこと)
  4. 名前を"USER-mod.RGU"、形式をUTF-16(BOM付き)にして別名保存

これら作業に共通した注意点として、Asukal氏は以下を挙げています。
  • 最初のレジストリ行とREGEDIT4の間に空行を入れない
  • 各レジストリヘッダーは左端に寄せる
  • そのヘッダーの下のエントリーは英数モードで頭にスペース二つ分の空白を置く
  • フォントレジストリ等は \マークを二つ置く
  • 最後の行の下に空白一行を必ず置く

(注意)DEFAULT-add.txtのFontLinkの内容は、TrskU.ttfのための内容です。もし別のフォントを使う場合には、内容の変更が必要です。

レジストリ変換と組込

レジストリの修正が終わり、DEFAULT-mod.RGUとUSER-mod.RGUの作成が終わったら、作業フォルダ上の 05_compreg.bat を実行してください。DOS窓が消え実行完了するまでじっと我慢。

最終手続き

ここまででエラーが無いことを確認してから、作業フォルダ上の 06_finish.bat を実行してください。DOS窓が消え実行完了するまでじっと我慢(すぐ終わるけど)。

そして、以下を行うことでROMイメージを完成させます。
  • 作業フォルダをエクスプローラで開く
  • HTC64 Extended ROM Tool.exeをダブルクリックして実行
  • 画面上の"Encode"ボタンを押す
  • 次に表示される画面のうち、"Project file"の指定でNB.PRJを選択
  • "Next->"ボタンを押す
  • 詳細情報の表示画面が表示されるので、何もさわらずに"Encode"ボタンを押す
  • 警告画面"Overwrite existing ROM file?" ->上書き確認
  • 警告画面"FAT16 file is too large. Continue at your own risk" ->OKで続行
  • NK.NBFの更新日付が新しくなったら成功

Extended ROM

(後日)

焼き

nk.nbfとms_.nbfが準備できたら、後は焼くだけです。

Bootloader Mode

ActiveSyncしてる状態からも焼きは可能なんですが、安定を求めるにはBootLoaderを有効にした方がいいです。
  1. PC上のActiveSyncの「接続の設定」メニューから、「USBの接続を有効にする」チェックをOFFに
  2. UniversalをPCから取り外した状態で「電源」ボタンと「バックライト」ボタン(本体横、ボリュームスライダ隣の電球アイコンのボタン)を押しながらリセットボタンを押す
  3. 再びUniversalをPCにUSB接続

MaUpgradeUt_noID.exe

  1. MaUpgradeUt_noID.exeを実行
  2. "Next"ボタンを押す
  3. 長考の後、ROMバージョンなどを表示する画面が表示される
  4. "Upgrade"ボタンを押す
  5. 焼きが始まる(特にRadio.nbfも書き換える場合は長い時間がかかる)※絶対にUSB接続を抜かない、パソコンをいじらない
  6. "Congratulation"と表示されたら画面終了

焼いた後に

  1. UniversalをPCから取り外す
  2. メモリ初期化リセットを行うこと(キーボード上部左右の"-"ボタン2つを押しながら、リセットボタンを押す)

おかしいときは

  • 最初から手順をやり直す
  • エラー表示が無くてもROMイメージが壊れる場合がある。そのときはROMイメージからさらにファイルを削除して調理し直すとうまくいく場合がある
  • 何回試してもうまくいかないときでも、泣かない

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2007年03月22日 13:31