CPS2、更に新発見

CPS-2 Shockによりますれば…

CPS2基板でCapcomが使っている更に別なプロテクト方法を、発見、解明することができた...
CPS2のデコードチップは以下の68000命令を送られないと、約10秒間デコードを停止して、暗号化されたままの形でデータを返すのだ:

CMPI.L #$05642194, D0 (16進では0C8005642194)

つまりCPS2ゲームの動作を維持するには、最低でも10秒おきにこの命令をプロセッサに送る必要があるわけだ。
何でまた、こんなことを見つけたのかといえば、何よりCallusのパッチのおかげだ。sfzchにQ-Soundを追加するパッチを当てたところ、意味のないこの命令が何度も繰り返し送られていることに偶然気づいたのだ。これはおかしいと思った。それからロックマンにもQ-Soundを追加したときも、同じ命令が特に意味もないのに繰り返されていることが分かった。そのときは、コンパイラのエラーかと思っていたが、昨日の晩、全てのつじつまが合った。
きっとCapcomの誰かはこんなに重要なCPS2のプロテクト情報をCPS2じゃないゲームに残してしまったことで、しまった!とひざを叩いているかもしれない(ニヤリ)。
というわけで、このことをまとめると:

  • リセットラインはもう必要なくなった。総当り(bruteforce)ループからからリセットを削除することができる
  • 総当り作業が、ずっと高速に、しかもCPS2ハードに害のない形で行える

ということになる。それから、これは起動しなくなったCPS2基板(バッテリが切れるとデコード情報が飛ぶ:カプコン自爆)にデコードされたROMを載せることで、それらを復活させることにも使えるのはほぼ間違いない。

CPS-2 Shock WIP

前の記事
次の記事