2020年3月14日から2020年3月10日までの日記を表示中

2020年 3月14日 (土)

基板

CPS3のBIOSをデコードするにあたり、毎回MAMEを実行するのも面倒かつ不便なので、MAMEのソースコードからルーチンを切り出して、キーとアドレスオフセット設定することでXOR処理を行う単独ツールを作成してみました。これで少しは解析が捗るかな。

で、CPS3のカートリッジについてですが、MAMEのソースとか見ると、「CPUは改ざんを検知すると自らセキュリティキーを消去する」なんていう情報が書かれていたりします。

If the custom CPU detects any tampering (generally things such as voltage fluctuation or voltage dropping or even removal of the cart with the power on), it immediately erases the SRAM (i.e. the decryption key) inside the CPU which effectively kills the security cart.

もしこの処理をCPUがソフト的にやっているのであれば、BIOS ROMの中で何かしらの割込みを検知して、そこからキーを消去するみたいな処理に飛んでいる箇所があるのでは・・・? というわけで、デコードしたBIOSの中の怪しそうな割込みハンドラをいくつか追ってみたんですが、どれもフリーランカウンタやウォッチドッグタイマといった、割と普通の機能向けのものばかりでした。うーん、BIOS内にはヒントはないのかな・・・。

というか、電圧が高いせいでキーが飛ぶ状況を再現できれば、誰がそれを検知して、どのようにしてCPUに通知しているか、観察できるのでは・・・? というわけで、調査用の2ndのカートリッジに電池をつけて、電源電圧を5.5Vくらいにまで上げた状態で電源スイッチをパチパチとやったりして、キーが飛ぶかどうかとかの実験をしてみました。が、結果は特に変化なし。普通に毎回起動しました。使っているカートリッジが後期版なので、もしかしたらこの辺の対策が強化されていたりするのかな。前期版のカートリッジで実験してみたら、また違ってきたりするのだろうか・・・。

電池つけて電圧上げて実験してみたけど特にキー飛びっぽい状態にはならず

それはそうと、丸洗いしてから約1週間が過ぎたので、MV-6を組み上げてみました。まずは洗っている途中で切れてしまったジャンパを再度修理。

断線箇所を再度修理

で、上の基板と合体させます。いやー、綺麗になったなぁ。

綺麗になった

ちゃんと動くかな・・・。

ちゃんと動くかな・・・?

OKでした。スロット4含め、全部問題なし。

問題なく起動

シールドをつけて完了。

シールドをつけた

ちなみに、ふとナイトメア・イン・ザ・ダークを動かしてみたところ、こちらの警告が出て起動してくれませんでした。

MV-6でナイトメア・イン・ザ・ダーク

失礼な警告が出て起動せず・・・

カートリッジ側の問題かと焦ったんですが、普通の1枚版小型マザーボードでは問題なく起動。

1枚版小型マザーでは普通に起動

さらにMV-4でも動きました。

MV-4でテスト

MV-4でもナイトメア・イン・ザ・ダーク起動

MV-6だけ何か相性があるんですかねぇ・・・。もっと色々試してみたい気もしましたが、ひとまず片付けて場所を作っておきたいというのもあり、深追いしない方向で終了。

2020年 3月13日 (金)

基板

駿河屋の在庫を眺めていたら セキュリティカートリッジ不良で起動しないストIII 2ndなんてのを発見。うーん、詳細は不明ですが、仮に電気的にカートリッジが壊れていないのであれば、2ndでもキー飛びで起動しなくなる状況は存在するということですかね。カートリッジのキーがオールゼロ(ストIII 2ndのキー)に初期化されるのは、電池切れした状態に限られるのかな(確かにLeoさんも「電池を外してやれば」と言ってますな)。

電池が生きている状態でキーが壊れると、初期化されないからいつまでも死んだままになるということなのかな? 「キーが壊れる」=「キーが書き換わる」なのであれば、そこに任意のキーを書き込むヒントがあったりして・・・?

ちなみに、昨日の2ndの電池なしカートリッジで再度実験してみたところ、一発目は電池切れしたときのような画面化け状態でうまく起動せず、電源を入れ直すと起動するという現象が再現しました。

一発目はこんな状態

電源を入れ直すと起動

ただ、その後は、コンデンサの電荷を抜いたりしても再現してくれませんでした。普通に一発で起動してしまいます。うーん、タイミングの問題?

ところで、色々と実験をする上で、毎回基板からフラッシュメモリを剥がして貼り直すのは流石にしんど過ぎる&破損のリスク大だったりするので、何とかできないものかと調べてみたところ、どうもフラッシュメモリの書き換えに必要な信号は全部カートリッジのコネクタに配線されているっぽいですな。もしかして、PCIのコネクタのついたアダプタを作れば、TL866CSで読み書きできちゃうのかも?これは作らねば・・・。

2020年 3月12日 (木)

基板

とりあえず動かないジョジョの奇妙な冒険 未来への遺産のカートリッジのフラッシュメモリを剥がしてみました。

フラッシュメモリを剥がした

久々のTL866CS用変換アダプタ。

変換アダプタに装着

TL866CSに装着。

TL866CSに装着

とりあえず読めました。

読めた

ストIII 2ndのBIOSを書き込んでみます。

書けた

再度基板にはんだ付けします。

再度はんだ付け

これを2ndのプログラムをロード済みの基板に装着。果たして・・・

2ndに装着

1回目は何か画面化けした状態で起動しなかったものの、電源を入れ直したら起動しました(接触の問題なのか何なのかは不明)。なるほど、確かにストIII 2ndはデフォルトのキーで起動するんですな。あれ、ということは、ストIII 2ndのカートリッジが死んでるケースって存在しないってこと?

起動した

2020年 3月11日 (水)

基板

急激にCPS3に興味が湧いてきたので、どこまで解析が進んでいるのか、MAMEのソースを読んでみました。なるほど、普通に暗号化されたBIOS、そのままデコードして動かせてるんですね・・・。これなら実機でも何とかなりそうな気がしますが、そうはなっていないってことは、やっぱり色々と難しい仕掛けがあるんだろうなぁ。

2020年 3月10日 (火)

基板

TwitterでCPS3の話を振られたのをきっかけに、久々に動かしてみることに。

CPS3を動かしてみよう

ジョジョの奇妙な冒険、最後に動かしたのは7年半前らしいですよ・・・w

最後に動かしたのは2012年らしい

アッー!

起動しない!?

と思ったけど、びびって電圧が下げすぎたせいで起動しなかっただけのようです(汗)。少し電圧を戻してやったら、今度は無事起動してくれました。

電圧上げたら起動した

ついでに、最近(というかこの7年くらいの間?)に手に入れた未チェックのタイトルも見てみたいと思います。まずはウォーザード。これは元々起動しないと言われていたやつです。

ウォーザード

やっぱりダメかぁ。

ウォーザード起動せず

もう1つ。ストIII 2ndです。こっちも確か、ジャンクだったはずなんで期待は・・・

ストIII 2nd

って、生きてるの!?

あれ、生きてる!?

うおー、SIMM、SIMM!どれを挿せばいい!?

何故かたくさんあるSIMM

SIMMを足してやったらCDからのコピーが始まって起動しましたw。すげえ、ラッキー!w

ストIII 2nd起動した!

・・・とかツイートしたら、大御所からこんな情報が。2ndは勝手に生き返るの!?まじっすか!知らなかったw

これを聞いて、俄然CPS3に興味が湧いてきましたよ。ちょっと取り組んじゃおうかな。

2020年3月14日から2020年3月10日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2020年3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ