(超不定期コラム第二回)J-OS IIIxの謎:)


 今回はJ-OS IIIxにおける変更点について簡単にお話ししましょう。

 多くのユーザーは今回のバージョンアップについて、

 ・Palm IIIx/Vでのタップずれがなくなった。
 ・速度が向上した。

の二点が大きな違いで、全体的には大きな変更はない、と感じていらっしゃると思います。
 でも、実は今回の改造はJ-OS Pro2.0からJ-OS IIIの時よりも内部的には大きな(=大変な)違いがあるのです。

 それは「今回からHackでなくなった」というものです。そう聞くと「J-OS IIIだってHackではなかったじゃないか」と思われるでしょう。しかし、実はJ-OS IIIはほとんどHackだったんですね。開発もかなりの部分までHackとしてHack Masterの基で動作するように行っていましたし、実際ある種の変更を加えるとJ-OS IIIはHackになります。設定とかはできなくなりますが。
 つまり、J-OS IIIは本来Hackであるものを、わざとHackではないように見せていた。そして、J-OS IIIはHack Masterとほぼ互換の機能を内部にもっていたということです。(このあたりの話しは「WorkPadナビゲーションブック」に詳しいです。)

 Hackには、以下のような欠点がありますので、これらの制約から逃れるため、今回は完全にHackでなくすることから改造を始めました。

 ・初期化機能がないため、プログラミングが面倒でバグか出やすい。
 ・データの保存に時間がかかり、動作速度の低下につながる。

 Hackでなくした後、初期化を行う部分を一箇所にまとめ、データの保存には速度低下のない自己書き換えを全面的に採用しました。(これまでも効果が大きい所には使っていましたが、プログラムが複雑になるため一部にとどまっていました)
 前者の効果は目には見えませんが、開発効率の向上と、品質の向上につながっています。また、後者の変更は動作速度の向上につながりました。トラミンさんがMLに流されたレポートによると、特に検索速度、PalmIIIにおける表示速度の向上が著しいようです。

 また、今回から開発環境を、長らくお世話になったCode Warrior for Pilot DR1からRelease5にかえました。これによりコンパイル速度が格段に速くなり、開発効率の向上に役立っています。

 さて、もうひとつの「タップずれ」てすが、これはすごく苦労しました。色々と当たりをつけて改造してみたのですが、全然だめでした。こんなときは手元にソースコードがないのがとても恨めしかったですね:)
 ですが、結局色々とやり、最終的には3COMの開発者サポートのおかげでなんとか必要な情報を入手し、修正が可能となりました。それと同時に長年の懸案であった2バイト文字の選択もまともにできるようになりました。3COMにはひたすら感謝です。
 3COMから受けたサポートについては、契約もありくわしくは言えませんが、特別なルートによるものではありません。その気になれば誰でも受けられるものです。

 ということでJ-OS IIIxは性能もあがるとともに内部的にもすっきりして改造がしやすくなりました。これからも少しづつ改良していきたいと思います。

(以上の文章は全てSH-Keys+Com-JIM2によって書きました。練習、練習:)