電池切れCPS2基板復旧手順

CPS2のゲーム基板(B-Board)には電池が搭載されており、その電池が切れると起動に必要なセキュリティキーが消え、ゲームが正常に起動しなくなるという恐ろしい結末が待っています。CPS2のゲームがリリースされていたのは1990年代~2000年代初頭であり、2019年の今、いつ電池が切れてもおかしくありません。事実私のプロギアの嵐の電池がつい先日切れました。(笑)

電池切れが起こる前に上手くセキュリティキーを保持しつつ新しい電池に交換することもできるのですが、セキュリティキーが消えてしまい基板が起動しなくなった場合はどうしたらいいのでしょう。
心配はいりません。海外のハッカーがセキュリティキーを書き戻す素晴らしい手法を編み出しました。
その手順は、前述のハッカー本人が「Capcom CPS2 Security Programming Guide」として綺麗にまとめています。記載内容はとても解りやすく実際に私も手順にしたがい復旧できました。しかし記事が英語であること、多少ハマったところもあったことから、補完資料としてまとめることにしました。

別ソリューションとしてカスタムチップをB-Board上に実装して電池レス化する「InfiniKey-CPS2」というものもあります。しかしながらチップの入手性があまり良くないことと、はんだ付けの難易度が比較的高いため、はんだ付けをする箇所が少ない&基板を複数復旧する場合にも基板毎に電池&電池ケースだけを用意すれば良い、こちらのソリューションをお勧めします。

なお、オリジナルの記事ではいくつか存在するB-Boardのリビジョンすべての復旧(desuicide)手順を網羅していますが、私の記事ではプロギアの嵐の基板(93646B-7)を例に記載していきます。

必要なもの

1. Arduino Uno

いわゆるマイコンボードです。これにプログラム「ArcadeHacker_CPS2.ino」を書き込んで実行し、セキュリティキーを基板に書きこむことになります。Arduinoの公式ハードはそれなりの価格ですが、非公式の互換ハードが多く製造されており、安く入手できます。下手をしたら1回しか使わないので品質が多少低くても互換ハードで十分でしょう。私が使用したものは以下のリンクのものです。

ELEGOO UNO R3

2. LCD Keypad Shield

Arduinoで画面表示を見て操作するために必要な、液晶とキーパッドが一緒になったハードです。これもピンキリですが私は互換ハードの互換ハード(?)で済ませました。

HiLetgo 1602 LCD キーパッド シールド ボード

3. ピンストリップ

LCD Keypad Shield基板上の穴に挿して接続端子とするためのピン。私は以下のものを購入しましたが大量に余りました。7本あれば良いです。

HiLetgo® 20個セット 40Pin 2.54mm 単一列端子ピン ヘッダー ストリップ

4. ジャンパワイヤ

ピンストリップで増設した接続端子と基板を接続するために使うケーブルです。また、ATX電源から出るペリフェラル4ピンをB-Boardに接続するためにも使います。(後述) オリジナルの記事ではオスオスとメスメス8本ずつ必要と書いてありますが、93646B-7の場合はメスメスのタイプが7本あれば間に合います。ケチって短いものにすると作業効率が低下するので注意です。

JPワイヤー20cm(メスーメス)10本入【20SS-MIX】

5.  グラバークリップ

B-Board上の6ピン端子(CN9)に6ピンコネクタを使わずそれぞれのピンにケーブルを1本ずつ接続するために使用します。6個必要です。これが地味に価格が高い。安いのを探しまくって海外発送のものにしました。

Lovoski 2個セット ミニグラバー

6. 電源延長ケーブル(ペリフェラル4ピンオスメス)

自作PC等のATX電源から生えるHDD電源用ペリフェラル4ピンコネクタから、B-Boardに供給する電源(5V)を取り出すために使用します。最近のATX電源だとペリフェラルコネクタがなく、SATA電源コネクタ(平べったいアレ)だけしかないかもしれません。その場合はSATA用電源変換ケーブルを用意します。

電源延長ケーブル【WA-048B】

7. 電子工作用具

上記のほか、電子工作全般に使用する以下のものが必要です。

・はんだごて

・はんだ

・ケーブルストリッパー

・ニッパー

・テスター

テスターは無くても大丈夫ですが、そもそも電池切れであるのかどうかの確認に使えますし(3.6Vがちゃんと電池から供給されていることをチェックする)、トラブルシューティング用にあったほうが良いです。

8. CPS2関連

CPS2のB-Board用として以下のものが必要です。

・T20トルクスドライバー (これでカバーを留めているネジ(4本)を外します。ホームセンターなどで入手できます)

・塩化チオニルリチウム電池 (交換用電池です。単3形はおさまりはいまいちですが容量が大きいです)

ER14505(単3) 塩化チオニルリチウム電池 2600mAh

・電池ケース (上記電池の収納用です)

電池ケース 単3×1本 リード線 板バネ端子【BHC-311A】

9. ATX電源搭載自作PC(電源、Arduinoセッティング用)

突然ハードルが上がりました。5VとUSB電源が取れれば自作PCでなくてもなんでも良いです。自作PCがあれば一番楽だと思います。Arduinoセッティング用としてWindowsPCは必要となります。Linuxでもおそらく出来るとは思いますが素直にWindowsでやりましょう。そのほうが無難です。

10. 復旧用プログラム ArcadeHacker_CPS2.ino

復旧用プログラム ArcadeHacker_CPS2.ino を https://github.com/ArcadeHacker/ArcadeHacker_CPS2 からダウンロードしてデスクトップなど適当な場所に保存しておきます。

基板復旧(desuicide)

必要なものを用意するだけでちょっと疲れちゃうと思いますが、物さえ準備できれば実際の作業はそれほど大変ではありません。それではここから実際の復旧手順を書いていきます。

1. B-Board電池交換

1.1. まず、基板は2階建てになっているので、2階部分を外します。普通に手で外せますが、ピンが曲がらないように注意しましょう。次にB-Boardに実装されているもはや無用の長物ですらない電池をニッパーを使って基板から外します。マイナス側はニッパーが入りづらいので、プラス側をニッパーで切断してから電池を起こし、マイナス側は電池をぐりぐりするとポロッと外れます。

1.2. 電池ケースをはんだを使って取り付けます。基板を裏返し、元々はんだが盛られていたところにはんだをちょっと足せばすんなり付けられます。プラスマイナスは間違えないように慎重に。ケースを基板に繋いだら電池をケースにセットしておきます。

 

2. Arduinoセッティング

2.1.  Arduino本体にLCDキーパッドを装着します。ここはオリジナルの記事の写真をみれば直観的に出来るかと思います。次にピンストリップを7列分用意して、LCDキーパッド基板右上の7個ある穴に差し込みます。グラグラしてすぐ外れるのでビニールテープなどで固定しておきましょう。

2.2. Arduino開発環境である Arduino IDE を https://www.arduino.cc/en/Main/Software からダウンロードしてインストールします。インストール方法はググってください。いきなりハショりましたが世の中そんなものです。私は早くこの記事を書き上げて趣味のアニメ鑑賞をしたいのです。今期はえんどろ~!が最高ですね。

2.3. ArduinoとPCを付属のUSBケーブルで接続し、ダウンロード済の復旧用プログラム ArcadeHacker_CPS2.ino をダブルクリックします。Arduino IDEが起動するので、左上の「→」(マイコンボードに書き込む)をクリックします。

2.4. 書き込みが完了して数秒ほどたつと、LCDに「Select a game: –press down–」と表示されます。何も映らない人は焦らないでください。私もはじめは何も映りませんでした。LCDの輝度が基板左上にある半固定抵抗で調整できます。精密ドライバーで反時計回りに10周くらいまわして映らないようであれば、時計回りに20周くらい回します。それで映らなければ反時計周りに30周、それで映らなければ時計回りに40、、、そのうち映ります。輝度を合わせて出荷しろと(笑)

これでArduinoの準備は終わりです。PCから外しておきましょう。

3. B-Board電源供給用ケーブルの作成

オリジナルの記事の「Assembling the CPS2 target power cable」のところです。

電源延長ケーブルの「赤」と「その隣の黒」のケーブルをニッパーで切って、これまたニッパーで途中をぶった切ったジャンパワイヤとはんだでくっつけて、B-Board電源供給用に使うケーブルを作成します。黄色とその隣の黒のケーブルは12Vなので使用しません。不安な方はATX電源に接続し電源を供給状態にし、テスターで電圧が5Vであることを確認してください。

 

4. Arduino(LCD Keypad Shield)にジャンパワイヤを接続

LCD Keypad Shield基板上のピンにジャンパワイヤを接続していきます。GNDはATX電源から持ってくるGNDもあるので、ここでは便宜上Arduino-GNDという名称で呼びます。Arduino-GNDはLCD Keypadの半固定抵抗右横にある6ピンの右上になります。そこにジャンパワイヤを接続します。

ピンストリップで増設した7ピンの接続端子(LCD Keypad右上)は、番号が左から13、12、11、3、2、1、0となります。ボードリビジョン93646B-7を復旧する場合、12、11、3、2の4本を使うため、そこにジャンパワイヤを接続します。

 

5. グラバークリップ取り付け

4.で接続したジャンパワイヤの対向側にグラバークリップを接続します。グラバークリップは二股になっていますが、どちらに接続してもかまいません。

6. ArduinoとB-Boardの接続

B-Boardの左のほうにある6ピンのヘッダ(CN9)にグラバークリップで以下の通りArduinoと結線します。CN9のピン番号は上から1、2、3、4、5、6となります。グラバークリップは二股になっている股間()の突起を押すと先端から手がニョロっと出てきます。それでピンを挟んで接続します。

Arduino-GND → CN9の6

12 → CN9の5

11 → CN9の4

3 → CN9の3

2 → CN9の2

ここはオリジナル記事の写真が見やすいです。

7. 電源接続

手順3で作成した電源供給用ケーブルの黒線(GND)をCN9の6番に繋いでいるグラバークリップの片方に接続(ブリッジ)します。赤線は先にグラバークリップを付け、CN9の1番に繋ぎます。電源供給用ケーブルのペリフェラル端子はATX電源に接続しておきます。(接続前にPCの電源をOFFにしておくこと)

8. B-Boardに電源供給

ATX電源からB-Boardに電源を供給します。PCに組み込んだ状態のATX電源であれば、PCの電源をONにすれば電源が供給されます。

9. Arduinoに電源供給

ArduinoとPCをUSBケーブルで接続し、Arduinoの電源をONにします。

10. セキュリティキー書き込み

LCDに「Select a game: –press down–」と表示されたら、UP DOWNボタンを押して復旧する基板のゲーム名称を表示させ、SELECTボタンを押して選択します。プロギアの嵐はprogearjです。(エミュのゲーム名称に準じているっぽいですね)

書き込みが終わると「–disconnect and  test pcb–」と表示されます。PCからArduinoを外します。次にPCの電源をOFFにして、B-Boardに繋いでいたグラバークリップを全て外します。

11.  B-Board組み立て

外した2階部分を元に戻し、B-Boardをケースに組み込みます。私は以下の画像のように電池ケースはケースに両面テープで固定しました。

12. 動作確認

さて、上手くいきましたでしょうか。上手くいかなかった場合は、はんだ付け不良で電流がきちんと流れていないなどの原因が考えられます。電池をはんだ付けしたところが3.6V出ているか、ATX電源からちゃんと5Vがきているかなどをテスターを使って確認してみると良いかもしれません。

ここをご覧になってdesuicideを試した皆さまが成功することを祈念してこの記事を終わりにしたいと思います。

Thank you !

Steam版WatchDogsが日本語音声吹き替えにならない場合の対処法

SteamインストールフォルダSteamAppscommonWatch_Dogsdata_win64 の中に sound_japanese.dat というファイルがない場合はどうあがいても日本語音声にはならないと思われます。というわけで下記の手順で対処出来ました。

1. Steam上からWatchDogsをアンインストールする。

2. Uplayをアンインストールする。

3. Ubisoftの日本語ページ http://uplay.ubi.com/ja-JP/ からUplayをダウンロード、インストールする。

4. Uplay上からWatchDogsをインストールする。

私の環境の場合、WatchDogsをインストールするまでに一度もUplayをインストールしたことがなく、Steam経由でUplayの英語版?が入ってしまったのがこの症状が発生した原因かもしれません。憶測ですが。

48連敗でストップ

ブラウン管だとお花畑もふぐ刺し弾も避け易すぎワロタ。というわけで、やっと陽蜂をヤりました。残5B0ランク24で陽蜂突入、残0B0で最後は洗濯機をそこそこ避けてクリアというぎりぎりの熱い戦いでしたが、誰も見ちゃいない。w っていうか誰も東部でやってません。ノーコンだと残機ボーナスがちゃんと入る事実に驚愕しました。一言だけ言わせてもらうと、ゲーセンでやっていれば確実に10日は早くクリア出来たと思います。しかし、やはり気になるのは陰蜂の存在、そして
陽蜂を破壊していいのかという台詞。今後は、オートボムオフで陽蜂を出し、パシフィストで全くダメージを与えないとどうなるかとか、色々試してみたいと思います。(オートボム発動で本体にダメージがいくのかどうか不明ですが)

それにしても自宅の液晶でのプレー環境と、ブラウン管でのプレー環境の差はすさまじく、体感の難易度としては、1.2~1.3倍くらい液晶でやるほうが難しいです。とくにふぐ刺し弾は基本見てから避けるしかないのですが、液晶では避けられる気があまりしない、というか実際ほとんど避けられません。フレームマイスター(0.07フレーム遅延)を買い、RDT234WX(0.1フレーム遅延)まで揃えましたが、はっきりいってク○の役にも立たなかったと言わざるを得ません。数値上は0.07+0.1+液晶の表示遅延で、かなり遅延は少ない環境のはずですが、ブラウン管でやるとあっさりクリア、という事実が全てを物語っています。

さようなら液晶、こんにちはブラストシティ。明後日ブラストシティが我が家に来る予定です。www

ALL-Hibachi