CPU実験室

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

デバッグ開始

通電後、一定時間経つとCPUがロックする件はCPUのPGAソケットのハンダを少し追加したら何故か直りました。
おそらくRESETやREADYのような入力信号線が接触不良で浮いていて一定時間、
そのOPENのピンに漏れ電流でチャージ/放電すると機能/機能停止していたのかもしれません
PGAパッケージはソケットに挿してしまうとCPUの「生足」に触れられないので導通チェックができないのが辛いところです
 
気を取り直してデバッグ再開です
先ずはROMに最小プログラムとしてリセットベクタFFFF0に以下のコードを置きます
 
    FFFF0: EB FE   JMP $
 
自身のアドレスへの最小ループなのでデータバスはE8FE固定、アドレスバスはFFFF0→FFFF1でループするはずですが、ROMに焼きこんで実行したところバスがむちゃくちゃな動きをしていて明らかに暴走しています
 
  
 
イメージ 1
 
 
おそらくROMからコードをフェッチできていないのだと思いますが
ROM制御周りにロジックアナライザを接続してみました
 
 
 
イメージ 2
 
 
 
リセット信号解除でトリガをかけたCPU起動直後0~4000nsの状態です
A19~A16はHになっていておそらくリセットベクタに飛んでいると思われ、そこからCPUはメモリリードを出してコードのフェッチを開始しようとしているのですが、
ここでアクティブになるはずの/ROMCSがHのままでROMがセレクトされていません
 /ROMCSを生成するGAL上のロジックは/ROMCS=/(A19*A18)という非常に簡単なもので明らかにGALの出力が変です
 
というかこのGALを焼いたのは手製のGALライタなわけで・・・
ここに問題があるとすると当たりが大きそうです。