2011年2月11日の日記を表示中
2011年 2月11日 (金)
■ムーンウォーカー
先日,とある方から「ムーンウォーカーで,捕まっている子供の絵のスプライトだけはVDP (System18に搭載されている,メガドライブと同じビデオプロセッサ) が描画しているから,その周辺を調べてみてはどうか」という助言を頂いたので,今日はその辺を中心に調べてみました.
VDPそのものや,それを含めたSystem18のハードウェアに関する情報は,検索したらいくつか見つかりました (こことかこことか).この辺の情報を頼りにロジックプローブを使って追ってみるも,VDPは普通に動いているとか,PLAも機能しているっぽいとか,その辺のことしかわかりませんでした.テストで見る限り,正常そうだしなぁ.
もしかしてムーンウォーカーのPLAが特殊なのかと思い,起動しないムーンウォーカーのマザーボードのPLAとかを移植してみたんですが,315-5373以外は何も変化がありませんでした.315-5373のみ,交換すると画面が映らなくなるという変化があったんですが (同期が取れているけど真っ黒な状態),18番ピンとか19番ピンが常にLだったので,単に壊れているだけのようです (;´Д`)
MAMEでVDP回りのコードを見つけ,一部を無効化することで,現在実機上で起きているのと同じ現象 (子供のグラフィックが救出するまで表示されない状況) を再現することはできましたが,ここからも特にヒントは見つかりませんでした.ぐぬぬ.
念のため,マザーボードをシャドーダンサーのものと交換してみましたが,症状は変わりませんでした.やっぱりサブボード,羊羹,MCUのどこかに不具合があるんだろうか.
以前,シャドーダンサーのサブボードに全ROMを移植して試してNGだったことがあったので,サブボードがおかしいとすると,乗ってるROMそのものに問題があると考えられます.でも,ROMの中身のチェックサムは問題なかったはず.ひょっとして,ROMがシビアなタイミングだと読み出せない? そこで,スプライトのROMを8個ほど,手元にあった27C040に差し替えてみたんですが,何も変わりませんでした.まあ,そりゃそうだよな・・・.
あ,もしかして,マザーやサブボードに足りない部品があったりするのか・・・?と基板の画像を探しているうちに,偶然全然違う情報を発見.そういえば,以前羊羹の電池が弱ると,似たような現象が起こる可能性があるということを聞いたけど,もかして・・・というわけで実験してみたらあっさり解決してしまいました.
えーと,何をやったかというと,羊羹の代わりに普通の68000を挿して,プログラムROMを2個置き換えました.ということは・・・羊羹に問題があったってこと?MAME上でVDPのスプライト描画を切ったら子供が描画されなかったので,やぱりそうっぽいなぁ・・・.
しかしなぜこうなるのかがさっぱりです.羊羹の中のキーがちょっとでも壊れたら,ゲーム自体が全然動かないんじゃないかと思っていたんですが,こんなピンポイントで機能が失われることなんてあるんですかね.あるいは電池が弱ると羊羹の別の部分にも影響があったりするのかな・・・?そして,これは羊羹の電池を交換したら直るのだろうか・・・.まあ,いいや,とりあえず羊羹用の電池を買ってこよう.クラッチヒッターで練習して,ムーンウォーカーとコットンで本番ですね (あとウォーリーw).失うものは特にない気がしていますw
ところでデモを放置しておくとこんな状況になったりするんですが,子供が表示されていると非常にシュールですね・・・(子供を助けないと先に進めないところで,3人のマイケルがどんどん先に進もうとして引っかかっている).
2011年2月11日の日記を表示中
[コメントを書く]