CPS3エミュレータ環境をつくる

ウォーザード、ストIII、ストIII2nd、ジョジョ、ストIII3rd、ジョジョ(未来への遺産)
…というたった6本のゲームのために存在することになってしまった不遇の基板CPシステムIII。

衝撃に弱い、静電気に弱い、コントロールBOXの電力供給が不安定だと壊れる、
セキュリティカートリッジが電池切れで壊れる、修理費用が超高額

※CPS3の修理サービスは2015年3月に終了しました。

…と、どう考えても設計に問題があり過ぎるハードですがエミュ環境の構築も

1.CD-ROMの中身をコピー。
2.セキュリティカートリッジの殻を割ってSOPフラッシュ(29F400等)を剥がして
 ICソケット変換アダプタをかませてROMダンプ。

という2つのプロセスが必要で、特に2番目の手順の難易度は超デンジャー。
貴重なCPS3基板を破壊覚悟でいじるなんて、精神衛生上かなりキツイ。

ただ、このセキュリティカートリッジのフラッシュメモリを剥がした上に
取り付けることで6種全てのゲームに対応できる「SuperBios」が開発されており、
最悪フラッシュメモリを壊しても何とかなるのですが、これよくよく考えると
「エミュレータでSuperBios使えたらCDだけでプレイできるんじゃね?」

…というわけで本項はそのための手順をまとめています。

~2014.11.09追記~
「ジョジョの奇妙な冒険」「ジョジョの奇妙な冒険 未来への遺産」は正常動作。
「ストリートファイターIII」「ストリートファイターIII2nd」「ウォーザード」はキャラクタ化け。
というわけである意味ジョジョ専用のページです。

~2015.3.29追記~
ウォーザードの動作に成功したので後半に「ウォーザード編」を追記しました。


・用意するもの
1.CPS3のゲームソフトCD-ROM
jojo

2.SuperBIOS_for_custom_and_standard_SH2
このアーカイブに含まれる SuperBIOS_for_standard_SH2.u2 を利用します。
公開・開発元は「Breaking CPS3」という海外ハッカーサイトですが、
現行法ではこのBIOS以外はダウンロードしない方が安全です。

3.Nebula : CPS3Emulator
毎度おなじみNebulaのCPS3Emulatorを利用します。


・手順
1.SuperBIOS(SuperBIOS_for_standard_SH2.u2)のCRC値を確認する。
(2014-06-19 14:46:30版だと、CRCはCB9BD5B0でした)

2.CPS3ソフトのCD-ROMの中身をzipに圧縮(9x系は単なるビットマップなので不要)。
jojo-cd

3.これをCPS3Emulatorでロードすると不足BIOSのCRC情報が表示されるので控える。
jojoba.zipの場合は下記メッセージが表示される。
 Unable to load. FileName : 29f400.u2 Size: 524288 CRC: 4DAB19F5
 There are missing files. Load aborted

4.CPS3Emulatorの実行プログラム emulator.exe をバイナリエディタで開き、
先ほど控えたCRCのエンディアンを反転して F519AB4D で検索。
CPS3Emulator 1.0aの場合、オフセット0x300Dと0x7912にヒットするので、
SuperBIOSのエンディアン反転した値 B0D59BCB に書き換えて保存。
bios_rewrite

5.CPS3ソフトのアーカイブ(私の場合jojoba.zip)に SuperBIOS_for_standard_SH2.u2
加えて再圧縮し、CRC情報を書き換えたCPS3EmulatorからROMをロードすると…
jojo
キタ!(・∀・)
ちなみに emulator.ini の Region=3 を Region=0 にしないと英語版でブートします。


~2015.3.29追記「ウォーザード」を実行する場合~
warzard
前述の手順でウォーザードの環境を構築しても、スプライトが全く表示されず、
一切ゲームを進行することが出来ません。
しかし、下記2つの条件を満たすと実行可能になります。
・旧バージョンのFBAlphaでロードしてCRCを無視して進行する。
・SuperBIOSをウォーザード用にコンバートする

1.旧バージョンのFBAlphaについて
公式サイト(Previous Versions)から旧バージョンを入手できます。
とりあえず今回は32ビット版のラストであるversion 0.2.97.09を用いました。

2.SuperBIOSのコンバート方法について
SuperBIOS作者が異なるソフト同士を変換してセキュリティカートリッジを
共有する手法や変換プログラムを公開しており、そのコードを元に
SuperBIOS_for_standard_SH2.u2からwarzard_japan.29f400.u2を生成する
テストプログラムを組んでみました。
Download : cp3sb_cv.zip

cp3sb_cv.exeにSuperBIOS_for_standard_SH2.u2をドロップすれば、
同フォルダに warzard_japan.29f400.u2 が作られます。
ウォーザードのCDに格納されているファイル”10,30,31,40,41,50″の6つと一緒に
redearth.zip というファイル名でZIP圧縮して下さい。
※Red Earthは海外版ウォーザードのタイトル名。

あとはFBAlphaを実行し、生成されたROMフォルダに redearth.zip をコピー。
ROMロード時には War-Zard – Red Earth (Japan 961121) をセレクトします。
※CDのバージョンによっては961023じゃないとダメかも。
fbalpha

ただし、cp3sb_cvで生成しているBIOSはあくまでSuperBIOSを
ウォーザード仕様にしているだけで、実機セキュリティカートリッジの
とは内容が全く異なるため毎回CRCエラーが出ますが、エラー表示を通過すると…

warzard
エンディングは確認していませんが(※エンディングまで正常に進行しました)
画面が正常表示されるようになりました。

ちなみに、FBAlphaは「ストIIIセカンドインパクト+SuperBIOS」の組み合わせも正常に
プレイ出来たので、CPS3Emulatorと併用することでプレイ可能なゲームが増えそうです。


ついに2015年3月14日でCPS3の保守が打ち切られましたが、
自宅のCPS3セキュリティカートリッジが電池切れで死んだ人や過電流でぶっ壊した人は、
コレで復活してあげましょう。

CPS3エミュレータ環境をつくる」への5件のフィードバック

  1. ピンバック: SuperBIOS+FBAlphaでウォーザード動作しました | Irregular child 2nd

  2. 今ならSteam版「Street Fighter 30th Anniversary Collection」のストリートファイターIIIからsf30ac-extractorで抽出したファイル”sfiii_euro.29f400.u2″等が利用できるのでしょうか?

  3. 非常に興味深いです!
    ジョジョACがPCでできるなんて夢のようですね…いつまでも起動できるかわかるないAC版をこう言う形で残すのは昔と今が混ざってる感じがして大好きです

    • 当時はCPS3のプロテクトカセットが死に始めた頃で、ジャンクマザーやゲームCDがオークションなどに捨て値で流れてたのですよね。
      (ストIII 3rdですらCDだけなら数千円で買えた状況)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です