ラインバッファポインタ「$CC14」で躓く ^^;;;

FLEX上でのアスキーファイルのやり取りができるツールをリモート側で全て操作できるように、
改造中のこと・・・・

ファイル名を通信回線からラインバッファにセットしFCBに渡そうとしたところ、ファイル名を
うまく受け取ってくれません。
そこで、仕組みはそのままにINBUFFでキーボードからファイル名を入力してみると正常に動作します。

メモリ内容を直接確認してみると通信回線からラインバッファへのセットはうまくいっている様子。

どうやらファイル名をFCBに渡すためにGETFILを呼ぶ場合、ラインバッファポインタに先頭の文字位置を
渡さなければいけないようで、色々調べると原因が見えてきました。

ラインバッファポインタは2バイトあるようですが、メモリ内容を観察してみると
私のFM-7では上位バイトは$C0固定
下位バイトは$80を先頭にデリミタまでの文字数が入っているようです。

通信回線から入力したファイル名はラインバッファの先頭からセットしているので$80で渡してみると動作ok
なぜ$80なのか、上位は$C0固定なのか、色々不明ですがとりあえずやりたいことはできそうです。

恐らく次回も躓くのでちとメモ・・・

とりあえず使えるものが完成
DSC09551
端末側からコマンドでアップロード、ダウンロード操作が可能なので使いやすくなったような気はするのですが、使ってみると不満も多い^^;;;

ラインバッファへのバックスペース処理やファイルエラー時の処理、ファイル一覧表示なども欲しいし・・・・

しかし優先順位としてはACIA対応かな^^;;;;

ACIAに変更して送信までおk ^^

星光電子 タイプEユニットのACIA1及び2のI/Oアドレスを教えて頂きましたので、8251A用に書いていた通信関係の部分を6850用に変更してみました。

タイプEユニット側のGND配線を少し弄って、RS232CケーブルはMB22406のケーブルをそのまま使用しています。

送信の処理は特に問題なく快調に動作します。

DSC09547

問題は受信関係で、こちらは8251Aのときと同じ仕組みで移植したつもりなのですがいまいちうまくいきません。

1バイト毎にRTSをオン/オフして、8251Aと同じように処理しているはずなのですが、ディスクに保存が始まると送信側でエラーが発生してアップロードが停止します。

思いっきりボーレートを落として確認してみると、保存が始まってもRTSをオンしているようで、8251とはタイミングが違うようです。

続きを読む ACIAに変更して送信までおk ^^