HP200LX日本語化キット 開発秘話

第4回 HP 200LX DOSの日本語化

TEXT:寺崎和久
NORI氏やかづひ氏らが作り上げた日本語環境が呼び水となり、HP 100LXは着実にユーザーを増やしつつあった。その中には優秀なプログラマも多く、のちの「HP 200LX 日本語化キット」の基礎となるドライバが次々と登場することになる。今回は、100LXのDOSの日本語環境が飛躍的に進化した当時を振り返ってみよう。

■既存のドライバによるDOS/C化

 前回も軽く説明したが、100LXはDOSの日本語化が簡単にできることが95LXと大きく異なる点だ。これはおもに画面回りの仕様の違いによる。95LXはMDA(Monochrome Display Adaptor)を独自に拡張した仕様になっていたが、100LXではより素直なCGA(Color Graphics Adaptor)互換になっている。もともとのMDAの規格には、グラフィックスモードがないため、ソフト的に日本語を表示するのはむりだ。それに対してCGAには640×200ドットのグラフィックスモードがあるため、DOS/Vと同じ手法で日本語化することも可能だった(CGAマシンを日本語化することを俗に「DOS/C化」と呼んでいた)。CGAは100LX以外のポータブル機でも使われていたため、CGA用の日本語表示ドライバがすでに存在していたことも幸いした。

図1 DISPCを組み込めばVZエディタなどで日本語が使える
[DISPC画面]
 市販のDOS/V(PC DOS J5.0/VやMS-DOS 5.0/V)はCGAまではサポートしていないため、ディスプレイドライバを抜き出して100LXにインストールしても動作しない。また、DOS/Vのフォントドライバはフォントファイルをプロテクトメモリに読み込むため、CPUが80186互換の100LXでは使えない。そこで、CGAに対応したディスプレイドライバ(YasNa氏作のDISPC.SYS)とプロテクトメモリではなくコンベンショナルメモリに読み込むフォントドライバ(Lepton氏作の$FONTM.SYS)が代わりに使われた。

 しかし、フリーソフトだけでは完全に日本語化するのはむりだった。国別情報を管理するCOUNTRY.SYSや日本語FEPをサポートするKKCFUNC.SYSは、DOS/Vのパッケージから200LXに持ってこなければならず、日本語を入力するためには市販のWXII+も必要になる。また、日本語のフォントファイルは、DOS/VやPC-98のフォントを変換して使うか市販のフォントを買うしかなかった。

 フリーソフト、DOS/V、変換したフォントなど、さまざまなものを組み合わせて使わなければならないため、この当時のDOSの日本語化はなかなか敷居が高かった。それだけに、苦労して日本語が表示されたときはうれしかったものである。この100LXの日本語環境では、VZエディタやFDなど、DOS/Vでおなじみのアプリケーションが動作した(図1)。

■FONT100.SYSで恵梨沙フォントが利用可能に

 100LXはDOS/Vの延長で比較的簡単に日本語化できたものの、$FONTM.SYSとDISPC.SYSを組み合わせた環境にはいろいろと問題があった。まずメモリの問題。$FONTM.SYSはフォントファイルをすべてコンベンショナルメモリにロードしてしまうため、日本語が表示できる状態での空きメモリは400KB程度しか残らなかった(*1)。また、kdisp100やKMEMOで使うELISA.FNT、FONT.14とは別に、FONTX2形式のフォントファイルを用意しなければならないのも困った点だ。DOS/Vの仕様を受け継いだ$FONTM. SYSとLXシリーズ専用ソフトとして育ってきたkdispやKMEMOでは、使用するフォントファイルのフォーマットが違うのである。

 これらの問題を解決するため、kdisp 100の作者かづひ氏はFONT100.SYSという恵梨沙フォント専用のフォントドライバを開発した。FONT100.SYSは$FONTM.SYSと同様にフォントをコンベンショナルメモリにロードするのだが、ELISA.FNTはサイズが小さいため、第2水準の漢字まで含めても56KB程度しかメモリを食わない。これならDISPC.SYSを組み込んでもメモリは500KB以上残る。  ただし、FONT100.SYSでは半角のカナや罫線がきちんと表示できないという問題があった。また、$FONTM.SYSで16ドットフォントの表示に慣れていた人には、8ドットの恵梨沙フォントを拡大した表示は少々もの足りなかった。フォントドライバが本格的に改良されるのは、FONT100.SYSよりも少しあとになってからだった。

*1●これは16×16ドットの全角フォントから第2水準の漢字を取り除いた場合である。第2水準も含めると、空きメモリはさらに少なくなる。

■独自に超高速な日本語表示を行なうLogExpress

図2 LogExpressは自力で日本語表示を行なう高速なテキストビューア
[LogExpress画面]
 $FONTM.SYSとDISPC.SYSによるDOS/V方式の日本語化では、VZエディタやFDといったDOS/V用のアプリケーションがそのまま動作するのが大きなメリットだ。しかし汎用性が高い半面、表示速度は遅くなりがちである。とくに、CPUパワーの低い100LXでは、エディタのスクロールで満足のいく速度が出ていなかった。  そんなときに登場したのが、Kei.氏作のLogExpressである(図2)。LogExpressはその名のとおりパソコン通信のログを読むために作られたテキストビューアで、超高速な表示がウリものだ。速さの秘密は、DOS/V方式の日本語表示に頼らず、フォントファイルの読み出しや文字の表示などの処理をすべて自力で行なっていることにある。したがって、LogExpressを使うだけならDOSを日本語化する必要もなく、LogExpress本体とフォントファイルさえ用意すればよい。当時、高価なフラッシュディスクが買えず、100LXの内蔵RAMディスクだけで使いこなしていた人にとって、LogExpressはとてもありがたいソフトだった。

■柔軟な画面表示ができるyadc

図3 yadcはDISPCよりも画面行数を柔軟に設定できる。これは16行表示。
[yadc画面]
 DISPC.SYSはDOS/C化に欠かせないソフトだったが、100LXで使うのには不満な点もあった。100LXユーザーのみゅう氏が開発したyadc(Yet Another DISPC)というディスプレイドライバは、DISPC. SYSの不満点を解消しており、DOS/C化の定番ソフトとして瞬く間に普及した。yadcの特徴は、行間を自由に調整して見やすい表示にできること、COUNTRY. SYSが不要なこと(DOS/Vを買わなくてもよくなった)、DISPC.SYSよりも表示が高速なことなどである(図3)。yadcはその後も改良を重ね、HP 200LX 日本語化キットのLXDSPDというドライバのもとになった。


[TOP] [NEXT]
トップへ 次ページ

無断転載を禁じます