2025年7月29日火曜日

FM-11用に作成したRTC_COMカードをFM-7/77用に移植

 FM-11用に作成したRTC_COMカードをFM-7/77用に移植しました。


FM-7用には以前、RTC_SDカードを作成して使用してきました。
(ブログ「FM-7にRTCとSDを接続する試み(2023年3月9日~5月19日の計6回掲載)」で紹介。)

しかし、カードを筐体の中にセットする機種ではSDの挿入・取り外しが非常に不便でしたので、常用しているFM77系には不向きということでFM-7でのみ使用してきました。
今回、FM-11用を作成する際にはそれを考慮してSDカード用の回路を取り除き、代わりに6850ACIAを用いた通信ポートを設けることにしました。RS232Cを持っている機種もありますが、別途通信ポートがあると便利な場合があると考えたからです。

実際にFM-11用を作成してみて、FM-7系にもあったら良いなと思えてきましたので、FM-7系用として32Pスロットに装着する形でのカードを作成しました。

これが作成したカードです。

FM-7用RTC_COMカード


いつものようにドジをしましたので、基板の修正(パターンカット1箇所、追加配線2本)が必要でしたが、修正して無事に動作しました。


裏面の修正箇所


回路図を示します。
上記の不具合を修正してあります。


回路図(修正済み)



(1)RTCモジュールのドライブソフト


ドライブソフト(RTC_RD2, RTC_WR2, RTC_SET2)はFM-11のF-Basic用に作成したものがそのまま使えます。RTCの時刻の読み出しにはRTC_RD2、RTCへの時刻の設定にはRTC_WR2、F-Basicへの時刻の転送にはRTC_SET2を使用します。

また、F-Basicと並んで良く使用しているOS-9Level2用にも同じ機能の3つのソフト(RtcRd2, RtcWr2, RtcSet2)を作成しました。実際には、F-Basic用に作成したものをOS-9用に移植したということですが、OS-9ではファイル名に「_」を使えないので名称も変更してあります。

F-Basicでの動作の様子は以前のブログで示していますので、ここではOS-9上での動作の様子を示します。
OS-9の起動直後は日付・時刻の設定がされていませんので(バッテリーが上がっている)、date t コマンドを実行するとデタラメな日付・時刻が表示されています。
ここでRtcWr2コマンドを実行して日付・時刻を設定します。このコマンドはRTCモジュールに設定すると同時にOS-9にも設定しますので、再度date tを実行すると設定した日付・時刻になっていることが確認できます。
(2000年問題に対処していないので2025年が1925年になっているのには笑えますが、実用上の不便はありません。)
 

RtcWr2の動作画面


一旦電源を落としてから再度起動すると、やはり日付・時刻がデタラメになっていますが、RTCモジュールはバッテリーバックアップされていますので、設定した値が保存されています。ここでRtcSet2コマンドを実行すると、RTCモジュールに保存されている日付・時刻がOS-9に設定されます。date tでそれが確認できます。



RtcSet2の動作画面


ということで、OS-9のStartupファイルにRtcSet2コマンドを書き込んでおけば、起動時にRTCモジュールの値でOS-9の日付・時刻を設定してくれます。

なお、RtcRd2コマンドは動作画面を示しませんが、RTCモジュールに設定された日付・時刻を読み出して表示するものです。


(2)ExCOM用通信ソフト


COMポートとして追加した6850ACIA(63C50を実装)用の通信ソフトですが、以前のブログにも書きましたが、何故かFT245、8251A、6850の3つの通信経路を一本のソフトで切り替えて使用する方法ではうまく動作しませんでしたので、FM側のソフトをそれぞれを単独のソフトとしFT245DRF(FT245用), FT245DRE(6850のExCOM用)の2本を作成しました。Windows側のソフトはFM-7/77/11に共通のft245drv.exeです。

FT245DRFは従来のソフトと同様ですので、ここではFT245DREの動作画面を示します。


FM側のFT245DREの動作画面(読み込み)



FM側のFT245DREの動作画面(書き込み)



Windows側のft245drv.exeの動作画面


なお、転送速度ですが、FT245カード使用では2Dディスクで1分弱、ExCOMでは5分ほどでしたので、ディスクイメージの転送に使用するのは実用的ではありませんが、このExCOMは以前からFlex9, F-Basic, OS-9, CP/Mで使用しているWindows上の仮想ドライブとのインターフェースに使用したいという目的のために実装したものです。
この場合には、ファイルの送受信が基本になりますので、ExCOMの38400baudでも十分に実用になることを経験しています。
ExCOMを使用したWindows上の仮想ドライブのドライブルーチンができましたら、改めて報告させていただきます。


0 件のコメント:

コメントを投稿