生成画像に黒い筋が入る件、どうしても理由がわからず送出するビットマップを差し替えたり受信側をラインモニタに置き換えて電文をそのまま表示させたりしていたのですがやっと原因がわかりました。
ボード側プログラムの先頭で設定していたi486のキャッシュONをやめたら筋の入らないきれいな画像が得られました。ただし計算時間は17秒で倍ぐらいかかってます
i486に対するキャッシュ制御のための関数は以下のようなものを用意しています。cache_on()/cache=off()はコントロールレジスタCR0のCD(cache disable)ビットのON/OFFを行い、cache_ctr()はキャッシュの外部制御ピンKEN#のH/Lを設定します
さらにメモリはページディレクトリテーブルのPCDビットも関係してこれらのANDでキャッシュが有効になるのですがI/Oに関してはページの概念がないので全アドレスでキャッシュが働いていたようです
シリアルI/Oのステータスレジスタ読み取り時にキャッシュがヒットしてしまうと何が起きるか・・これは容易に想像できます