Windows2000の不思議

   はじめに

ThinkPadi1124-93Jを発売直後に買ってみました。ThinkPad系の情報は

・ThinkPad Club
・ThinkPad Love

に詳しいです。小さくてホントに5時間持ってシリアルパラレルがついてたりします。私の周りではトラックポイントが好評のようです。すぐに7.5時間持つバッテリを買ってしまいました。機械に愛着を感じたのは久しぶりです。

   セットアップ

もちろんWindows2000に入れ替えました。コツがありますねぇ。これにも。USB-CDはどうせ邪魔になるので買わなかったのですが、SCSIのPCMCIAカードでインストールしました。そのままではそれはもういろいろ不都合が。レジュームが効かない、FDが全く動かない、しまいにはCMOSが飛ぶはで、thinkpadは気を引こうとします。

結論を言うと次の順序が決まりがいいようです。

win2kをf6拡張でscsiインストール -> 即座にサービスパックを当てる -> その他のドライバのインストール

これを守ればとても安定しました。サービスパック後はデバイスマネージャでドライバを同じ名前のもので更新しないとサービスパック等が有効にならないようです。特にSPあててDMAが効かなくなったという場合はやる価値ありそうです。今はサービスパック2がでましたが、ノーマルのままではかなり熱すぎるバグがあるので必ずサービスパックはあてましょう。

Win2Kで動かないものがあるといいますが私の環境ではほぼ動きます。たとえば秋月ライターwin版、AVRライターなども動きます。それよりcygwinが速くて安定したのがおいしいです。ちなみにWin2000自体が落ちたことは今までありませんので自分の中では作業するには安心できる初めての環境です。

   不思議

と、こんなことはどうでもいいことです。DOSアプリがどれだけ動くかです。ちなみにここで触れるのは既存のアプリが動くかどうかではなくトリッキーなことができるかテストプログラムを作って試しています。これらはWin95系なら動くものです。もちろんMS-DOS6でも動くプログラムです。

●VESAグラフィック

DOSからVESAモード切替ができるかどうかです。私もためしもしないでやらなかったのですが、ある人がグラフィックが走るソフトが動いたとの情報を得て駄目もとで試したのですが、、、

これがDOSモードのグラフィックプログラム

解凍したらフォルダの中に3つのファイルができますが、win2kのDOS窓でalt+[RET]で全画面にしてから3dtest.exeを走らせてください。六角大王というモデリングソフトのサンプルの中の飛行機をDXFで出力してそれを読み込んで1024x768(VESA105)でワイヤフレーム表示させているのですが、これはturbo-Cver4でコンパイルされた純粋なDOSでしかも直接ハードにアクセスして描画しているという点です。う、動くの?こんなのが。ただしフルスクリーンのDOS窓にしないとVESAモードが無いと判断されるようです。

●INT70タイマー割り込み

じゃあ、リアルタイムタイマーを直接IO命令でつついてタイマー割り込みができるのか?

これがDOSモードの割り込みプログラム

解凍したら走らせて見てください。ESCキーで止まります。ただ数字が回っていくだけですが、このプログラムは純粋にINT70割り込みから数字をカウントしているのです。こんなんも動くの?ちなみに動作は1024Hzでカウントされていくと思いますが、実はこのプログラムは8192Hzで設定されています。Win95系なら高速にカウントされていくはずです。もう少し解析してみると1024Hzより遅い速度でしたら任意ですがこれより速いときは1024Hzに固定されてしまうようです。あと、フルスクリーンにしないと描画が遅いですね。
関係ありませんがdjgppでDPMI(go32)プログラムしたときも1024Hzより速い設定はできませんでした。

●割り込み駆動シリアル通信

じゃあ、BIOSを介さずにIOを直接いじるRS232C通信はできるのかな。

これがDOSモードでRS232C割り込み駆動のプログラム

設定はCOM1(0x3F8,irq4)で115200bpsとしています。実行はESCで止まります。解凍して走らせても何にも出ませんがCOM1にシリアル入力させてみてください。送ったキャラクタが表示されるはずです。こんなのまで動いてしまいました。このプログラムは実験するのはちょっと面倒ですが、これも16bitDOSのみで動いています。そのときのWin2k側の動きはDOSモードアクセスが入ったとたんにCOMポートがbusyに、つまりWin32APIからみてバッファ取得ができない状態になっていました。でもこの通信速度が動くということは、実際は完全にOSが受信してそれをDOSモードに渡して割り込みをDOSプログラムにかけて、データは同時に仮想IOポートに置くといった、凝ったことをしているのかも知れません。

   まとめ

ここではWin2KがどこまでDOSプログラムが動くか試してみました。どうも16bitモードのプログラムを動かすときはDOS窓が切り替わって右のスクロールバーが消えるようです。かなりハードを抽象化したモードも持っているようです。SP2からは95/NT4モードも追加されましたが、上記のようなプログラムが動きつつWin2Kの安定度はすばらしいです。Linux等と比較するわけにはいきませんが、Linuxはリタイアした老夫婦や午後のひと時をパソコンですごす主婦が趣味でメールやデジカメの閲覧をといった方には、とてもお勧めできません。彼ら彼女らはパソコンではなく、生活に興味があるのですから。


return to home page