第3回、[パソコン・ゲーム・ネット回想]DOS/Vの日本語を表示するための2つのドライバとサードパーティドライバ

2020/05/27

パソコン・ゲーム・ネット回想

日本語を表示するための2つのデバイスドライバ

日本語を表示するために、大きくわけると2つの機能が必要だった。

フォントドライバ

第1回でも書いた通り、フォントは1M以上のメモリ空間にロードされた、それをロードするためのドライバが、IBM PC-DOS/Vでは$font.sys、MS-DOS/Vでは、jfont.sysだった。いずれも、80286の1M上のメモリ空間に読み込まれた。フォントはいわゆるビットマップデータだが、その自体は、IBM製とマイクロソフト製では、少し異なっていた。そのため、フォントをみれば、どちらのOSなのか?ということが判明した。そのほか、機能強化されたサードパーティ製ドライバも存在した。

ディスプレイドライバ

表示するためのドライバ。PC-DOS/Vでは$disp.sys、MS-DOS/Vでは、jdisp.sysだった。フォントドライバ同様、ディスプレイドライバでもサードパーティ製が存在した。

サードパーティドライバの登場

PC-DOS/MS-DOSの日本語表示機能では実現できない機能、つまり拡張機能を備えたをサードパーティドライバは提供していた。なぜ、拡張機能が開発されたのか?というのは、当時のハードウェア状況に強く依存していた。

当時、VGAはすでにレガシーだった

DOS/Vバージョン4がリリースされた当時、ディスプレイ装置としてVGAが最新ということではなかった。IBMも、次のバージョンのディスプレイ装置(ビデオカード、グラフィックスアダプター、などと呼ばれた)として、XGA(eXtended Graphics Array)を、IBM-PC ATの次のアーキテクチャのPS/2(日本では、PS/55)に搭載してリリースしていた。XGAはVGAの上位互換という位置づけだったので、同然、DOS/Vも動作した。
IBM PC-ATを遡るのは別の回として、AT互換に搭載されるディスプレイ装置は、VGA互換で、それぞれのビデオチップメーカーがVGAを拡張したチップが搭載されていた。そのチップでは、VGAでは実現できなかった解像度、たとえば、800x600や1024x768といった解像度を独自拡張でサポートしていた。その拡張を、Super VGA、略して、SVGAなどと呼ばれた。
つまるところ、DOS/Vがリリースされた当時の主なハードウェアはVGA以上の解像度をサポートしていたことになる。しかし、DOS/V利用した場合、VGAとして動作するので、DOS/Vの
画面は、640x480で、かつ、横80文字(全角40文字)、縦25行の表示にとどまっていた。(VGAなら、全角16ドットx40文字=640ドット、16ドットx25行=400ドット、残りの80ドットはFEPで利用や予備)。
ちなみに、SVGA独自拡張部分を活用するには、ソフトウェアが、それぞれのハードウェアをサポートする必要があったので、実際にSVGA部分を活用したのは、大手からリリースされるアプリケーションやゲームのみにとどまった。

SVGAやXGAの機能を活用したサードパーティドライバ、Hi-Text・V-Text

SVGAやXGAの解像度を活用し、より多くの行数を表示したり、より高品質なフォント表示できるようにしたのがサードパーティ製のドライバだった。
例えば、フォントドライバでは、標準の16ドットではなく、24ドットにすることで、XGAの解像度である横1024ドット、縦768ドット。を活用できた(24ドットx40文字=960ドット、24ドットx25行=600ドット)。
また、フォントのドット数は16ドットのまま、SVGAの800x600の解像度で最大文字数を表示すると、横50文字(=800/16)、縦36or37(=600/16)が可能になった。
こういった、高品質なフォントや、より多くの文字表示を実現するのに、純正ではないドライバ、つまり、サードパーティドライバがリリースされた。
こういったドライバを、当時、Hi-Textとよばれ、その後、V-Textと呼ばれた。名称の変更理由は、当初、高解像度(High Resolution)を活用するための仕様だったので、Hi-Textとよばれていたのだが、サードパーティドライバが低解像度もサポートしはじめたから、というのが多分理由(都市伝説かもしれない)。

Super VGA対応

当初は、Super VGAというのは共通の仕様があったりするものではなく、各ビデオチップがVGAを拡張し、より、高解像度のモードを提供していることを総称して、Super VGA(SVGA)と呼んでいた。途中で、VESAという団体がSVGAの仕様(いまでいうところのAPIみたいなもん)を決めた。ほとんどのビデオチップは少なくとも800x600をサポートしていたので、SVGA=800x600という誤解がうまれ、現在も、その誤解が使われている。そのVESAの仕様に基づいて、標準的な最大公約数的なサードパーティ製V-Textドライバがリリースされた。

そのほかのグラフィックスカード(グラフィックスチップ)性能とV-Text対応

少し、V-Textから離れて当時のディスプレイチップ(アダプター)のことを記す。Windows登場前に流行していたグラフィックスチップは、Tseng LabのET4000だったり、Trident製(型番等忘れた)だった。この時代は、VGAとしての性能や独自の高解像度・多色化で競い差別化していた。
Windows3.0の頃にも、Tseng LabやTridentのビデオチップが使われていたが、これらは、フレームバッファとよばれ、VGAと比較して大きな容量のビデオRAMを積むが、RAMの書換にはCPUが介入していた。Windowsでウインドウなどの矩形をドラッグ&ドロップした時や、アプリケーションでスクロールした際には、画像データを別のアドレスにコピーする処理を実行するのだが、その処理をCPUで行うには、CPUパワーを喰うだけでなく、ウィンドウの移動速度も相当遅かった。
Windowsでの矩形移動処理はBitBltという命令で実施されるのだが、これをハードウェアで実装したビデオチップが登場した。Windowsが実用的な速度で利用できるようになったのは、このBitBltのハードウェア実装が1つの要因だった。その高速に矩形を移動できる機能は、グラフィックで文字を描画するV-Textでも当然いかされ、ビデオチップ毎のドライバが作成された、それもサードパーティドライバの特徴の1つだった。このハードウェアで描画する機能をそなえたチップを、それまでのチップと区別するために、グラフィックアクセラレーターなどとも呼ばれた。S3 86C911というのが最初に流行したグラフィックアクセラレーターだったが、VGA性能はET4000などと比較すると、すこぶる悪かったので、DOSゲーム向きなET4000、Windows向きな86C911と言われていた。S3は、このあと、しばらく、グラフィックアダプターの市場で、大きなシェアを得ることになる(が、その後、衰退)。

本家PC-DOS/V、MS-DOS/VでのV-Text対応

もちろん、本家でも、バージョン6.XからV-Text対応行われた。ただし、サポートされていたのは、SVGAと一部のビデオチップのみだったので、本家利用の場合は、800x600までが利用できたが、当時のビデオチップ主流の1024x768利用にはサードパーティドライバが必要だった。IBM PC-DOSには、XGA純正なドライバがはいっていた気もする

アプリケーションのV-Text対応

MS-DOSのアプリケーションは、他のMS-DOSプラットフォームも含めて、文字を表示する画面サイズは、80x25に固定されていた。V-Text登場以前のDOS/Vに対応したアプリケーションも、80x25の画面サイズ固定で作成されていた。そういったアプリケーションをV-Textで拡張した画面サイズで利用すると、左上から80x25文字しか利用されないということもよく起きていた。

アプリケーションのV-Text対応

V-Textが思いのほか流行したのは、ビレッジセンターのVZ EditorのV-Text対応が大きかったと思う。当時、DOS上で、一般的に文章を書くツールといえば、デファクトスタンダードは、ジャストシステム一太郎、対抗が管理工学「松」だったと思う(少なくとも、PC-98では)。一太郎はDOS/V版もリリースされていたが、PC-98シリーズにくらべ、DOS/Vは、PCマニアの香りが強かったため、より、高速に文章編集できるテキストエディタが、文書作成にもよく利用されていて、比較的安価だった、VZ Editorは、かなり浸透してたと思う。VZ Editor登場以前は、Mifesというテキストエディタが存在していたが、価格的にVZの3倍くらいなので、あっという間に、VZ Editorが普及した。
そのデファクトとも言える、テキストエディタは、早い段階で、V-Text対応した。その他、よく使われていたファイラー(WindowsでいうころのExplorerみたいなもん)のFDや、パソコン通信ソフトのWTERM(いずれもフリーウェア)なども対応したので、DOS/Vの世界では、V-Textは一定の成功を得たと思う。
蛇足だが、VZ Editorをリリースしたビレッジセンターの社長さんの名前が"中村"だったので、会社名はビレッジセンターだった。
商用ソフトウェアについての記憶はあまりないが、商用ソフトウェアのV-Text対応はそれほど多くなかった気もする。理由としては、商用ソフトウェアベンダーは、V-Text対応のソフトウェアリリースよりも、Windows対応に力を入れていたからだと思う。
いずれにせよ、VZ、FD、WTERMなど、比較的PCマニア系がよく使うツールは、V-Text対応されたおかげで、80x25文字と比較して、より多くの文字で快適に作業する環境を手に入れることができた。

V-Textの予想もしなかった(少なくとも私は)展開

V-Textの登場が、その後、HP 95LX/100LX/200LXの日本語化に大きく影響をあたえていくのだが、その話は次回以降ということで。