ほかに割込み処理の確認をさぼったボードがないかなぁと考えていたのですが、ありました。これです
このuPD78C10ボードはモニタを搭載したところで満足してしまい、そのままずっとしまい込んでいたのですが今回本当に久々に通電してみました。
ところがどうも動きがおかしいのです。電源ONでモニタは起動するのですがRAM領域の0x2000以降ににプログラムをダウンロードしたり手動でデータを打ち込んでも値が0xFFのままで書き換えができません。ただ例外的に電源ON直後は更新も参照もできる場合があったりして状態も不安定です。
ROMとRAMの/CS(チップセレクト)を観察するとROMの/CSは必要に応じてH/Lが切り替わるのに対しRAMの/CSはHにぴたりと張り付いたまま全く変化していません。これではRAM領域をアクセスしてもセレクトされないので0xFFが返ってしまいます。
ROMの/CSはアドレスバスのA13ラインがそのまま、RAMの/CSはA13をインバータで反転させたものなので、これでは入出力のロジックが合わない、つまりインバータがぶっ壊れているということです。
基板裏面にインバータ(ワンゲートロジック、NAND::TC7S00)がついています
チップを交換しようとハンダ状態をみていたら2入力NANDの片側入力ピンがハンダが不足していて浮いているようだったので少し追いハンダ。念のため起動させたらRAMのアクセス不良が直ってしまいました(上の写真はハンダ補修後)
ここの部分は最初からハンダ不良だったのが作成しばらくはかろうじて接触を保って動作していたのでしょう。今回久しぶりに引っ張り出してきたのですが、その時の振動や経時変化で完全に接触不良になってしまったようです。
接触不良で入力ピンが浮いていても、おそらく電源ON時の過渡状態で高インピーダンスの入力ピンに電荷がチャージされ不安定なH状態となりNANDゲートはインバータとして動作できたのかもしれません。そのうち電荷が放電してしまうとゲートが閉じRAM側の/CSがH固定になったと考えればつじつまが合います。
まずは既存のアプリケーションが動かせるようには復旧しました、