Windows7以降でシムシティ2000を動作させる
WindowsXPのサポートが終了したこともあり、Windows7以降の最新OSは一気に普及しましたが、最新OSでは古いプログラムの一部は動作不能になってしまいました。
シムシティ2000も例外ではなく、64ビット版Windowsではインストーラーが動作してくれません。32ビット版では、インストールこそできますが、ゲームが正常に動作しません。
しかし、一手間かければ64ビット版、32ビット版両者ともに、普通に動作させることが可能になりました。
ただし、非正規の方法なので何が起きても責任が取れません。あらかじめバックアップをとった上、自己責任で行ってください。
2022年現在、Windows10(64ビット版)上でも問題なく動作が確認されています。
0.シムシティ2000のバージョンについて
ここで用いるシムシティ2000は、マクシス・EA発売のWindows95(98・Me)用、CD-ROM版「シムシティ2000 スペシャルエディション(日本語版)」もしくはイマジニア発売の「シムシティ2000 CDコレクション for ウィンドウズ95」「シムシティ2000 スペシャル for ウィンドウズ95」を対象にしています。
私が64ビット版Windowsで動作を確認したSIMCITY.EXEは以下の3つです。世に出回っている日本語Win95版はこれですべてと思っていますが、これ以外のSIMCITY.EXEの存在をご存知の方はお知らせください。
スペシャルエディション
紙箱版と廉価版で微妙に最終更新日が違いますが、ファイルの中身自体は同じです。
最終更新日:1997年6月24日 06:05:04(紙箱版)/1997年6月23日 21:05:04(廉価版)
ファイルサイズ:1,271,808 バイト
MD5ハッシュ:d418e70f9dae9f8ec6f28c2d7141fc20
CDコレクション
最終更新日:1996年4月26日 11:55:28
ファイルサイズ:1,271,808 バイト
MD5ハッシュ:23cb447a5c461942cfcd31b6b6a1ce40
スペシャル
最終更新日:1996年2月16日 11:39:00
ファイルサイズ:1,271,296 バイト
MD5ハッシュ:4dc0c4c7e60a59afa6db5765962fa6d7
1.インストール編
64ビット版を利用している人は、第一の問題としてオリジナルのインストーラが動作しません。互換インストーラが存在するので、これを使うことで現代のWindowsにもシムシティ2000をインストールできます。
32ビット版を利用している人は、インストーラが正常に動作するので、この項の作業を行う必要はありません。しかし後述するように、ゲームのインストール先はProgram Files外に変えた方がよいでしょう。
データのコピー
まずシムシティ2000のCD-ROM内のデータを、適当なフォルダを作って中身を丸々コピーします。
ここでコピーするデータはインストール作業時にしか使わないので、フォルダ名も場所もどこでもよいです。
互換インストーラのダウンロード
オリジナルのインストーラは古いInstallShieldによるもので、64bitのWindowsでは動作しません。
有志が制作した現代の環境で動くの互換インストーラが、Nathan's Toasty Technology page 内の 32-Bit Setups からダウンロードできます。ありがたく利用させてもらいましょう。手動でインストールすることもできますが、なかなか大変です。
シムシティ2000のインストーラはInstallShield 3で作られているので、InstallShield Engine 3.0を使用します。
ダウンロードしたファイル(setup32.exe)をオリジナルのSETUP.EXEの設置してあるフォルダに突っ込めば準備完了です。setup32.exeを起動し、インストールを実施しましょう。
ただし、ファイルの取り扱いに面倒が生じるので、インストール時にインストール先を既定の「C:\Program Files\Maxis\SimCity 2000」から、「C:\Maxis\SimCity 2000」等、Program Files外に場所を変更することを推奨します。現代のWindowsではProgram FilesがOSの保護下におかれるようになったため、都市データの保存に面倒が生じます。
2.SIMCITY.EXEを修正編
以上の作業で一応シムシティ2000は起動できるようになるのですが、都市を開く・保存画面を開くとゲームが落ちてしまいます。そこで、ゲーム本体(SIMCITY.EXE)に修正を加えてやる必要があります。
ありがたいことに、日本語版シムシティ2000スペシャルエディション用修正パッチがy-log.netさんで公開されており、これに従ってSIMCITY.EXEを修正するとシムシティ2000を無事に遊ぶことができるようになります。
転載の許可をいただいたので、パッチの内容を以下に引用させてもらいました(引用元)。
下記の内容をもとに、SIMCITY.EXEの内容を変更してやればOKです。
スペシャルエディション版またはCDコレクション版
*== TARGET_FILE ================
FILENAME SIMCITY.EXE
* FileSize: 1271808 bytes
* LastMod.: 1997/06/23 21:05:04
*===============================
0009DF93: 8D EB
0009DF94: 47 27
0009DF95: 44 90
0009DFBC: CC 8D
0009DFBD: CC 47
0009DFBE: CC 44
0009DFBF: CC C7
0009DFC0: CC 40
0009DFC1: CC 34
0009DFC2: CC 04
0009DFC3: CC 18
0009DFC4: CC 00
0009DFC5: CC 00
0009DFC6: CC EB
0009DFC7: CC CE
SIMCITY.EXEが1,271,808バイトの場合はこちらです。スペシャルエディション用のパッチですが、CDコレクション版も書き換えるアドレスは同じなのでこれでOKです。
スペシャル版
*== TARGET_FILE ================
FILENAME SIMCITY.EXE
* FileSize: 1271296 bytes
* LastMod.: 1996/02/16 11:39:00
*===============================
0009DF53: 8D EB
0009DF54: 47 27
0009DF55: 44 90
0009DFBC: CC 8D
0009DFBD: CC 47
0009DFBE: CC 44
0009DFBF: CC C7
0009DFC0: CC 40
0009DFC1: CC 34
0009DFC2: CC 04
0009DFC3: CC 18
0009DFC4: CC 00
0009DFC5: CC 00
0009DFC6: CC EB
0009DFC7: CC CE
スペシャル版のSIMCITY.EXE(1,271,296バイト)では書き換えるアドレスがすこしずれているので、転載させてもらったパッチをすこし変更しています。
手動で書き換える場合
上記のパッチに基づいて書き換えてゆきます。スペシャルエディションまたはCDコレクション版であれば、パッチ6行目の「0009DF93: 8D EB」はファイル頭からのオフセットアドレス「0009DF93」の「8D」という値を「EB」に書き換えよという意味です。
私は普段使っているStirlingというバイナリエディタで書き換えました。下線部が書き換えるべきポイント(画像では既に書き換え済み)です。
自動で書き換える場合
よくわからない、いちいち書き換えるのが面倒という人は、枠内の内容をメモ帳等で『.pat』形式で保存すると、FireFlower形式のパッチファイルになります。対応ソフトを使ってSIMCITY.EXEにパッチを当てるとよいでしょう。
画像は拙作のパッチツール「つぎはぎ」を使った例です。パッチファイルをSIMCITY.EXEと同じフォルダに設置し、ツールにパッチファイルを読み込ませると、自動で書き換えが完了します。
SIMCITY.EXEを書き換えれば、めでたく最新のWindowsでシムシティ2000を遊べるようになります。
うまく起動しない人は、今までのポイントを再チェックです。
起動時にレジストリに登録されてない旨の英文エラーメッセージが表示される人は、レジストリの登録を見直しましょう。完全に起動しなくなったり、相変わらず都市を開く・保存画面で終了してしまう人は、SIMCITY.EXEの修正を見直してみてください。
今回、日本語版シムシティ2000を64ビット環境で遊べるようになったのは、修正パッチを作成・公開されたy-log.netのんのお陰であります。この場を借りて御礼申し上げます。
また、InstallShield代替インストーラの存在について、掲示板で負債王さんに教えていただきました。ありがとうございます。