CPUとNDP周りの構成をブロック図にするとこんな具合になります
CPUとNDPだけでローカルバスを形成し、バスバッファを通してメモリやI/Oにつながるシステムバス
になっています
![イメージ 1](https://cdn-ak.f.st-hatena.com/images/fotolife/O/O3I/20190804/20190804153818.jpg)
この図を見ているうちに気がつきました
CPUがNDPの結果を読み出そうとするとき、これはI/Oからのリードになるのでバスコントローラ82288は
DEN(データイネーブル)をアサートしてバスバッファを開きます。
I/Oがバスバッファより外のシステムバス上にあれば問題ないのですが、NDPはバスバッファより内側の
ローカルバスにあるのでこれではデータバスが衝突してしまいます
修正は簡単でI/OアクセスだけどそれがNDPに対するものであるときに限って
バスバッファを開かなければよいのでNDPのチップセレクトでゲートしてあげれば良さそうです
![イメージ 2](https://cdn-ak.f.st-hatena.com/images/fotolife/O/O3I/20190804/20190804153824.jpg)