楽しみにしていたザイログZ80伝説、到着が待ちきれず先に版元のPDFサービスで読んでしまいました。ザイログ社の伝記では知らなかった話がいっぱい。アンガマンバスのネットワークカード使ったことあったなあ。
 で、書籍の初回特典としてSBCZ80の基板がついてきたので早速組み立ててみたのだけれどもなかなかすんなり行かず結局三週間くらいかかってしまったので以下にトラブルを整理します。

結論としては

(1)ICソケット接触不良x1
(2)SIO-D1のハンダ付け不良x1
(3)IC間違い ×LS175 ○LS157
(4)ICソケット挿入時にピン曲げ

とこれだけのインシデントが発生しておるのです。

2020-08-23 13.30.21

 DRAMとZ80 SIO/2は若松通商から手配、のはずが部品が見つからず出荷遅れ。そこでオレンジピコよりDRAMとZ80 SIO/2を手配し数日で着荷、動作確認。しかし何も応答しない。
 電源とクロック周りの確認。HC4040からCPU、SIO/2にクロックは行っている。RX/TX用のクロックもOK。では定期的に発生しているはずの~RAS、~CASを観測してみると~CASが出ていない。IC10 LS00のソケット接触不良だった(1)。挿し直しで~CASは出るようになった。

→ 手持ちのICソケットが板バネ式の古いものだと酸化して接触不良を起こす可能性がある

 なおもコンソールに応答はないのでSIO周りの配線を再確認。テスタで追っていくとD1にハンダ付け不良を見つけた(2)。

 さて、これでも何も出力されない。調査を簡単にするため、ROMをDRKILLERにする。これはDRAMのウォーミングアップとSIOの初期化、メッセージの出力、リフレッシュ抑止状態でのメモリテストと追いやすい。出るべきメッセージが出ないのはSIO近辺の問題か?そこでSIOに対して~IORQが出ているかどうかを観測。これには自作のジグ、ロジックチェッカーを使用した。これで~IORQのレベルやトリガが発生したかどうかを知ることができる。結果は電源ON/RESET時にSIOに対してアクセスあり、しばらく間を置いてアクセスが数度あり。DRKILLERが動作してメッセージを出しているように思える。
2020-08-29 18.49.17

 →思えばここで(3)の石間違いに気付いていれば動いたのだ。実際はアドレスバスが衝突して変な動きをしていた。

 USBシリアルインターフェースは他のマイコンのボードで動作確認をしてみたがOK。プログラムが動作しているように見えて文字が出力されないので疑いはSIOに向く。しかし確証はない。マルツよりZ80 SIO/0を手配。これに差し替えてみたが現象は変わらず。他のところから手配した半導体が同じように壊れている可能性は低いのでSIO周りの配線を再確認してみたが問題なし。

 そうこうしているうちに他の皆さんは同じ書籍付録の基板を完成させ、動作報告が流れてくる。よし、これはリファレンスとしてもう一枚手配し作ってみよう、ということでオレンジピコより基板を手配し一時間半くらいでハンダ付け、一発で動いた。ん?なんか本末転倒のような気もするぞ。
2020-09-13 19.32.37


 さて1枚めの問題はなんだろうか。2枚めの基板に載っているIC類は動作確認済みとみなせるのでこれをごっそり1枚めの基板に移し替える。(ここで(4)の問題が発生している)

 動作が変わった。なんらかの文字が連続して出る。これはDRKILLERの最初の文字列を表示する箇所と考えると、文字列の先頭番地を示す箇所がおかしくなり、終端の00Hが見つからずいつまでも表示を繰り返しているように思える。DRAMを外して電源を入れると■(FFH)が表示されるので、文字列として指しているのはDRAMの番地。
2020-09-13 20.26.33

 疑うのはアドレス/データバスの断線またはショートだが、すくなくとも0018Hまではコードは動作しているのでbit4~bit0の間になにかがあるはず。しかし導通チェックをやってみても問題なし。
 動作中に基板上のICに対して指で押し圧力をかけると表示される文字が変わる。接触不良が疑われる挙動だがこれは(4)への大きなヒントだった。が、気付いていない。

 制御線とアドレス/データバスがショートしているのだろうか。これ以上調べるのはきつい。では基本に戻って各ICの電源供給を確認してみるか。するとIC8 HC04の電源が約2.5Vと中途半端。目視するとpin14(Vcc)とpin13(GNDに落としてある入力)がよれてショートしていた(3)。2枚目の動作するボードから移し替えるときに曲げてしまったらしい。正しく指し直すと動作した。
IC8の電源とGNDがショートしかかって挙動がおかしくなっている。これはRAS/CASを生成している部分なのでDRAMの制御に影響し、ROMアクセス中でもDRAMがデータを出力しぶつかっていたと考えられる。基板に物理的に圧力をかけて変化するのもピンのショートの状態が微妙に変わっていたからと推測する。

 さて、残りの疑問は2枚目の基板に動くICの載せ替えを行ったら文字が出るようになったことの理由についてだ。もともと挿していた標準ロジックについてはTL866CSの汎用ロジックをテストする機能で動作確認済。それらのICを見ているとセレクタLS157をFF LS175と間違えている!写真で確認したら間違えたまま動かしていた(4)。

スクリーンショット 2020-09-14 0.03.21-a

 今回は不注意と目視確認不足が根本原因だった。配線のショートなどを疑い確認作業にはいる前にまさかとは思ったが電源供給のチェックからやり直したのは正解だった。いったん思考の隘路にはまると遭難一直線となってしまうので風呂にはいる、プラモを作る、ちゃんぽんを食べに行くなどの適切なブレイクを入れるのは重要かもしれない。あ〜動いてよかった。

追記:正常な基板でもDRAMを抜いた状態でDRKILLERを動かすと延々と同じ文字(髑)を出力し続けます。DRAM上のスタックが使えないせい。

ザイログZ80伝説
鈴木哲哉
ラトルズ
2020-08-25