Treo650のROMで遊んでみようかと...


JaPon本体はROMに焼きこむとうまく動かないのです
何ででしょうか?

作った本人が「何で?」というのも変な話なのですが、思い当たるところを全て削ってもリセットループに入ってしまうのです

とはいえ、日本語フォントが格納されている部分をROMに焼きこめれば、いろいろと良いことがあるはずですので、禁断のROMカスタマイズに手を出してみますね

最終目標は、日本語フォントをROMに持たせること

僕のTreo650はGSM版ですが、いくつか参考になる部分があれば良いなと思っています

OSのバージョンは

Palm OS(R) Garnet v.5.4.8 でした


1.前準備


カスタマイズする前の状況を見ておきましょうね

メモリの使用状況をモニタできるツールがPalmOneの開発者向けサイトで配布されているサンプルコードにありましたので、これを使わせてもらいましょう [MemoryInfo.prc]

SDカードにコピーしておきます


1.1.ハードリセット


まずはハードリセット

Languageの選択は[English]を選んでおきました

一回ソフトリセットをかけて、と

さて、さっきSDカードにインストールしておいた[MemoryInfo]を起動して、メモメモ

なんだか良くわかりませんが、結構空いているみたいですね


1.2.JaPonのインストール


ここは特に説明なしで良いですか?

JaPonのv.1.0jを使いました

さて、インストールが終わったら一回ソフトリセットをかけて、[MemoryInfo]に登場願います

ん?

あまり変わっていませんね

まあ、そんなものでしょう まだJaPonをONにしていませんから...


さて、JaPonをONにしてみましょう

どうなるでしょうか?

ふむふむ、[NVFS Cache (RAM)]の[Total Free:]の所が2MByteほど少なくなってしまいました

JaPonが用意する日本語フォントは2MByte弱ですから、日本語フォントが[NVFS Cache]にロードされているとすれば、だいたいつじつまが合いますね

うまくROMに押し込むと、この辺がどう変わるか楽しみです


1.3.JaPonに関係するファイルの抜き出し


この先どういう顛末になるかはわかりませんが、JaPonに関係ある(JaPonをインストールすることで生成された)ファイルを抜き出しましょう

ここで抜き出したファイルをオリジナルのファイル群に混ぜ込んでカスタム版のROMを作るのですから、注意してきちんと抜き出すことにしましょう

JaPonは大きく分けて4つのファイル群を生成します

1.JaPon本体

日本語をハンドリングするためのHackソフトとレジスト情報ファイル

2.システム関連

日本語フォントを載せたOSのコアの部分

3.一般ソフトウエアに関係する言語リソース

4.Quick Tour、Tipsに関係する言語リソース

順番に抜き出していきましょう


1.3.1.JaPon本体


結論から先に書くと、JaPon本体はROMに書き込むとうまく動作しませんが、レジスト情報ファイルだけはROMに書き込んでおいても大丈夫です

次の3つのファイルを抜き出しましょう

JaPon
JaPon_jpAN
JaPon-Reg


1.3.2.システム関連


次は、日本語フォントを載せたOSのコアの部分です

Boot_jpAN.prc
Latin Locale Module_jpAN.prc
Palm OS Data_jpAN.prc


1.3.3.一般ソフトウエアに関係する言語リソース


ここは、PalmOne殿がコンパイルミスをしている部分にJaPonがパッチを当てた結果生成されているファイル群です

Card Info_jpAN.prc
HotSync_jpAN.prc
MMSTransport_Trn1_jpAN.prc
Nexter_jpAN.prc
TreoSMSLibrary_jpAN.prc


1.3.4.Quick Tour、Tipsに関係する言語リソース


「Quick TourやTipsは要らない!」という人には不要なのですが一応取り出しておきましょうね

Blazer_CROW_jpJP.prc
Capture_Loader-CpLo_CROW_jpJP.prc
HsExtensions2.0_CROW_jpJP.prc
HsSysResource5.0_CROW_jpJP.prc
Launcher_CROW_jpJP.prc
Network_CROW_jpJP.prc
Nexter_CROW_jpJP.prc
Phone_CROW_jpJP.prc
Phone_Tips_CROW_jpJP.prc
SimPhoneBook_CROW_jpJP.prc
SMS_Tips_CROW_jpJP.prc
TonesLibrary_CROW_jpJP.prc
Tutorial_CROW_jpJP.prc
Tutorial_Tips_CROW_jpJP.prc
Web_Tips_CROW_jpJP.prc

そうそう、FileZというソフトウエアを使わせてもらうと、簡単に取り出せます

「末尾が[_jpJP]のファイル」としてフィルタをかけて取り出しましょう


1.4.オリジナルのROMの取り出し


順番が前後してしまいましたが、これがないとはじまらない

ROM Toolを使ってTreo650からROMを抜き出しましょう

うまく抜き出せたらファイルを展開

こんなにいっぱいありました なんと885個も...

なにやら見慣れない拡張子がありますがなんでしょうね?

[.bprc] : BasePRCかな?
[.oprc] : こちらはOverlayPRC?
     
[.cprc] : CorePRC?
[.lprc] : LanguagePRC?

まあ、ほっておきましょうか

といいつつ、なんだか重要な気もしますが...


2.取捨選択


取捨選択の前に、抜き出したファイルを全部混ぜましょう

ただし、JaPon.prcとJaPon_jpAN.prcは別

この二つは、SDカードにコピーしておきます

そうそう、FileZ等のファイラをSDカードから起動できるようにしておいてくださいね


2.1.捨て


さて、どう考えても要らないファイルを消しますね

ドイツ語、スペイン語、フランス語、イタリア語に必要なファイル群

要らないでしょ?

ファイル名に[_deDE]、[_esES]、[_frFR]と[_itIT]がついているファイルを全部消してしまいます

けっこういっぱいありますね 516個も

なんと、4MByte近くあります


2.2.JaPonに関係するファイルの名前変更


さて、実はこのまま焼くとおかしなことになってしまうので、JaPonに関係するファイルの名前をぜんぜん違う名前に変更しておきます

JaPon-Reg.prc -> 00.bprc
Boot_jpAN.prc -> 01.bprc
Latin Locale Module_jpAN.prc -> 02.bprc
Palm OS Data_jpAN.prc -> 03.bprc
Card Info_jpAN.prc -> 04.bprc
HotSync_jpANprc -> 05.bprc
MMSTransport_Trn1_jpAN.prc -> 06.bprc
Nexter_jpAN.prc -> 07.bprc
TreoSMSLibrary_jpAN.prc -> 08.bprc
Blazer_CROW_jpJP.prc -> 09.bprc
Capture_Loader-CpLo_CROW_jpJP.prc -> 10.bprc
HsExtensions2.0_CROW_jpJP.prc -> 12.bprc
HsSysResource5.0_CROW_jpJP.prc -> 13.bprc
Launcher_CROW_jpJP.prc -> 14.bprc
Network_CROW_jpJP.prc -> 15.bprc
Nexter_CROW_jpJP.prc -> 16.bprc
Phone_CROW_jpJP.prc -> 17.bprc
Phone_Tips_CROW_jpJP.prc -> 18.bprc
SimPhoneBook_CROW_jpJP.prc -> 19.bprc
SMS_Tips_CROW_jpJP.prc -> 20.bprc
TonesLibrary_CROW_jpJP.prc -> 21.bprc
Tutorial_CROW_jpJP.prc -> 22.bprc
Tutorial_Tips_CROW_jpJP.prc -> 23.bprc
Web_Tips_CROW_jpJP.prc -> 24.bprc

2.3.ROMの生成と書き込み


もう一度ROM Toolに登場願って、カスタムROMの生成と書き込みをおこないます

さて、どうなるでしょうか

なんだか、うまく収まりそうです

では、書き込んでみます

うまくいくかな?

なんだかうまく書き込めたみたいですので、ハードリセット!


3.Setup


おっ!

Languageの選択が[English]と[Japanese]の二つになりました

まよわず[Japanese]を選択します

あとはいつも通り


3.1.JaPonのインストール


無事にセットアップ終了しました?

では、SDカードに置いておいたJaPonを本体にコピーしてきます

ここで、一度JaPonをOnにしてOffにするという操作を行っておきましょう

この操作は絶対に忘れないでくださいね ソフトリセットをかけると、無限ループのリセットに陥ります

セットアップ直後はシステムロケールが[_jpJP]にセットされています
この状態でリセットをかけると、そのまま[_jpJP]でシステムが立ち上がろうとしますが、JaPonは[jpAN]用のシステム関連ファイルしか用意していませんので、[_jpJP]で立ち上がることができずに無限ループのリセットとあいなります

一度JaPonをOn/Offしておくと、システムロケールが[_enUS]に戻りますので普通にシステムが立ち上がれる訳


3.2.状況確認


さて、いよいよです

まずはJaPonをOffの状態で、[MemoryInfo]に登場願います

あれ?

[Strage Heap (Flash)]の[Total Free]が増えている分、[NVFS Cache]がずいぶん減っています

やや、予想外の展開です...


せっかくなので、気を落とさずにJaPonをONにしてみました

どうでしょう?

ふむふむ、さっきは[NVFS Cache (RAM)]の[Total Free:]の所が2MByteほど少なくなっていたのですが、今度は減り方が少ないようです

日本語フォントが[NVFS Cache]にロードされずにいるようです

さて、もうひとがんばり

いらないアプリケーションを削ってみましょうか


4.いらないアプリケーションを削ってみると


いらないアプリケーションを探してみましょう

ラウンチャに居るアプリケーションと、[Prefs]にある項目を眺めて見ます

1. Quick Tour   一度見たら要らないでしょ
2. VersaMail   これもばっさり削除
3. Welcome   デジタイザの調整はPrefsから呼び出せるので削除
4. VPN   どうせ、サードパーティのアプリケーションを入れてねと言われるだけなので削除

あまり無いですね


4.1.QuickTour


[Quick Tour]に関係するファイルは以下

TutorialApp_Device.prc
TutorialApp_Device_CROW.cprc
TutorialApp_Device_CROW_enUS.lprc
TutorialRsc_Tips.prc
TutorialRsc_Tips_CROW.cprc
TutorialRsc_Tips_CROW_enUS.lprc
Tutorial_CROW_jpJP.prc
Tutorial_Tips_CROW_jpJP.prc


4.2.VersaMail


[VersaMail]に関係するファイルはいっぱいあります

AirSAM.bprc
AirSAMprv.bprc
AirSAMprv_enUS.oprc
AirSAM_enUS.oprc
MIAttachLib.bprc
MIAttachLib_enUS.oprc
MMConduit.bprc
MMConduit_enUS.oprc
MMConfigFPI.bprc
MMConfigFPI_enUS.oprc
MMHtmlPlugin.bprc
MMHtmlPlugin_enUS.oprc
MMMailTo.bprc
MMMailTo_enUS.oprc
MMNotify.bprc
MMNotify_enUS.oprc
MMPhotos.bprc
MMPhotos_enUS.oprc
MMPluginMGR.bprc
MMPluginMGR_enUS.oprc
MMPRCPlugin.bprc
MMPRCPlugin_enUS.oprc
MMSDCard.bprc
MMSDCard_enUS.oprc
MMSmartAdd.bprc
MMSmartAdd_enUS.oprc
MMTextPlugin.bprc
MMTextPlugin_enUS.oprc
MMUnzipPlugin.bprc
MMUnzipPlugin_enUS.oprc
MMVCal.bprc
MMVCal_enUS.oprc
MMVCardPlugin.bprc
MMVCardPlugin_enUS.oprc
MMWave.bprc
MMWave_enUS.oprc
MMWizard.bprc
MMWizard_enUS.oprc
MMWordPlugin.bprc
MMWordPlugin_enUS.oprc
MultiMail.bprc
MultiMail_enUS.oprc


4.3.Welcome


[Welcome]はあまりたいしたこと無くて...

SetupApp.bprc
SetupApp_CROW.cprc
SetupApp_enUS.oprc


4.4.VPN


[VPN]はもっと少なくて...

VPNPnl.bprc
VPNPnl_enUS.oprc


4.5.状況確認


さて、焼いてみました

さっきと同じように、SDカードに置いておいたJaPonを本体にコピーしてきて、一度JaPonをOnにしてOffにするという操作を行います

さて、どうなったでしょうか

まずはJaPonをOffの状態で、[MemoryInfo]に登場願います

よよっ

いい感じです


JaPonをONにしてみました

うむうむ

かなり良いですね

JaPonをOffのときとほとんど変わりません

純粋に英語環境のときと比べても[NVFS Cache]もほとんど変わらず

もう少し削れば、英語環境と同等になりそうですね

MessagingやWebを削ってみると良いかもしれません

Messagingで300KByteほど、Webで450KByte、NetFrontLibまであわせて削れば、さらに1.3MByteほどあけられるはずなので、もしかするとATOKまで押し込めるかもしれません


5.ここまで


今回は、ここまで

英語環境とほぼ同等のメモリ使用状態に持ち込めたので良しとしましょう

この状態でしばらく使ってみますね