Windows7以降でシムシティ2000を動作させる

WindowsXPのサポートが終了したこともあり、Windows7以降の最新OSは一気に普及しましたが、最新OSでは古いプログラムの一部は動作不能になってしまいました。

シムシティ2000も例外ではなく、64ビット版Windowsではインストーラーが動作してくれません。32ビット版では、インストールこそできますが、ゲームが正常に動作しません。

しかし、一手間かければ64ビット版、32ビット版両者ともに、普通に動作させることが可能になりました。

ただし、非正規の方法なので何が起きても責任が取れません。あらかじめバックアップをとった上、自己責任で行ってください。

0.シムシティ2000のバージョンについて

ここで用いるシムシティ2000は、マクシス・EA発売のWindows95(98・Me)用、CD-ROM版「シムシティ2000 スペシャルエディション(日本語版)」もしくはイマジニア発売の「シムシティ2000 CDコレクション for ウィンドウズ95」を対象にしています。

その他のバージョンは未所持のため、ゲーム本体であるSIMCITY.EXEに修正を加える関係上うまく行くかどうか不明です。

私が64ビット版Windows7で動作を確認したSIMCITY.EXEは以下の2つです。

スペシャルエディション

最終更新日:‎1997‎年‎6‎月‎23‎日 ‎21:05:04
ファイルサイズ:1,271,808 バイト
MD5ハッシュ:D418E70F9DAE9F8EC6F28C2D7141FC20

CDコレクション

最終更新日:‎1996‎年‎4‎月‎26‎日 ‏‎11:55:28 
ファイルサイズ:1,271,808 バイト
MD5ハッシュ:23CB447A5C461942CFCD31B6B6A1CE40

1.手動でインストール編

64ビット版を利用している人は、第一の問題としてインストーラが動作しません。そのため、インストーラが行う作業をすべて手動で行わなければなりません。

32ビット版を利用している人は、インストーラが正常に動作するので、この項の作業を行う必要はありません。

ただし、ファイルの取り扱いに面倒が生じるので、インストール時にインストール先を既定の「C:\Program Files\Maxis\SimCity 2000」から、「C:\Maxis\SimCity 2000」に変更しておいてください。

データのコピー

まずシムシティ2000のCD-ROMからデータをコピーします。Win95版シムシティ2000スペシャルエディション、あるいはシムシティ2000CDコレクションの場合、CD-ROM内に『SC2K』というフォルダがあるので、これを適当な場所にコピーします。

ここでは、Cドライブ直下にMaxisと言うフォルダを新たに作り、その中にSC2Kフォルダを収めました。この記事でのインストールフォルダのパスは『C:\Maxis\SC2K』になります。
次に行うレジストリの登録はこのパスを基準に作業を行っているため、別の場所にフォルダを設置した場合は注意してください。

インストール先が本来の標準である「C:\Program Files(x86)\Maxis\SimCity 2000」と異なるのは、最新のWindowsではProgram FilesがOSの保護下におかれるようになったため、都市データの保存時に面倒が生じるからです。
(「CITIES」フォルダ等を別の場所に置けば良いのですが、説明の便宜上全て同一の場所に設置しています。)

レジストリへの登録

データをコピーしたらレジストリへシムシティ2000の情報を登録してやる必要があります。
以下の内容をレジストリに追加してください。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Maxis]

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000]

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Localize]
"Language"="JPN"

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Options]
"AutoBudget"=dword:00000000
"AutoGoto"=dword:00000001
"AutoSave"=dword:00000000
"Disasters"=dword:00000001
"Music"=dword:00000001
"Sound"=dword:00000001
"Speed"=dword:00000001

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Paths]
"Cities"="C:\\Maxis\\SC2K\\Cities"
"Data"="C:\\Maxis\\SC2K\\Data"
"Goodies"="C:\\Maxis\\SC2K\\Goodies"
"Graphics"="C:\\Maxis\\SC2K\\Bitmaps"
"Home"="C:\\Maxis\\SC2K"
"Music"="C:\\Maxis\\SC2K\\Sounds"
"SaveGame"="C:\\Maxis\\SC2K\\Cities"
"Folder"="Maxis"
"Scenarios"="C:\\Maxis\\SC2K\\Scenario"
"TileSets"="C:\\Maxis\\SC2K\\ScurkArt"

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Registration]
"Company Name"="名無し無尽会社"
"Mayor Name"="名無しの権兵衛"

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\SCURK]
"CycleColors"=dword:00000001
"GridHeight"=dword:00000008
"GridWidth"=dword:00000008
"ShowClipRegion"=dword:00000000
"ShowDrawGrid"=dword:00000000
"SnapToGrid"=dword:00000000
"Sound"=dword:00000001

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Version]
"SimCity 2000"=dword:00000100
"SCURK"=dword:00000100

[HKEY_CURRENT_USER\Software\Maxis\SimCity 2000\Windows]
"Color Check"=dword:00000000
"Display"="8 1"

赤色の部分はプログラムやフォルダのパスの設定です。自分がデータをコピーした場所に合わせ適宜変更してください。

青色の部分はゲーム起動時に表示される会社名・市長名です。自分の好きな名前に変更しておきましょう。

桃色の部分は、CDコレクション版(イマジニア発売)シムシティ2000の場合、変更する必要がある箇所です。「Maxis」を「Imagineer」に変更してください。スペシャルエディションの場合は変更不要です。

枠内の内容をメモ帳等適当なテキストエディタに貼りつけ、拡張子を『.reg』で保存してやると、レジストリ追加用ファイルができます。あとはファイルをダブルクリックすればデータのレジストリへの登録が完了します。

2.SIMCITY.EXEを修正編

以上の作業で一応シムシティ2000は起動できるようになるのですが、都市を開く・保存画面を開くとゲームが落ちてしまいます。そこで、ゲーム本体(SIMCITY.EXE)に修正を加えてやる必要があります。

ありがたいことに、日本語版シムシティ2000スペシャルエディション用修正パッチがuMI氏によって公開されており、これによってSIMCITY.EXEを修正することによりシムシティ2000を無事に遊ぶことあができるようになります。

転載の許可をいただいたので、パッチの内容を以下に引用させてもらいました(引用元)。

*== 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の内容を変更してやればOKです。

手動で書き換える場合

パッチ6行目の「0009DF93: 8D EB」はファイル頭からのオフセットアドレス「0009DF93」の「8D」という値を「EB」に書き換えよという意味です。

私は普段使っているStirlingというバイナリエディタで書き換えました。下線部が書き換えるべきポイント(画像では既に書き換え済み)です。

CDコレクション版の場合、データがスペシャルエディションと微妙に異なるのですが、今回の書き換え箇所とは関係ないので指示通り書き換えれば大丈夫です。

自動で書き換える場合

よくわからない、いちいち書き換えるのが面倒という人は、枠内の内容をメモ帳等で『.pat』形式で保存すると、FireFlower形式のパッチファイルになります。対応ソフトを使ってSIMCITY.EXEにパッチを当てるとよいでしょう。

画像は拙作のパッチツール「つぎはぎ」を使った例です。パッチファイルをSIMCITY.EXEと同じフォルダに設置し、ツールにパッチファイルを読み込ませると、自動で書き換えが完了します。

SIMCITY.EXEを書き換えれば、めでたく最新のWindowsでシムシティ2000を遊べるようになります。

うまく起動しない人は、今までのポイントを再チェックです。

起動時にレジストリに登録されてない旨の英文エラーメッセージが表示される人は、レジストリの登録を見直しましょう。完全に起動しなくなったり、相変わらず都市を開く・保存画面で終了してしまう人は、SIMCITY.EXEの修正を見直してみてください。

3.関連付けの登録編

無事に動作が確認できたら、ファイルの関連付けを登録しましょう。今のままでは、都市データをダブルクリックしても、都市を開くことが出来ません。先ほど同様、以下の内容をレジストリに追加してください。

32ビット版を利用している人は、この項の作業も行う必要はありません。インストーラが自動で行ってくれます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.City\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.City\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.City\shell\open\command]
@="C:\\Maxis\\SC2K\\SimCity.exe %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.City]
@="SimCity 2000 City"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.City\DefaultIcon]
@="C:\\Maxis\\SC2K\\SimCity.exe,1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.Scenario\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.Scenario\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.Scenario\shell\open\command]
@="C:\\Maxis\\SC2K\\SimCity.exe %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.Scenario]
@="SimCity 2000 Scenario"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.Scenario\DefaultIcon]
@="C:\\Maxis\\SC2K\\SimCity.exe,2"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.TileSet\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.TileSet\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.TileSet\shell\open\command]
@="C:\\Maxis\\SC2K\\Winscurk.exe %1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.TileSet]
@="SimCity 2000 Graphics Set"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SimCity2000.Document.TileSet\DefaultIcon]
@="C:\\Maxis\\SC2K\\Winscurk.exe,1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.sc2]
@="SimCity2000.Document.City"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.scn]
@="SimCity2000.Document.Scenario"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mif]
@="SimCity2000.Document.TileSet"

赤色の部分はプログラムやフォルダのパスの設定です。自分がデータをコピーした場所に合わせ適宜変更してください。

これで、今まで通りにシムシティ2000をWindows上で遊ぶことが出来ます。

今回、日本語版シムシティ2000を64ビット環境で遊べるようになったのは、修正パッチを作成・公開されたuMI氏のお陰であります。この場を借りて御礼申し上げます。