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代替インストーラの存在について、掲示板で負債王さんに教えていただきました。ありがとうございます。