2020年5月24日の日記を表示中
2020年 5月24日 (日)
■基板
これまで、約1ヶ月に渡って、オリジナルのプログラムをデコードして、命令部分のみゼロキーで再エンコードすることで、電池の切れたセキュリティカートリッジでも動作する電池切れ修理の形の確立を目指してあれこれ試行錯誤してきましたが、やはりダメですね、これ。前々からわかっていた話ではありますが、CPS2のフェニックス版と同じで、どこまでやったらオリジナルと同じといい切れるのかが全然わからない。やっぱりこれは自分が目指す修理の形じゃありませんでした。
というわけで、プログラムの解析のことは忘れて、今日からはプログラム中の命令部分の抽出が一切不要な方式、すなわちセキュリティカートリッジ内のCPUをカスタム品から普通のSH-2 (HD6417604SF28) に置き換えるタイプの修理に切り替えてやっていこうと思います。
まずはカスタムCPUを剥がすところから始めましょう。周辺の細かい部品をアルミホイルで保護しつつ、いつもの安物のホットエアで四辺をなぞるように温めて除去。結構綺麗にできました。
次にHD6417604SF28を貼り付けます。こちらは6年半ほど前の米国滞在中に取り寄せた新品です。ついに使うときが来たかという感じw
ブリッジ上等でハンダを盛りまくった後、ハンダ吸い取り線で綺麗にするやり方+細かなチェックと手直しで、何とか貼り替え完了。
続いてBIOSプログラムを書き換えます。これまでの経験で、素のSH-2で動作するBIOSプログラムの作成はもはや朝飯前というか、スクリプトをちょっといじるだけw。バシッと作って焼き込んで・・・
マザーボードに装着して、いざ電源ON!
うおお、起動したぜ!成功です!
それではインストールしてみましょう。デコード済みのCDイメージについても、これまでの経験のお陰で一瞬で作成が完了しました。インストール自体も無事始まりましたが、果たして・・・
うおお、起動した!見事に起動しました!CPU貼り替えのところさえ何とかなれば、後は本当に簡単かつ確実です。
調子にのってもう1枚貼り替えてみました。
こっちは当初、全然動かなくて泣きそうだったんですが、よく見たら、以前実験の際にパターンをカットしたところを繋ぎ忘れていただけでした。修正したらあっさり動作。焦った・・・。
いやしかし、この方法、ハードウェア的な障壁は大きいものの、そこさえ乗り越えてしまえば、その後は簡単極まりないですね。しかもプログラム自体も非常に確実で、オリジナルと異なる余地がありません。うーん、これまでの1ヶ月の苦労は一体・・・w
ちなみに、今回貼り付けた HD6417604SF28は、割と最近、片付けている最中にICトレイごと床に落としてぶちまけてしまったせいで、足が曲がりまくったものだったりします。何とか手で戻せるだけ戻しはしましたが、それでも歪みは取り切れず、結局これのせいではんだ付けでかなり苦労をするはめになりました。
[コメントを書く]
2020年5月24日の日記を表示中
CP2は暗号部(命令実行部)、複合部(データ部)に分かれており、いわゆる不死鳥版は命令実行部だけ複合化することで、キー無し(0xFF)にて動くものだということをなんとなく理解してます。
CP3も同じように分かれていると考えています。
この記事でSH2の交換を交換することで「命令実行部の抽出が不要」というのは、
どういうことになるのでしょうか。
・前提としてC@2と違い、全部分がエンコードされており、全部分のデコードが必要。
・カスタムで動作の場合は、ゼロキーで必要な部分のみ再エンコード"が必要
・ノーマルで動作の場合は、デコードしたままで動作OK
ということなのですかね。
C@2とか名称を記載してしまっているので、問題な場合には
コメントを削除して頂いて構いません。
はい、2個目に記載いただいたコメントの内容であっていると思います。
半年以上前の話で、すでに半分忘れていたため、僕もメモを見ながら
思い出しつつ書いていますが、2nd以外のタイトルはSIMM・BIOSともに、
全命令と全データがエンコードされています。
なので、BIOSの一部領域を除いて、機械的にデコードすることで
生のSH2で動かせるようになります。
一方で、最初から電池切れしたのと同じ状態で動作している2ndについては、
BIOSは命令とデータの両方がエンコードされていますが、SIMMの方は
命令しかエンコードされていません。なので、2ndと同じように、
電池切れした状態で他のタイトルを動かせるようにするには、
いったん命令とデータを全部デコードしたうえで、
命令部分だけ選んで2ndと同じようにゼロキーでエンコードする
必要があります。
おそらくは、カスタムチップは、エンコードされている命令のアドレス範囲と
データのアドレス範囲を個別に設定として保持できるようになっていて、
2nd以外のタイトルは、それがSIMMまで含めたアドレス範囲に設定されているものと
推測しています。
2ndのお話まで詳しくありがとうございます。もやっとしてた箇所が理解できそうです。
BIOSまでエンコードの話が及ぶとは知りませんでした。CPS3は難しいですね…
カスタムチップからエンコードアドレス範囲を読み取れるようになれば、
完全なデコードが可能という訳ですね。期待です!