8080Aまだ動いてないけど、少しずつ前進しているのでその記録。
1) フリーランを試す。
CPUボードが悪いのかメモリボードが悪いのかさっぱりわからなかったので、まず、メモリーボードを外して、CPUボードをブレッドボードを使ってデータバスを全部pulldownし、NOPを実行するように配線して電源ON.
⇒ アドレスがインクリメントしていることを確認。ということで、メモリーボードがおかしいということがわかった。
2) メモリーボードのチェック。
arduino mega2560 を持っていたので、これで、メモリーチェックをする冶具を作成。
メモリーの読み書きをしてみるとEEPROM 28C256の配線がまちがえている(27256と全く同じ結線ではない)ことに気が付いた。パッチワークをして修正したが、まだおかしい。 EEPROMを外して読み書きをしてみると、SRAMが選択されないアドレスでも読み書きができた。⇒SRAMのCS-が常に0になっていることに気が付いた。フラットパッケージのSRAMのはんだ付けが十分でなかったためと分かり、修正。ROMとRAMが冶具で正しく読み書きできることを確かめた。
3) まだ8251でのシリアル通信ができてない。
IO周りの回路が正しくアドレスデコードできてないかな?割り込みを使わない送信で送れていないから。
ロジアナをつないで、読み書きの様子を調べた(4/23)
アドレスのデコードは問題なし。RESETのタイミングがCPUより後になっていることが分かったので、CPUのRESET信号をBUSの空きピン(12)に持ってきて、8251につないだところ、リセットのタイミングがCPUと同じになった。次のボードは、CPUボードでリセットを制御して、RESET信号をほかのボードに分配するように変更したい。
しかし、相変わらず8251のstatusで TXRDYのビットが0のままだ。端子をチェックしたがCTSも0だしなぜだかわからない。。。(4/23ここまで)