1号機であるCF-32を手に入れた頃、仕事で某大手コンピュータ関連会社に出向していました。ここの開発マシンは、ほとんどすべてがWindowsでした。
頑にDOS窓を開いてソースコードを書き、DOS上でコンパイルしていましたが、ターゲット側との通信やデバッガがWindows用でしたので、嫌でもWindowsの操作を行わなければなりません。
DOS使いだった方なら分かると思うのですが、私はマウスが大嫌いなのです。キーボードから手を離さなければならないことが、どうにもこうにも苦痛なのです。そういうわけで、この出向中に基本的なWindowsショートカットキーの操作を覚えました。マウスが嫌なものですから、もうほとんど必要に迫られて…。ソフトウェア環境のコーナーでも詳しく書いていますが、Windowsをキーボードだけで操作できるようになると生産性がアップします。
半年後、自分が所属する会社に戻ってきた後もWindowsを扱うことになりました。OS/2が入っていた自分のマシン(と言っても、特定DOSを起動し、全画面モードでしか使っていませんでしたが)にWindowsをインストールし、Visual C++とDirectX SDKをインストールし、Windowsプログラムを作らなければならなくなったのです(DOSしか使ってなかったのに5年のブランクを埋めるのは大変です!)。
でも、最近のOSも使ってみると便利なんですよね。自宅でも色々やってみたくなって、コンパイラを買ったりエディタをダウンロードしたり、一通りのツールを揃えはじめました。
で、いざ1号機であるCF-32で動かそうとすると…動かない!
どうやらビデオカードがDirectXに対応していないようなのです。正確には、256色しか表示できないビデオカードなので、ものすごく制限が多いということなのですが…。
ところでDirectXというのは、マイクロソフト社が開発した(主に)ゲーム用プラットフォームです。
ご存じの通り、パソコンってメーカーやグレードによって性能が違いますよね。自作マシンなら尚更です。世のパソコンは、ビデオカードやサウンドカードなど、メーカーやグレードがバラバラな周辺機器が組み合わさって構成されています。そして、そのカードの性能を100%出し切るための制御方法が必ず存在し、新機種になればなるほど、性能が上がれば上がるほど構造は複雑になっているハズで、本来ならプログラマが個別の制御プログラムを書かなければならないわけです。
それでは面倒くさい…というより、星の数ほど存在する周辺機器のプログラムを全部書くなんて不可能に近いので、その部分を周辺機器メーカーが『ドライバ』という形で提供し、OSがアプリケーションとドライバの橋渡しをしてくれているわけです。新しい周辺機器を取りつけたら、まずドライバをインストールしなければならないというのは、こういう理由からなのです。
DirectXも同様に、2D/3Dグラフィックスを扱うアプリケーションプログラムからの指示がOSからDirectXに渡され、ハードウェアに備わっている機能はハードウェアに任せ、その機能がなければソフトウェアでシミュレートする…という働きを持っています。HALとかHELとか呼ばれているあれですね。しかし、中には現時点でシミュレートできない機能も存在し、そういった指示が与えられた場合、ハードウェアに備わっていなければ実行することができません。
話が長くなりましたが、要はこちらの要求に応えられるほどの能力がなかったのです。ビデオカードに…。
(2000/10/05)
[UP]