Windows2000 Game Tips


 Windows2000でWin95/98対応のゲームなどを動かす為のコツを記載しています。



新着情報


動作しないゲームのありがちなパターン

■共有DLLのバージョン違いによるエラー

2000/4/30登録

 ソフト自体はWindows2000上では問題なく動作するものの他のアプリケーションとの兼ね合いで正しいバージョンのDLLがロードできなくてエラーを起こす場合があります

不要なDLLを削除
一般的にDLLの新バージョンは旧バージョンとの互換性を保っている筈です。そこで旧バージョンを削除する事で問題が解決する事が多々あります。実行プログラムが特定バージョンのDLLに依存する場合は後述のSide-By-Side機能を使用する必要があります。
DLL/COMリダイレクション(Side-By-Side機能)を利用する
実行ファイル毎に空の.localファイル(例:game.exe.local)を実行ファイルと同じディレクトリに用意する事で、既にメモリ上にロードされた同名DLLがある場合でもローカルディレクトリにあるDLLをロードします。

■インストーラにOSが違うと言われハネられる

2000/4/30更新

 NT4で動作しないようにチェックをかけているソフトが散見されます。しかしソフト自体はWindows2000上では問題なく動作するケースも多々あるので回避策が必要です。

 一般的にはApplication Compatibility Toolを使用する事でこの問題を解決できますがこの機能は不完全なので、どうしても駄目な場合は拙作のツール「inst2000」をご使用下さい

■2GB以上のフリーエリアがある場合でも容量不足と言われる

2000/2/19更新

 ディスク容量チェックの旧APIの結果がWin95/98系とWinNT/2000系で異なる為に発生します。MSの資料によるとWIN95OSR2以降では旧来のAPIは使用しないように書かれていますんで各メーカーのプログラマにはこの程度の事には対応して欲しいモンだとも思うが、一方旧APIは互換性の為にあるんやしMSには挙動をWin95/98にあわせて欲しい気もする。

 Application Compatibility Toolを使用する事でこの問題を解決できます。

■NTFSのパーティションにはインストールできない

 アクセス権の都合で駄目な場合は該当するディレクトリ以下に適切な権限を与えればOKだが、それ以外はFAT16なりFAT32のエリアにインストールしてもらうしか無いです。

■複数のCD-ROM/CD-R/DVD-ROMを搭載するマシンで動作しない

 ソフトによってCD-ROMが複数あるとセットしたドライブによってCD-DAがならなかったりする事もあります。そこで1台を除いてドライブレターを外してしまうとうまく動くゲームがあります。ドライブレターの削除は[コンパネ]→[管理ツール]→[コンピュータの管理]→[記憶域]→[ディスクの管理]でする事が出来ます。

■Windows 3.1/95兼用アプリケーション

2002/4/14更新

 Windows 2000はフラットサンクをサポートしていないので32bitプログラムと16bitプログラム間の連携が著しく制限されます。残念ながらWindows 2000上でこの類のアプリケーションを動作させる方法はありません。(PCエミュレータの類を使えば可能になりますが価格が高いのでWindows 9xとのデュアルブートにした方がマシでしょう(^^;)

動作しないゲームの一般的な対処方法

■互換モード

2001/6/11更新

 Windows2000 ServicePack2で導入された特定プログラムに対してのOSの挙動をWin95/NTに似せる事ができる便利なモードです。

 具体的にはWindows2000 ServicePack2以降を導入後、[スタート]→[ファイル名を指定して実行]から"regsvr32 %systemroot%\apppatch\slayerui.dll"を実行してやると、ショートカットのプロパティにCompatibilityタグが追加されます。

 WindowsXPの互換モードのサブセット的(Win98が指定できない等Application Compatibility Toolをインストールして、更にバージョン1.7にアップデートしたらWin98も指定できるようになってました^^;)なものであり、従来からのApplication Compatibility Toolに比べ指定項目こそ少ないものの、より巧みにOSをエミュレートしている為、動作するソフトはいささか増えると思われます。

 アンインストール等、より詳細な情報についてはマイクロソフトのkbを参照の事

■Application Compatibility Tool

2002/9/5更新

 特定プログラムに対してのOSのバージョンチェックやディスク容量チェックなどの問題を回避する事ができる便利なツールです。

 具体的にはWindows2000のCD-ROMの\Support\tools\setup.exeを起動してインストールします。以下に簡単に使い方を解説しますが詳細に付いては同時にインストールされるTool Help(英語)を参照したください。

 Application Compatibility Toolを起動するとダイアログが表示されます。ここでプログラムやオプションを指定します。

Start the Following program
問題のあるプログラムを指定します。[Browse]ボタンを使うとファイルダイアログでの指定が出来ます。
Operating System
どのオペレーティングシステムから実行されているように見せかけたいかを指定します。適切なOSのラジオボタンを指定して下さい
この機能には若干の不具合があり、完全にはWindows95/98に偽装できていません。
Disable Heap Maneger On Windows2000
この項目をチェックするとWindows2000で効率化されたヒープ領域の使用方法を旧来の方式(おそらくNT4SP3以前と互換)に戻します。メモリ関連のエラーが発生したり挙動不審なプログラムに試してみて下さい。(この設定で動作するのはメモリ関連で潜在的なバグのあるプログラムです)
Use pre-Windows2000 Temp path
Windows2000ではテンポラリのパスがユーザーディレクトリの下に移動しましたが、プログラムによってはもっと短いパスを仮定していたりスペースを含むパスがうまく処理できない場合があります。この項目をチェックするとテンポラリパスがシステムディスクのルートのTEMPパスになります
Correct disk space detection for 2-GB+ drives
2GBを超えるディスク容量の場合にGetDiskFreeSpace()をコールするとWin95/98は2GBでカンストしていますがWindowsNT/2000は正常に値を返す為、単純に32bitで計算するとオーバーフローしてしまいインストーラによっては正しい容量が把握できずディスク残量チェックではじかれてしまう事があります。この項目をチェックする事で不当なディスク容量チェックを回避できます。
Make the above check box setting parmanent
この項目をチェックすれば今回指定した設定が記録され次回からはいちいちApplication Compatibility Toolを使用しなくても良くなります。ですから基本的にはインストール後のプログラムに対してはチェックして、CD-ROMなどのリムーバブルメディア上のインストーラに対してはチェックしないようにすれば良いと思います。

 最新版を入手するにはWindows 2000 SP2 サポート ツール からダウンロードできます。

 WindowsXPと同等のより詳細な指定が行えるツール「Application Compatibility Toolkit」がMicrosoft ダウンロードセンターからキーワードに"Application Compatibility Toolkit"を指定して、USダウンロードセンターも検索するをチェックして検索してやればダウンロードできます。なおこのプログラムはWindows 2000 SP3以降で利用可能です。機能の詳細についてはMSDNのApplication Compatibilityコーナーを参照してください。

■Win95/98で代替インストール

2000/1/21登録

 ソフト本体は動作する(かもしれない)のにインストーラがWindows2000上で動作しないケースがままあります。そこでWin95/98でインストール作業をやっておいて関係するレジストリとファイルの内容を複写する方法を紹介します。

 レジストリに関しては一般的にはHKEY_LOCAL_MACHINE、HKEY_CURRENT_USERの下の"Software\ソフトハウス名\ソフトウェア名"の内容をregファイルに出力すれば事足りるケースが多い。またインストールパス等を変更する場合レジストリ内容の編集も必要になって来るでしょう

 ファイルについてはインストール先ディレクトリ以下を複写すれば良いのですが、ソフトによってはWindowsシステムディレクトリの下に設定ファイルやセーブファイルを配置するものもあるので要注意。

 最後にこの方法はあくまでもイレギュラーなものでありレジストリを操作したりする為、ある程度の危険を伴います。この方法をとる場合はくれぐれも自己責任でお願いします

■演奏がうまくいかない場合は…

2000/10/25登録 2001/7/1更新

 Windows2000でうまく動作しないもののうちBGMの演奏関連に問題のあるソフトはかなり多いが、これはドライバやAPIのちょっとした挙動の違いに起因する事が多い。そこでこのような場合の対処やが

  1. メーカーの最新パッチを探す。Windows2000対応と書いていなくてもサウンド関連の修正により直ってる事もある。「痕」の初期パッケージにPC98対応のパッチを当てた場合なのがこれに該当する。
  2. Win9x系には複数の演奏方法(DirectSound,CD-DA,MIDI,DirectMusic)があるが、このうちのいくつかから選べるゲームなら取りあえず変更してみるだけで遊べるようになる事もある。特に問題を起さないのがDirectSound。音質はいま一歩ながらも安定性は捨てがたいものがある。CD-DAやMIDIで問題が発生した場合でも他方に切りかえれば動く事もある。
  3. ドライバ関連の不具合の可能性もあるので最新ドライバを導入してみるのもひとつの方法だ。ただしドライバ類を下手に入れかえるとOSの安定性を大いに損なう事があるので、その辺のリスクは承知の上で試してもらいたい。
  4. DirectX診断ツールを使ってアクセラレートレベルを変更する事で対処できる場合もある。DirectX診断ツールは[スタート]→[ファイル名を指定して実行]→"%systemroot%\system32\dxdiag.exe"で起動できます。ここのサウンドタブにあるハードウェアサウンドアクセラレータレベルを変更する事で正常に再生されるケースがあります。