#1004/1100 ソフトウェアのボード ★タイトル (CQF15666) 98/ 7/29 7:22 ( 67) 893>Win95,98で電源SWをリセットにする / えらー15 ★内容  久しぶりの893ヘッダです。  自分でVxD作ろうかと思いましたが、パッチ作った方が早かったので。 【経緯】  リセットボタンの無い比較的新しいPC-98では、電源ボタンを押すと 電源が切れてしまい、リセットの働きをするものはありません。また、 プリインストール版Windows95では、まともに動いている状態であれば ダイアログが出て正常にシャットダウンするように促してきますが、 電源が切れることには変わりありません。  この制御は、仮想デバイスドライバ VPOWDWND.VXD が行っています。 これをそのままWindows98に入れて、動くように設定しても、ダイアログは 出てきません。これはVxDレベルではWindows95とWindows98で互換の無い部分が あることを示しています。  この893パッチを適用することにより、Windows95/98環境に於いても 電源ボタンをリセットボタンに変更し、電源を落とさずに再起動することが できるようになります。  実際に固まった状況でまともに動くかどうかは確認できてないのですが、 NMI回りの処理が生きていれば理論上はちゃんと動くはず…  なお、従来DOS環境ではOSLにあるRESETX.COMを利用してください。 【警告】  このパッチを当てたことによって生じる障害等は各個人で対処してください。 また、NEC、Microsoft等への問い合わせもできなくなる可能性があります。 対処できない場合は当てないでください。 【前準備】  Windows95がインストールされているドライブ(プリインストール版はA:)の WINDOWS\SYSTEMの中にあるVPOWDWND.VXDを保存しておきます。  Windows98で使う場合は、どうやら入ってないようなので、Windows98を インストールしたディレクトリにコピーしておきます。上書きアップグレード した場合は何もしなくても残ってるかもしれません。また、SYSTEM.INIの [386Enh]セクションに device=vpowdwnd.vxd の行が無ければ追加しておきます。 追加する場合はセクションの一番最後にします。 【パッチ】  パッチを当てるのは2箇所です。一応、以下の2ファイルで確認してありますが 他のバージョンもあるかもしれません。   VPOWDWND.VXD 96/ 6/ 3 22:29:12 5854bytes PC-9821Xa16/W16版Win95   VPOWDWND.VXD 96/12/19 21:09:04 5814bytes PC-9821V200版Win95 1.NMIハンドラの書き換え  以下のバイト列をバイナリエディタ等で検索する   00 00 66  複数箇所見つかった場合は、FE 05 xx xx 00 00 66 になっている1箇所を特定する  特定したら、66 以降を以下のデータで書き換える   FA E4 35 0C A0 E6 35 30 C0 E6 F0 F4 2.NMIフッカの書き換え  以下のバイト列をバイナリエディタ等で検索する   6A 00 6A 00  複数箇所見つかった場合は、6A 00 6A 00 6A 00 になっている1箇所を特定する  特定したら、最初の 6A 以降を以下のデータで書き換える   FA E4 35 0C A0 E6 35 30 C0 E6 F0 F4 (1と同じデータ) 【使用】  ディスクに何も書き込みしてない状態で電源ボタンを押すと、うまくできていれば リセットがかかります。  いちおう PC-9821Xa16上のWindows98/95で動作確認しています。固まった状況の 動作は未確認です。  実際に使われる方が多そうでしたら自動パッチ当てソフトか、RESETXのVxD版を 作るつもりです。 [ 06:52 29.Jul.'98 (Wed) By *Error15 (J&P:JH332233 VAN:CQF15666 NIF:GCE02626) ]