トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第116回]
●[HC139]の動作テスト
また間が空いてしまいました。
納期の迫っている仕事を抱えてしまいますと、なかなかに苦しいです。
[HC139]の動作テストはもう何日も前に済ませて、写真も撮ってあるのですが、それを整理してこのように説明つきでUPしようとしますと、その時間がなくて、間が空いてしまうことになります。
本日はやっとそのうちの1件が片付きました。
でもまだ片付かないで残っている仕事がありますので、細切れ状態の説明はまだ続きそうです。
どうか気長にお付き合いをお願いいたします。
さてその[HC139]の動作テストですが前回説明しましたように、ND80Z3.5の拡張バスコネクタに接続して、ND80Z3.5から[HC139]にアクセスすることでテストを行ないました。
ND80Z3.5と[HC139]とを接続して、[HC139]の左下の丸ピンソケットのところで、G1_にIORD、G2_にA7、C〜AにA2〜A0を接続し、ND80Z3.5でIN A,(00)〜IN A,(07)を実行することで、[HC139]の右上の出力信号用LEDを点灯させることができますから、それを見ることで[HC139]回路が正しく働いているかどうかを判定することができます。
ND80Z3.5(ND80ZVも同じ)はボード上のI/O回路にA7=1のアドレスを使っていますがA7=0のI/Oアドレスは使っていません。
そこで外部にA7=0になるようなアドレスのI/Oを接続すれば、ND80Z3.5(ND80ZV)本体上のI/Oとぶつかることなく、アクセスすることができます。
今回は[HC139]にアドレス00〜07を与えてIN命令を実行し、そのアドレスに対応する出力を見ることにしました。
実際にはA6〜A3は接続されていなくて[HC139]にはそのビットに対応する入力はありませんから、
0XXXX000〜0XXXX111(Xは0または1)のいずれのアドレスでもアクセスされます。
8000 DB00 LP:IN A,(00)
8002 C30080 JP LP
を実行しました。
出力ラインbOのLEDが点灯しています。
8000 DB01 LP:IN A,(01)
8002 C30080 JP LP
を実行しました。
出力ラインbPのLEDが点灯しています。
8000 DB02 LP:IN A,(02)
8002 C30080 JP LP
を実行しました。
出力ラインbQのLEDが点灯しています。
8000 DB03 LP:IN A,(03)
8002 C30080 JP LP
を実行しました。
出力ラインbRのLEDが点灯しています。
8000 DB04 LP:IN A,(04)
8002 C30080 JP LP
を実行しました。
出力ラインbSのLEDが点灯しています。
8000 DB05 LP:IN A,(05)
8002 C30080 JP LP
を実行しました。
出力ラインbTのLEDのみが点灯するはずなのですが、bSのLEDも点灯しています。
どこかで回路がショートしているようです。
しかしひとつ上のDB04では正しく表示されました。
どうも単純なショートではないようです。
原因の追求は後ですることにして、とりあえずはテストを続けることにしました。
8000 DB06 LP:IN A,(06)
8002 C30080 JP LP
を実行しました。
出力ラインbUのLEDが点灯しています。
正しく表示されています。
8000 DB07 LP:IN A,(07)
8002 C30080 JP LP
を実行しました。
出力ラインbVのLEDのみが点灯するはずなのですが、bUのLEDも点灯しています。
さきほどのDB05のときと同じです。
しかしDB04、DB06では異常は発生しませんでした。
これはどうしたことでしょう?
次回はその原因を追求いたします。
トランジスタでCPUをつくろう![第116回]
2015.8.23upload
前へ
次へ
ホームページトップへ戻る