CPU実験室

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

バスライン観察

ROM読出し信号の接続間違いを修正しプログラムが安定して実行されるようになったのですがまだ変なところがあります。

LEDにはインクリメントデータをラッチしているので上位ビットに行くほど1/2,1/4・・とトグル周波数が下がっていくはずなのに全ビット同じタイミングでON/OFFしています。つまりADDQコマンドが正常に動いていないようです。また相対ジャンプ先のアドレス指定もまだ解決していません。

あらためてLチカプログラムを見直しました

f:id:O3I:20191214175213j:plain

先頭アドレスに念のためCPU内のCFGレジスタを初期化するSETCFG命令を挿入しました。これはFPUやMMUなどの周辺プロセッサの有無を設定しますがあまり意味がなかったかもしれません。つづいてR0レジスタマジックナンバー「0x55」で初期化しておきそのままインクリメントループに入ります。

今回の基板に実装された部品はPLCCやSOPで信号観察のためのプロービングがやりにくいのでまだ未実装のDIP形状の周辺デバイス(NS32202)のソケットから取り出すことにしました。

まずICソケットを実装し、そこに両オスの連結ソケットを亀の子挿入してオスピンを立てます。

f:id:O3I:20191214180123j:plain

これでプローブやグラバが簡単に接続できます

 

f:id:O3I:20191214180534j:plain

ADDQコマンドの先頭アドレスやジャンプ先のディスプレースメントが収納されているのがROM0なのでデータバス(D0~D7)とアドレスバス(A2~A6)と/RDをロジアナで観測しました。

 

f:id:O3I:20191214180927j:plain

データバスは約215kHzで同じパタンを繰り返していて。そのときアドレスバスはA2~A4までしか変化していないのでループしているのは確実ですが、どういうコードをフェッチしているかは細かく見ていかなければなりません