HC-20の修理その2
- 2010/11/30 12:51
- カテゴリー:マニアックなおはなし
HC-20の修理状況です。
Vcの電圧が正常に出るようになったところからのお話です。
データバスとアドレスバスの波形をオシロスコープで眺めていると,データバスの波形で,0Vと5Vの間の中間の電圧を取っている時間があることに気付きました。階段状に何段も出てくる部分もあります。
写真左側のLowの波形をご覧下さい。Lowが0Vまで落ちきっておらず,0.7Vくらいの電圧を持っています。そこからHighになりたいのでしょうが,2.7Vくらいで一度上昇がとまり,そこからよいしょ,と5Vまで上昇しています。
右側のLowの波形はきれいですね。どちらかがデータ,もう一方がアドレスを示すのですが,どちらが異常でどちらが正常かは,波形だけではわかりません。タイミングを見ると左がアドレス,右がデータではないかと思うのですが,他の波形を一緒にみないといけないですね。
以前にも書きましたが,HC-20におけるメインCPUのバスは,マルチプレクスされたモードで動いていますので,データバスにはデータとアドレスの両方がのります。アドレスはDラッチでASによってラッチされ,分離されます。
データはそのまま分離されずアドレスと一緒にバスに乗りますが,アドレスもデータも確定したところでEクロックがHighになるので,CPUなりメモリは,このタイミングでデータを取り込むなり吐き出すなりすればよいわけです。
こういう波形が出てくるというのは,バスの出力の衝突です。
原因はいろいろ考えられます。基板のパターンがショートして,隣のバスラインとくっついてしまったとか,バスにぶら下がっているICが破損し,ショートしてしまったとか,入出力を持つICの,データの方向を切り替える仕組みが壊れてしまって衝突しているとか,とにかく出力がぶつかっているということです。
この時代の,しかもこの速度のコンピュータですから,中間電位が出てきて正常ということはありません。むしろ動かない状態にあることが正しいといってもいいでしょう。
そこで,この階段状の波形の原因を突き止めることにしました。すくなくとも,これが出ている内は,絶対に直らないと考えたからです。
まずバスのショートを確認します。1本1本データバスにテスタをあてて,抵抗値の下がっている部分を探していきますが,これは問題なし。どれも500kΩ以上の抵抗でセパレートされています。
そうなると今度はICの故障かも知れませんね。
と気軽にいいますが,バスラインにぶら下がってるICというのは貴重なものが多いのです。筆頭はマスクROMですが,これはソケットに刺さってますので,外して確かめれば,原因かどうかははっきりします。
果たして,原因はマスクROMではありませんでした。
次にソケットが使われているのは,RTCのMC146818です。これは初代IBM-PCで,CMOSと呼ばれた部品です。当時CMOSでバッテリバックアップが可能なデバイスというのはまだ珍しく,小容量のSRAMとRTCを組み合わせたこのデバイスを,CMOSと呼ぶことは自然な事であったのです。
これをソケットから外しましたが,波形には相変わらず階段状の波形がでています。これが原因ではなかったようです。(しかし良品であるという話でもありません)
ならばSRAMだろうか,と,SRAMを8つ全部,ハンダ付けを外しました。これはかなり勇気のいることで,基板の破損も怖いし,手間もかかります。
そこで,これを256kビットのSRAMに交換して,32kByteにすることを計画し,現在使われている16kビットのSRAMは全て外すことにしました。
さて,取り外したのはいいのですが,やはり中間電位を取り,階段波形がバスラインにのります。そうなると,他のICを疑う必要が出てきます。
まだ他のICを試せていませんが,その前に,今回測定した波形と一緒に,Eクロックやラッチされたあとのアドレスバスの波形を観測し,それらの時間関係を確認すれば,この衝突した波形がアドレスなのかデータなのか知る事が出来るでしょう。そうするともっと原因を絞り込める様に思います。
時間は以前よりもあるように思うのですが,やはり一人暮らしと違って自分勝手に過ごすというのは難しいのが現実です。そうこうしているうちに,この勝利に対する興味や熱意を失ってしまうことを,私は密かに恐れています。
