ROMに焼きこんだモニタプログラムはスタートアップ時に80x87検出のために
いくつかのFPUのインストラクションを実行しますが、その後、コマンド待ちのループでは
一切FPUはアクセスしないはずです。
いくつかのFPUのインストラクションを実行しますが、その後、コマンド待ちのループでは
一切FPUはアクセスしないはずです。
ところが387のERROR#信号を見ながらメモリダンプ等のモニタのコマンドを実行させていると
ERROR#がアサートされるときがあります。
気持ちが悪いので387制御信号あたりのタイミングを見てみました
ERROR#がアサートされるときがあります。
気持ちが悪いので387制御信号あたりのタイミングを見てみました
ERROR#の立下りでトリガを掛けると、その少し前のところでA31,A2がHigh、M/IO#がLowで
387がマップされているI/Oをアクセスしようとしているところがあります。
80387はコプロセッサといってもハード的には0x800000F8と0x800000FCにレジスタを持つI/Oなので
ここを叩かれてしまうと想定外のプロトコルとして387がエラーになることは充分考えられます。
W/R信号もハザードっぽいんですがこれらの信号は386-387間でダイレクトに接続されているわけで
パタンの引回しの問題とかファンアウト多すぎで負荷容量が大きいとかかもしれません
しかし200MHzロジアナではこれ以上細かくは見えず。
387がマップされているI/Oをアクセスしようとしているところがあります。
80387はコプロセッサといってもハード的には0x800000F8と0x800000FCにレジスタを持つI/Oなので
ここを叩かれてしまうと想定外のプロトコルとして387がエラーになることは充分考えられます。
W/R信号もハザードっぽいんですがこれらの信号は386-387間でダイレクトに接続されているわけで
パタンの引回しの問題とかファンアウト多すぎで負荷容量が大きいとかかもしれません
しかし200MHzロジアナではこれ以上細かくは見えず。
