2018年5月1日火曜日

【修理】System GX【4枚目】

ジャンクの沙羅曼蛇2とセットでお安く入手。たまにしか起動せず、起動してもキャラ化けが酷いとの事で、まぁ起動するなら大怪我ではあるまい、と踏んで甘くみておりました。とりあえず手元で試した限りでは画面まっくらで何も表示されません。というか同期信号すら出てきてない。という事で王道に従いmameのソース(konamigx.cpp)見つつ修理。まだ未解決だけど、とりあえずログ。コメント歓迎。

最初に疑ったのがソケットに刺さったサウンドプログラム用EEPROM。9cのほうに変な力がかかって斜めによれて全部の足が曲がってた。これならいいなー、と思って直してみたけど世の中そんなに甘くなかった。あとソケットのROMは念の為読んでみて既知のCRC/SHA1と一致する事は確認した。

次に疑ったのがカスタムのセキュリティチップ。これが死んでたら or 壊したら、もう直せないやつ(笑)。いっきにハードになった。
写真左上のピン5本くらいが、若干錆びて相互に接触してる雰囲気を醸し出してるんですよね。この子はDMAでスプライトの並び替えとかまでやらかすので、足がショートしてたらキャラ化けとか確かにありそう。という事で、ループで眺めながらピンセットで足元の掃除。最後に最近使い始めたヒートガン的なもので軽くハンダを溶かして再固定。テスターで周辺のピンとの接続、隣接ピンがショートしてない事を確認。

……でも変化なし……

で、とりあえずプログラムROMの足をロジアナで調べて、どこで止まってるか見てみようと思ったら……アドレス線が0に張り付いたまま動かない。どうもメインCPUが起きてきてない模様。サブボードからそんな事できるんだ……セキュリティチップかサウンドCPUが初期化後にリセット解除するのかなぁ……的な想像だけど不明。でも、ダメ元でサウンドプログラムROMを引っこ抜いて起動を試みる。
やった!ちなみに沙羅曼蛇2は画面信号が出てROMチェックが始まるまでに5秒弱かかり、他のサブボードと比べるとかなり遅め。この画面をじっと見つめると、文字コードに0x08がORされてる事がわかる。一行目がROM RAM CHECKなので、RがZ、AがIとか対応はすぐわかるはず。

これが元所有者の言うキャラ化けだとしたら、スプライト(セキュリティチップ)は問題なさそう。おそらくタイルを読み出すアドレス線が上位のほうで浮いてるんだろうと推測して、プルダウン抵抗片手に17h、15h、13cの足を調べてみる。と、17h、15hの3番ピン、13cの4番ピンを落とすとZがRに戻った(文字コードに0xF7でANDとってる事になるので、別の文字が一部化ける事になるけど問題なし)。ピン配列同じはずのROMのうち、13cだけピンが違うのは、おそらく他のが16-bitsでこいつだけ8-bitsで使ってるから。

でこのピンから出てる配線を追って裏面、表面といったりきたりしたら、何もないつきあたりで線が途絶えてた。
下のラダー抵抗の上に(DH)って文字があると思うけど、その「(」と「D」の間の部分。汚れを削ったら下からviaらしき穴が……。なんかラダー抵抗も汚れてるし、この部分になんらかのダメージがあった可能性が高いなー。本来、この行き止まりの配線はvia越しにラダー抵抗に繋がって、その先で(DH)の文字上部裏側にあるコネクタに接続されていた模様。ピン的には「(」のすぐ上の部品面からは配線されていないピンがそれ。
という事で、ひとまずコネクタとEEPROMの足をショートさせてみる。うまくいくようなら、後でハンダ付け配線。
やった!キャラ化けに関しては解決!後半のBADはサウンドのROMを抜いてるせいですね。サウンドROMは刺すとやっぱりメインCPUが起きてこないので、まだ別箇所に似たような問題があると推測。ひとまず疲れたので記録だけとって次号にコンティニュー。

0 件のコメント: