CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

データバス負荷

 
ROMの先頭番地にテスト用のコードJMP$(C3/00/00)を書込み、アドレスバスやデータバスが正しく遷移するか見ています
 
CPUからのコードフェッチが正常であれば、アドレスは0~2番地でループするので
アドレスバスのA0とA1しか変化しないはず。
データバスには「11000011/00000000/00000000」が繰り返し乗るのでD0,D1,D6,D7が0/1の変化D2~D5が0固定になるはずです。ところが実機ではバスがむちゃくちゃな動きをしていてコード自体がROMから読めていないようで、ぶらさがっているペリフェラルによりデータバスの負荷が重い可能性もあります。
ROM、RAM、YM2203、8279、8253、8259、8251、LCDとワンボードとはいえペリフェラルが多いのでバスバッファは付けておくべきでした。
 
今となっては仕方がないのでCPUを元に戻したり80C85をつけたり、関係ないと思いますがアドレスラッチをTTLにしたりCMOSにしたりと交換しているうち、何かのはずみで動いたりと不安定です
 
 
イメージ 1
 
 
上のパタンはアドレスラッチに74AC573を付けています・・・(これは動かず)
 ところで動作とは関係ありませんが上の写真でGAL16V8と74AC573がぴっちり横に並んでいます。双方20ピンなのですが実はパッケージ同士が干渉して573の方はソケットに完全に差し込めず少し浮いています。パッケージのモールド部分の長さなんて普通は気にとめませんが密着させて並べるときは要注意です。
 
似ている例で下の図は以前作った6809ボードの作成中の写真ですが、中央のPLCCソケットと両隣のICモールドがギリギリなのが判るでしょうか
 
 
 
イメージ 2
 
 
左側のSRAMはそれでも何とか差し込めているのですが右側のタイマーIC、MC68B40はアウトでした。PLCCソケットがICのモールドにぶつかってしまい、差し込むことすらできません
 
・・で、どうしたかというと
 
 
イメージ 3
 
 
モールドやすってます。。。
挿入できるようになるまで削ったら、モールドの中のリードフレームが出てきてしまいました